Typowane zagadnienia jakie mogą pojawić się na egzaminie: wykład 1



Podobne dokumenty
1. Protokoły. Co programy wykorzystują do komunikacji przez sieć? wykorzystują protokoły komunikacyjne

rk HTML 4 a 5 różnice

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

Programowanie w Internecie

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Wybrane działy Informatyki Stosowanej

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Programowanie współbieżne i rozproszone

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Protokoły sieciowe - TCP/IP

Dr Michał Tanaś(

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Instrukcja konfiguracji funkcji skanowania

Model sieci OSI, protokoły sieciowe, adresy IP

Zaawansowany kurs języka Python

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Sieci komputerowe. Wykład 7: Warstwa zastosowań: DNS, FTP, HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Adres IP

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Programowanie internetowe

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

1. W protokole http w ogólnym przypadku elementy odpowiedzi mają: a) Postać tekstu b) Postać HTML c) Zarówno a i b 2. W usłudze DNS odpowiedź

Instrukcja laboratoryjna

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury

Programowanie współbieżne i rozproszone

Języki programowania wysokiego poziomu WWW

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Programowanie Sieciowe 1

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

Programowanie Komponentowe WebAPI

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

1. Model klient-serwer

TIN Techniki Internetowe zima

Bazy Danych i Usługi Sieciowe

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.

Wybrane działy Informatyki Stosowanej

XHTML2 i HTML5 Przyszłość WWW oparta o nowe standardy sieciowe HTML5 i XHTML2

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Moduł Ethernetowy. instrukcja obsługi. Spis treści

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

Orange Send MMS. Autoryzacja. Metoda HTTP. Parametry wywołania. API wyślij MMS dostarcza wiadomości MMS. Basic POST

OpenLaszlo. OpenLaszlo

Informatyzacja Przedsiębiorstw

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Informatyzacja Przedsiębiorstw

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

PHP: bloki kodu, tablice, obiekty i formularze

Platformy Programistyczne Zagadnienia sieciowe i wątki

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Aplikacje WWW Wprowadzenie

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Przewodnik użytkownika (instrukcja) AutoMagicTest

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Platformy Technologiczne

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

Wymagania edukacyjne: Statyczne witryny internetowe (na podstawie programu nr )

Zadanie programistyczne nr 3 z Sieci komputerowych

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

4. Podstawowa konfiguracja

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

PHP: bazy danych, SQL, AJAX i JSON

Dokumentacja SMS przez FTP

Laboratorium - Obserwacja procesu tłumaczenia nazw DNS

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

Paweł Rajba

Baza danych sql. 1. Wprowadzenie

Zaawansowany kurs języka Python

Klient-Serwer Komunikacja przy pomocy gniazd

Szczegółowy opis zamówienia:

Stos TCP/IP. Warstwa aplikacji cz.2

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 14 Protokoły sieciowe

Tomasz Greszata - Koszalin

HTML 5 język wykorzystywany do tworzenia i prezentowania stron internetowych www. Jest

Sieci komputerowe i bazy danych

Modele danych walidacja widoki zorientowane na model

System operacyjny Linux

Django : praktyczne tworzenie aplikacji sieciowych / Antonio Mele. Gliwice, cop Spis treści

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Terytorialna analiza danych

Krótka instrukcja instalacji

Sieci komputerowe. Wstęp

Transkrypt:

