Differences between revisions 44 and 101 (spanning 57 versions)
Revision 44 as of 2009-12-03 11:48:30
Size: 5275
Editor: jenca
Comment:
Revision 101 as of 2011-11-29 11:44:09
Size: 7780
Editor: jenca
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
2009/2010 -- zimný semester 2011/2012 -- zimný semester



<<TableOfContents()>>
Line 8: Line 12:

=== 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 21: Line 43:
 * Šablónové jazyky  * !JavaScript, AJAX
Line 30: Line 53:
 1. David Gourley, Brian Totty, Marjorie Sayer, Anshu Aggarwal, Sailu Reddy, et al., ''HTTP: The Definitive Guide'', O'Reilly 2002
 
 1. David Gourley, Brian Totty, Marjorie Sayer, Anshu Aggarwal, Sailu Reddy, et al., ''HTTP: The Definitive Guide'', O'Reilly (2002)
 1. David Flanagan, ''!JavaScript: The Definitive Guide'', O'Reilly Media, Inc.; 5th edition (2006)
Line 44: Line 67:
 1. Mercurial SCM, http://mercurial.selenic.com/
 1. Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/

== O mercuriali ==
[[mercurial]]
Line 49: Line 77:
  * Dve zápočtové cvičenia vypracované ako rozšírenie domácich zadaní   * Tri zápočtové cvičenia vypracované ako rozšírenie domácich zadaní
Line 52: Line 80:
  * Jedno domáce zadanie z web dizajnu a šablón     * Jedno zápočtové cvičenie z CSS


== Výsledky ==

[[/Vysledky]]
Line 87: Line 120:
   a. !JavaScript cez GWT/Pyjamas
Line 89: Line 121:
    == Skúška ==
Line 91: Line 123:
 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.
Line 92: Line 132:
== Zadania na cvičenia == === Príklad zadania na skúšku z roku 2010 ===
Line 94: Line 134:
 * [[attachment:cviko1.pdf]]
 * [[attachment:cviko_skus1.pdf]]
 * [[attachment:cviko_skus2.pdf]]
[[attachment:skuska_2010.pdf]]
Line 98: Line 136:
== Domáce zadania == == Zadania na cviko ==
 
== Šablóny programov, programy, html a css súbory ==
Line 100: Line 140:
 * [[attachment:zadanie1.pdf]]
 * [[attachment:zadanie3.pdf]]

== Šablóny programov, programy, html a css súbory ==
Na bitbucket.org: http://bitbucket.org/gjenca/python_vyuka_public/ .
Line 112: Line 149:
hg clone https://gjenca@bitbucket.org/gjenca/python_vyuka_public/ hg clone http://bitbucket.org/gjenca/python_vyuka_public/
Line 114: Line 151:

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
}}}

Line 135: Line 186:
|| 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 ||
Line 136: Line 194:
=== XHTML stránky ===
|| Stránka so základnými XHTML elementami || http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/simple.html ||
|| Stránka pre skúšanie CSS || http://bitbucket.org/gjenca/python_vyuka_public/raw/tip/pagelayout.html ||
## == Odovzdávanie programov ==
Line 140: Line 196:
== Odovzdávanie programov ==

[[/OdovzdavanieProgramov | Stránka pre odovzdávanie programov ]]

== Výsledky ==

[[/Vysledky]]
## [[/OdovzdavanieProgramov | Stránka pre odovzdávanie programov ]]

Počítačové siete

2011/2012 -- zimný semester

Vyučujúci

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

  1. Andrew S. Tanenbaum, Computer Networks, 4. vydanie, Prentice-Hall

  2. Craig Hunt, TCP/IP Network administration, 3. vydanie, O'Reilly, http://docstore.mik.ua/orelly/networking_2ndEd/tcp/index.htm

  3. David Gourley, Brian Totty, Marjorie Sayer, Anshu Aggarwal, Sailu Reddy, et al., HTTP: The Definitive Guide, O'Reilly (2002)

  4. David Flanagan, JavaScript: The Definitive Guide, O'Reilly Media, Inc.; 5th edition (2006)

Webové stránky

  1. e-archiv Jiřího Peterky: Přednášky:

  2. HTML and CSS Tutorials, References, and Articles, http://htmldog.com/

  3. Jak psát web, http://www.jakpsatweb.cz/

  4. Color scheme designer, http://colorschemedesigner.com/

  5. Selectutorial: CSS selectors, http://css.maxdesign.com.au/selectutorial/

  6. Allowed nesting of elements in HTML 4 (and XHTML 1.0), http://www.cs.tut.fi/~jkorpela/html/nesting.html

  7. The W3C Markup Validation Service, http://validator.w3.org/

  8. The W3C CSS Validation Service, http://jigsaw.w3.org/css-validator/

  9. CSS Zen Garden, http://www.csszengarden.com/

  10. Mercurial SCM, http://mercurial.selenic.com/

  11. Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/

O mercuriali

mercurial

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

Výsledky

/Vysledky

Témy jednotlivých prednášok

  1. Vrstvové referenčné modely.
    1. Model ISO/OSI
    2. Model TCP/IP
  2. Problém riadenia súbežného prístupu (MAC)
    1. Centralizované a decentralizované modely, deterministické a nedeterministické modely
    2. Modely s centrálnym arbitrom, token ring
    3. ALOHA, slotted ALOHA, CSMA, CD, Ethernet
  3. Sieťová vrstva, adresácia, smerovanie
    1. IPv4 adresy, triedy A,B,C
    2. Privátne adresy
    3. Sieťová a broadcast adresa
    4. Preklad IP adries (masquerading)
  4. Transportná vrstva, UDP, TCP
    1. Protokoly TCP a UDP
    2. Softwarové rozhranie pre prístup k transportnej vrstve - sockety
    3. Šablóny programov "klient" a "server" - fork prístup k servru.
  5. Aplikačné protokoly
    1. Základy fungovania DNS, SMTP
    2. Protokol HTTP
  6. HTML a CSS
    1. XHTML 1.0
    2. Štylizácia HTML pomocou kaskádových štýlov
  7. Dynamický web
    1. Základné princípy dynamického webu
    2. CGI
  8. Pokročilé aspekty HTTP
    1. Autorizácia (Basic)
    2. Cookies
  9. Web 2.0
    1. JavaScript cez jquery

    2. Techniky AJAX

Skúška

  1. "Teoretická otázka", vysvetliť dôležité aspekty niektorej z týchto tém.
    1. IP protokol - adresácia, smerovanie
    2. TCP a UDP protokol, spoločné vlastnosti, rozdiely, spôsob použitia v programoch -- sockety.
    3. Princípy fungovania TCP protokolu, emulácia spoľahlivého spájaného prenosu cez IP.
    4. HTTP protokol - základy.
    5. CGI skripty - spôsob fungovania, použitie s HTML formulármi.
    6. Pokročilé aspekty HTTP - cookies, autorizácia.
  2. 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

skuska_2010.pdf

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

KMaDGWiki: PocitacoveSiete (last edited 2024-04-29 10:38:09 by jenca)