| 
  
   Size: 6123 
  
  Comment:  
 | 
  
   Size: 7902 
  
  Comment:  
 | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 3: | Line 3: | 
| 2010/2011 -- zimný semester | 2011/2012 -- zimný semester = Domáce zadanie na 1. cviko = [[attachment:cviko1.pdf]] = Zadanie na 2. cviko = [[attachment:zadanie2.pdf]] <<TableOfContents()>>  | 
| Line 8: | Line 19: | 
=== Konzultácie === Pondelok 16:00 -- 17:00 == Oznamy == <<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 23: | Line 53: | 
| Line 47: | Line 78: | 
| == O mercuriali == [[mercurial]]  | 
|
| Line 55: | Line 89: | 
== Výsledky == [[/Vysledky]]  | 
|
| Line 90: | Line 129: | 
| == Skúška == 1. "Teoretická otázka", vysvetliť dôležité aspekty niektorej z týchto tém. a. IP protokol - adresácia, smerovanie a. TCP a UDP protokol, spoločné vlastnosti, rozdiely, spôsob použitia v programoch -- sockety. a. Princípy fungovania TCP protokolu, emulácia spoľahlivého spájaného prenosu cez IP. a. HTTP protokol - základy. a. CGI skripty - spôsob fungovania, použitie s HTML formulármi. 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. === Príklad zadania na skúšku z roku 2010 === [[attachment:skuska_2010.pdf]]  | 
|
| Line 92: | Line 146: | 
|  * Prvé zápočtové cvičenie [[attachment:cviko1.pdf]]  [[attachment:cviko1_skus.pdf]] | 
|
| Line 144: | Line 196: | 
| || Vypisovanie a spracovanie formulára - sin a cos || http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/cgiserver/cgi-bin/sincos.py || | |
| Line 146: | Line 198: | 
| || Stránka so základnými XHTML elementami || http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/simple.html || | || Stránka so základnými XHTML elementami || http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/simple2.html || | 
| Line 153: | Line 205: | 
== Výsledky == [/Vysledky]]  | 
Počítačové siete
2011/2012 -- zimný semester
Domáce zadanie na 1. cviko
Zadanie na 2. cviko
Contents
Vyučujúci
Gejza Jenča gejza.jenca@stuba.sk
Konzultácie
Pondelok 16:00 -- 17:00
Oznamy
| 
     | 
    
     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.  | 
    
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.
 - Princípy fungovania TCP protokolu, emulácia spoľahlivého spájaného prenosu cez IP.
 - HTTP protokol - základy.
 - CGI skripty - spôsob fungovania, použitie s HTML formulármi.
 - Pokročilé aspekty HTTP - cookies, autorizácia.
 
 - Budem chcieť navrhnúť a ústne obhájiť nejaký aplikačný protokol. Podrobnosti toho, ako si to predstavujem, poviem na prednáške.
 
Príklad zadania na skúšku z roku 2010
Zadania na cviko
Šablóny programov, programy, html a css súbory
Na bitbucket.org: http://bitbucket.org/gjenca/python_vyuka_public/ .
Stiahnuť všetko naraz ako zip
http://bitbucket.org/gjenca/python_vyuka_public/get/tip.zip
alebo (s inštalovaným mercurialom) príkazom
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
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 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  | 