Typowane zagadnienia jakie mogą pojawić się na egzaminie: wykład 1 Internety(Internet ;p), globalna sieć komputerowa korzystająca ze stosu protokołów TCP/IP protokół komunikacyjny zestaw ustalonych reguł do komuniacji programów przez sieć Prookoły warstey aplikacyjnej: (służą do definiowania semantyki komunikatow) HTTP Hypertext Transfer Protocol FTP File Mail Transfer Protocol SMTP Simple Mail Transfer Protocol POP3 Post Office Protocol v 3 HTTP wykorzystywany do: a) komunikacji między przglądarką a serwerem www; (ewolucja: od udostępniania statycznych dokumentow do bogatych aplikacji internetowych) b)komunikacji między fragmentami oprogramowania po sronie serwera, protokół jest wówczas nośnikiem dla zdalnych wywołań opracji typu RPC, mowimy wowczas o Web Services Sockets (Gniazda) API systemowe do korzystaniaz TCP, IP, UDP, Socket jest jednoznacznie identyfikowany przz adres IP, protokół end to end(tcp/ip) i port Sockety strumieniowe TCP Sochety datagramowe UDP TCP/IP w jego skłąd wchodza TCP, IP, UDP IP host to host, zajmuje się każdym pakietem osobno, jest best effort nie gwarantuje dostarczenia pakietu, moze się zduplikować, zgubić dostarczyć dane w zmienionej kolejności. IP określa jednoznacznie interfejs sieciowy. Operuje na adresach (liczba binarnych). Nazwa hosta (np.host.example.com) łątwiejsza do zapamiętania, warstwa izolująca użytkowników od amian adresu IP. TCP, UDP end to end, TCP musi najpierw musi nawiazać polaczenie (wymiana komuikatów uścisku dłoni )przed wymianą danych (handshake), UDP best effort IPv4 32 bity, adresy w postaci dotted quad 4 bajty jako liczby 0 255 oddzielone kropkami IPv6 128 bitów 16 bajtów oddzielonych dwukropkiem, zapisane szestnastkowo bazy lokalne i rozproszona baza danych DNS protokół warstwy aplikacyjnej (korzystający z TCP/IP tłumaczący nazwy domen na adresy IP) Port szesnasto bitowa liczba bez znaku z zakresu 1 65535, osobno dla TCP i UDP. Porty przypisuje się do aplikacji (zajmuje się tym organizacja IANA) Np. 21 i 20 to porty wykorzystywane przez FTP. JAVA I ZUO: InetAdress klasa ta reprezentuje adres w sieci(domenowy lub IP) NetworkInterface reprezentuje interfejs sieciowy Klasy dla komunikacji TCP: Socket ServerSocket u serwera, tworzy instancje Socket do obsługi połączeń

Metody read i write, TCP nie zachowuje rozmiaru komunikatów. Strumienie: OutputStrem strumień dancch binarnych do wysłania, klasa abstrakcyjne InputStream Ograniczenie TCP/IP dane są wysyłane w pakietach o rozmiarze będącym wielokrotnością 8 bitów. Framing ramkowanie aby zapobiec deadlockom i błędom protokołu: delimiter based specjalny symbol, który nie może się pojawić w komunikacie, oznacza koniec komunikatu explicit length na początku komunikatu na stałej ilośći bajtów zapisany jest rozmiar jego dalszej części HTTP implementuje obie techniki. HTTP żądanie Połączenie TCP w protokole HTTP otwiera klient. Ządanie składa się z : linii żądania zakońćzonej CRLF dowolnej ilości nagłówków, kazdy zakońćzony CRLF pustej linii CRLF (ale może miec też treść) ewentualna treść, tu musi byc też podana jej długośc, za pomocą Content length HTTP odpowiedź linia statusu zakończona CRLF dowolna ilość nagłówków, każcy zakońćzony CRLF pustej linii CRLF (ale może miec też treść) ewentualna treść, tu musi byc też podana jej długośc, za pomocą Content length lub zamknięcia połaczenia oznaczony koniec. W TCP każdy moze zamknąć połączenie. W HTTP klient lub serwer. Współbieżność serwera: Dwa podejścia: client per thread nowy wątek dla kazdego klienta thread pool (klient dostaje wątek z puli lub czeka) Executor lepszy niez reczna implementacja wątków. AtomicLong do synchronizacji. wykład 2 java i bazy danych? bleble Java Database Connectivity (JDBC) Przykłady klas: DriverManager, Connection(jest domyslnie w trybie autocommit) konstrukcja tr with resources DAO data access object, wrzozec projektowy używany jako fasada do jdbc,

pipeline klient moze tym samym połaczeniem wysłąc kilka żądań nie czekając na odpowiedź. Serwer musi w takiej samej kolejnosćie je odsyłać. wykład 4 (do zrobienia od slajdu 64 <DWR>) różnice w XHTML i HTML XHTML nie definiuje żadnych nowych elementów, jest identyczny z HTML 4.01 HTML 4,01/5 powińen być wysyłany jako text/html a XHTML jako application/xhtml+xml zasady w XHTML są bardziej surowe znaczniki i atrybuty muszą być psiane małymi literami wszystkie elementy muszą być zakończone atrybuty w cudzysłowiach(lub w apostrofach) każdy atrybut musi mieć nazwęi wartość bardziej surowe zasady zagnieżdżania (np <a> nie może być w <a>) znaki < > & muszą być reprezentowane przez encje (nawer jeżeli są w wartościach atrybutów) w XHTML w niektórych znacznikach (np <a> <form> <img> <map>) nie należy używać atrybutu name (zamiast niego id) zalety HTML zalety XHTML MIME (tego pewnie nie bedzie) w jakim nagłówku jest przesyłany MIME? jakie są wersje HTML 4.01 jest bardziej zwięzły nie ma tak ścisłych wymagań składni jest bardziej przenośny łatwiejszy w parsowaniu HTML text/html XHTML application/xhtml+xml obrazki image/gif, image/jpeg, image/png, image/svg+xml PDF application/pdf Adobe Flash application/x schockwave flash MP3 audio/mpeg Windows Media video/x ms wmv, audio/x ms wma w nagłówku HTTP Content Type strict nie zawiera elementów i atrybutów ze

