| Size: 7902 Comment:  | Size: 6893 Comment:  | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 4: | Line 4: | 
| = Domáce zadanie na 1. cviko = [[attachment:cviko1.pdf]] = Zadanie na 2. cviko = [[attachment:zadanie2.pdf]] | |
| Line 25: | Line 16: | 
| <<Pozor>> Druhé skúšobné počítačové cvičenie bude 28.11.2011. Budete písať cgi skript, ktorý bude mať za úlohu zobrazenie nejakého webového formulára, načítanie údajov z neho a uloženie údajov v textovej podobe do nejakého súboru na disku. Spôsob fungovania má byť taký, ako bolo odprednášané: zobrazenie prázdneho formulára v GET vetve a spracovanie údajov v POST vetve toho istého skriptu. Môžete a máte používať modul `cgi`. V repozitári je niekoľko skriptov vypisujúcich a spracujúcich formuláre, skript `sincos.py` z prednášky som dotiahol do konca. Na cvičení vám potom budem špecifikovať formulár a požadovaný tvar, v ktorom treba zapísať údaje. <<Pohov>> | |
| Line 134: | Line 112: | 
| a. Princípy fungovania TCP protokolu, emulácia spoľahlivého spájaného prenosu cez IP. | |
| Line 137: | Line 114: | 
| a. Pokročilé aspekty HTTP - cookies, autorizácia. 1. Budem chcieť navrhnúť a ústne obhájiť nejaký aplikačný protokol. Podrobnosti toho, ako si to predstavujem, poviem na prednáške. | a. Pokročilé aspekty HTTP - cookies, etag, presmerovanie, if-modified-since a. Javascript, JQuery, AJAXä 1. Budem chcieť navrhnúť a ústne obhájiť nejaký aplikačný protokol. | 
| Line 140: | Line 118: | 
| === Príklad zadania na skúšku z roku 2010 === | === Príklad zadania na skúšku z rokov 2010,2011 === | 
| Line 142: | Line 120: | 
| [[attachment:skuska_2010.pdf]] | [[attachment:skuska_2010.pdf]] [[attachment:skuska_2011.pdf]] | 
| Line 148: | Line 126: | 
| === Generický repozitár pre python, html, css === | |
| Line 150: | Line 130: | 
| === Stiahnuť všetko naraz ako zip === | === Programy, ktoré píšem live na prednáškach v roku 2012 === | 
| Line 152: | Line 132: | 
| http://bitbucket.org/gjenca/python_vyuka_public/get/tip.zip | Na bitbucket.org: http://bitbucket.org/gjenca/ps2013 | 
| Line 154: | Line 134: | 
| alebo (s inštalovaným mercurialom) príkazom | === Globálny repozitár pre OS a PS == | 
| Line 156: | Line 136: | 
| {{{ hg clone http://bitbucket.org/gjenca/python_vyuka_public/ }}} Ak už máte raz stiahnuté dáta pomocou {{{hg clone}}}, stačí už len v adresári projektu napísať {{{ hg pull hg update }}}. V prípade, že sa mercurial pri príkaze {{{update}}} sťažuje na konflikty, znamená to, že ste niečo zmenili v pracovnom adresári. Vtedy treba napísať {{{ hg update -C }}} | Na bitbucket.org: http://bitbucket.org/gjenca/python_vyuka_public/ | 
| Line 178: | Line 143: | 
| || TCP server so súbežnou obsluhou viacerých klientov používajúci `socket.makefile` || http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/tcp_server_fork_makefile.py || | 
Počítačové siete
2011/2012 -- zimný semester
Contents
Vyučujúci
- Gejza Jenča gejza.jenca@stuba.sk 
Konzultácie
Pondelok 16:00 -- 17:00
Oznamy
Stručná osnova predmetu
- Taxonómia počítačových sietí
- Vrstvový model
- Sieťová vrstva, routing
- Základy konfigurácie sietí a služieb
- Transportná vrstva, sockety
- Aplikačná vrstva
- Aplikačné protokoly
- HTTP
- HTML a CSS, dizajn web stránok
- Dynamické webové stránky pomocou CGI skriptov
- JavaScript, AJAX 
Literatúra
- Andrew S. Tanenbaum, Computer Networks, 4. vydanie, Prentice-Hall 
- Craig Hunt, TCP/IP Network administration, 3. vydanie, O'Reilly, http://docstore.mik.ua/orelly/networking_2ndEd/tcp/index.htm 
- David Gourley, Brian Totty, Marjorie Sayer, Anshu Aggarwal, Sailu Reddy, et al., HTTP: The Definitive Guide, O'Reilly (2002) 
- David Flanagan, JavaScript: The Definitive Guide, O'Reilly Media, Inc.; 5th edition (2006) 
Webové stránky
- HTML and CSS Tutorials, References, and Articles, http://htmldog.com/ 
- Jak psát web, http://www.jakpsatweb.cz/ 
- Color scheme designer, http://colorschemedesigner.com/ 
- Selectutorial: CSS selectors, http://css.maxdesign.com.au/selectutorial/ 
- Allowed nesting of elements in HTML 4 (and XHTML 1.0), http://www.cs.tut.fi/~jkorpela/html/nesting.html 
- The W3C Markup Validation Service, http://validator.w3.org/ 
- The W3C CSS Validation Service, http://jigsaw.w3.org/css-validator/ 
- CSS Zen Garden, http://www.csszengarden.com/ 
- Mercurial SCM, http://mercurial.selenic.com/ 
- Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/ 
O mercuriali
Podmienky na zápočet
- Počas semestra sa bude udeľovať 40 bodov. Na zápočet je potrebných 20 bodov.
- 40 bodov bude udeľovaných za tieto veci: - Tri zápočtové cvičenia vypracované ako rozšírenie domácich zadaní - TCP/IP a sockety
- CGI skripty
- Jedno zápočtové cvičenie z CSS
 
 
- Tri zápočtové cvičenia vypracované ako rozšírenie domácich zadaní 
Výsledky
Témy jednotlivých prednášok
- Vrstvové referenčné modely. - Model ISO/OSI
- Model TCP/IP
 
- Problém riadenia súbežného prístupu (MAC) - Centralizované a decentralizované modely, deterministické a nedeterministické modely
- Modely s centrálnym arbitrom, token ring
- ALOHA, slotted ALOHA, CSMA, CD, Ethernet
 
- Sieťová vrstva, adresácia, smerovanie - IPv4 adresy, triedy A,B,C
- Privátne adresy
- Sieťová a broadcast adresa
- Preklad IP adries (masquerading)
 
- Transportná vrstva, UDP, TCP - Protokoly TCP a UDP
- Softwarové rozhranie pre prístup k transportnej vrstve - sockety
- Šablóny programov "klient" a "server" - fork prístup k servru.
 
- Aplikačné protokoly - Základy fungovania DNS, SMTP
- Protokol HTTP
 
- HTML a CSS - XHTML 1.0
- Štylizácia HTML pomocou kaskádových štýlov
 
- Dynamický web - Základné princípy dynamického webu
- CGI
 
- Pokročilé aspekty HTTP - Autorizácia (Basic)
- Cookies
 
- Web 2.0 - JavaScript cez jquery 
- Techniky AJAX
 
Skúška
- "Teoretická otázka", vysvetliť dôležité aspekty niektorej z týchto tém. - IP protokol - adresácia, smerovanie
- TCP a UDP protokol, spoločné vlastnosti, rozdiely, spôsob použitia v programoch -- sockety.
- HTTP protokol - základy.
- CGI skripty - spôsob fungovania, použitie s HTML formulármi.
- Pokročilé aspekty HTTP - cookies, etag, presmerovanie, if-modified-since
- Javascript, JQuery, AJAXä
 
- Budem chcieť navrhnúť a ústne obhájiť nejaký aplikačný protokol.
Príklad zadania na skúšku z rokov 2010,2011
skuska_2010.pdf skuska_2011.pdf
Zadania na cviko
Šablóny programov, programy, html a css súbory
Generický repozitár pre python, html, css
Na bitbucket.org: http://bitbucket.org/gjenca/python_vyuka_public/ .
Programy, ktoré píšem live na prednáškach v roku 2012
Na bitbucket.org: http://bitbucket.org/gjenca/ps2013
=== Globálny repozitár pre OS a PS ==
Na bitbucket.org: http://bitbucket.org/gjenca/python_vyuka_public/
TCP/UDP klient/server
| TCP server bez súbežnej obsluhy viacerých klientov | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/tcp_server.py | 
| TCP server so súbežnou obsluhou viacerých klientov | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/tcp_server_fork.py | 
| TCP server so súbežnou obsluhou viacerých klientov používajúci socket.makefile | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/tcp_server_fork_makefile.py | 
| TCP klient | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/tcp_client.py | 
| UDP server | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/udp_server.py | 
| UDP klient | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/udp_client.py | 
Sumátor klient a server
| Sumátor server | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/tcp_sumator_server.py | 
| Sumátor klient | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/tcp_sumator_client.py | 
Jednoduchý HTTP server
| Jednoduchý HTTP server | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/http_server.py | 
CGI skripty
| Testovací bez CGI modulu | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/cgiserver/cgi-bin/test.py | 
| Testovací s CGI modulom | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/cgiserver/cgi-bin/test2.py | 
| Vypisovanie a spracovanie formulára | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/cgiserver/cgi-bin/form.py | 
| Vypisovanie a spracovanie formulára - matematika | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/cgiserver/cgi-bin/matika.py | 
| Vypisovanie a spracovanie formulára - sin a cos | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/cgiserver/cgi-bin/sincos.py | 
XHTML stránky
| Stránka so základnými XHTML elementami | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/simple2.html | 
| Stránka pre skúšanie CSS | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/pagelayout.html | 
| Minimálna stránka | http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/kostra.html | 