starszych wersji transitional zawiera wszsyrtkie elementy i atrybuty ze starszych wersji frameset dla struktury dokumentu opartej na ramkach cechy HTML 5 nie wymaga aby kod HTML był dobrze uformowanym XMLem (cokolwiek to oznacza) dużo wymogów dotyczących poprawnosci dokumentów i ich dokładniejsze sprawdzanie możliwość zastosowania narzędzi pochodzących z xml (np XPath, XSLT) wspardzie przestrzeni nazw brak wersji (strict, frameset, transitional) dobrze tolerowany przez starsze przeglądarki nowości w HTML 5 nowe znaczniki do tworzenia struktury: hgroup figure, figcaption dialog, dt, dd mark time details dodatkowe informacje o divach: section article aside header footer nav figure nowe atrybuty datetime datetime local date month week time

number range email url contenteditable contextmenu draggable irrelevant repeat repeat start repeat min repeat max zmiany w użyciu niektórych istniejących atrybutów small i usunięcie niektórych atrybutów frame baza danych w przeglądarce LocalStorage SessionStorage rysowanie w przeglądarce canvas filmy w przeglądarce video formularze placeholder autofocus co to jest plik DTD? co to jest quirks mode w przeglądarce? co znajduje się w dokumencie? [CSS] do czego służą punkty zaczepienia (haki)? [CSS] w jaki sposób odwołujemy siędo id a w jaki do klasy? CSS (Document Type Definition) zawiera reguły do walidacji dokumentu przeglądarka przechodzi w ten tryb kiedy napotka błąd przy przetwarzaniu dokumentu Treść Struktura (znaczniki) Prezentacja (css) Zachowanie (skrypty) służą do dołączenia stylu CSS do elementu do id odwołujemy się przez #, a do klasy przez. id powinno być unikatowe w dokumencie, class może się powtarzać, dodatkowo w

atrybucie class może być kilka wartości odzielonych spacją style związane z czcionką, tekstem i kolorem są dziedziczone model pudełka w css 2.1: rozmiary pudełek obliczane są poprzez dodawanie wszystkich rozmiarów (np dla szerokosci padding+margin+width zawartosci+border) [CSS] układ strony float wymusza aby element był doklejony do marginesu clear wymusza aby element był pod poprzedzającym go elementem mającym właściwość float margin czyści obszar dookoła elementu (można niezależnie ustalić margines z każdej strony) margines nie ma koloru padding czyści obszar dookoła zawartości, korzysta z koloru tła zawartości [CSS3] nowości czym jest jquery? do czego może służyć jquery? [jquery] selektory selektory cienie napisów (txt shadow) zaokrąglone roki bez użycia grafik gradienty bez użycia grafik zmiana koloru zaznaczenia przezroczystość elementów jest biblioteką JavaScriptową przetwarzanie atrybutów elementów manipulowanie elementami zmiana stylu elementów obsługa zdarzeń animacje możliwość wykonywania zapytań AJAX (asynchroniczne zapytania) $( #id ) $(.class ) $( element ) $( [attribute] ) $( [attribute= value ] )

$( [attribute!= value ] ) $( [attribute$= value ] ) wszystko co kończy się na value $( [attribute^= value ] ) wszystko co zaczyna się na value $( [attribute*= value ] ) wszystko co zawiera value wyklad 7 (Django jakis ciąg dalszy) ale bezsens tłumaczy jak pisać django. nie wiem co pisac Modele tworzone w models.py, polecenie: python manage.py syncdb Istnieją rozne typ pól modeli np. TextField(), FileField()... W modelach można ustawić klucz główny, jesli tego nie zrobimy django samo ustawi domyślnie pole id typu AutoField() (jest to liczba całkowita autoinkrementrowana.) Można ustawić unique = True MOżna tworzyć relacje między obiektami w inncyh pakietach (aplikacjach), wtedy tworzymy przy ForeignKey piszemy np. app.author. Nie musimy używać join Można zdefiniować relacje wiele do wielu. Pole objects w klasie modelu jest tzw. menedżerem biektów (klasa Manager), służy do wyszukiwania rekordów. Inne podejsćie do baz danych: DAO Data Access Object, nie zakłdada nawet ze źródłem jest SQLowa baza danych. Można ograniczać relacje i dziedziczyć. Klasa Manager przypiana do klasy modelu jako atrybut objects, : Metody: all, filter, exclude, get exclude odwrotnosć filter zwraca rekordy nie spełniejące żadnych kryteriów get wyszukuje w kluczu głównym Klasa QuerySet reprezentuje listę egzemplarzy klas modeli zgodą z kryteriami. MOżna podawać obiektom tej klasy parametry słów kluczowych, np.(startswith, endswith, contains, gt, in...) QuerySet ma takei same metody jak Manager. Fikstury pliki w formacie takim jak XML, JSON lub YAML zawierające dane, któe mają być dodane do bazy. Syncdb (lub reset) przeszukuje podkatalog fixtures i aplikacji i tworząc tabelę dodaje od razu rekordy w plikach initial_data.json (lub.xml,.yaml) Klasa HttpRequest (jej obiekt jest przekazywany do funkcji widoku) i HttpResponse

(zwracany w funkcji widoku) Obiekt request ma pola GET i POST typu QueryDict request.cookies odzytujemy i dodajemy parametry GET, POST tylko odczytujemy Inne Atrybuty żądania: path ścieżka w url method metoda w HTTP (np.get) encoding sposob kodowania danych w żądaniu FILES słownik zawierający pliki przysysłane w żądaniu META słownik zawieracjący nagłówki HTTP user biekt uwierzytelnienia (dla HTTP) raw_post_data nieprzetworzona postać zadania post Warstwa pośrednicząca odpowiednik filtrów a Servlet API, jej klasy powinny być w krotce MIDDLEWARE_CLASSES w setings.py koncepcja duck typing klasy nie muszą po niczym dziedziczyć, tylko mieć metody o określonych nazwach, używany polimorfizm URLconf. wywołuje metody warstwy pośredniczacej żądanie Istnieją widoki generyczne i półgeneryczne. Obiekt kontekstu to słownik przekazany z widoku do szablonu, musi zawierać dane będące dynamiczną cząścią generowanej strony. Składnia Szablonów: {{klucz_zmiennej}} wypisanie wartości zmiennej {%polecenie%} wykonanie polecenia Filtry szablonów: {{string lower}} {{string escape}} {{person.isavaliable yesno: Tak, Nie }} Filtr yesno pobiera boolean i wypisuje odpowiedni tekst. Formularze tu lepiej otworzyć wykład ;p, s.36 wykład 8 (same bzdury o.o) jetty

war format aplikacji webowych ktore tworzy java(można ręcznie) mniej ważne rzeczy:nazwa wara to contextpath w url, port ustawiany jest w start.d/http.ini architektura jetty: Threadpool pula wątkow zarządzana przez serwer Connector conectory to są obiekty służące do akceptowania połaczeń Handler handlery obiekty służące do obsługi żądań powyższe rzeczy na rysunku łączą się z serwerem;p wpis środowiskowy stała zdefiniowana dla całego serwera(moze byc typu String, Integer, Float, Double, Long Short, Character, Byte, Boolean). Wpisy środowiskowe i rozne zasoby mozna wiązać w usłudze nazewniczej jndi(jest w domyślnej konfiguracji serwera, jak nie to trzeba skonfigurować w jetty.xml) Sterowniki MySql wystarczy wgrać jako jar. jdbc DataSource tworzymy zasob i referencję do niego wiążemy w kontekscie jettiego robi się to jako wpis w piku konfiguracyjnym jettyego, w przypadku zasobu musimy dodać też wpis do web.xml Z zasobu korzystamy nie w serwlecie tylko klasie DAO. apache dbcp(database connection pool) biblioteka służąca do korzystania z puli połączeń (bez tego na każde getconnection() tworzone jest nowe połaczenie) Aby aplikacja mogła korzystać z jakiegoś zasobu należy dodać wpis o nim w web.xml KOnfiguracja xml ma swoje odpowiedniki w kodzie java Wykład 9 (maven :( ) Co to jest maven? Repozytorium jarow Co to jest archetyp? jaki archetyp służy do aplikacji webowych? jest to narzędzie do zarządzania projektami i bibliotekami Maven może pobierać brakujące biblioteki z repozytorium archetyp to struktura projektu w mavenie (można go utworzyćpoleceniem mvn archetype:generate) maven archetype webapp jakie polecenie służy do budowania aplikacji w mavenie? mvn clean install jakim poleceniem można odpalić aplikację jetty? czym jest plik pom.xml? mvn jetty:run jest to makefile dla mavena

struktura projektu folder main/java zaiwera klasy javowe folder webapp znajdują się pliki jsp i inne zasoby które mają być umieszczone w warze w folderze webapp folder resource służy do testów w jakim pliku należy skonfigurować JNDI JNDI powinno być skonfigurowane w pliku jetty.xml, możliwe jest też umieszczenie konfiguracji w pliku pom.xml co to jest pull based?