Síťové programování
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BIK-SIP.21 | Z | 5 | 14KP+4KC | česky |
- Garant předmětu:
- Jan Fesl
- Přednášející:
- Jan Fesl
- Cvičící:
- Jan Fesl
- Předmět zajišťuje:
- katedra počítačových systémů
- Anotace:
-
Předmět pokrývá stěžejní témata z oblasti programování síťových aplikací. Sestává se ze 4 tématických částí. Úvodní část je věnována výkladu nízkoúrovňového programování prostřednictvím BSD soketů. Druhá část je věnovaná návrhu komunikačních protokolů a jejich verifikaci. Třetí část je věnována principům a aplikační stránce middleware technologií. Závěrečná část uvádí základní moderní modely distribuovaného výpočtu - P2P a blockchain. Veškerá tématika bude vysvětlena jak z teoretického hlediska, tak i prakticky procvičena přímo v prostředí zvoleného programovacího jazyka.
- Požadavky:
- Osnova přednášek:
-
1. Programování síťových rozhraní - protokoly TCP, UDP.
2. Programování síťových rozhraní - blokující a neblokující komunikační operace a jejich vícevláknové zpracování.
3. Programování síťových rozhraní - skupinové komunikační operace.
4. Programování zabezpečených síťových rozhraní - protokoly SSL, TLS.
5. Zásady programování bezpečných síťových aplikací.
6. Návrh a implementace síťových protokolů.
7. Prototypování a verifikace síťových protokolů
8. Tvorba síťových aplikací pomocí middleware technologií - vzdálené volání procedur.
9. Tvorba síťových aplikací pomocí middleware technologií - producent/konzument.
10. Implementace síťových aplikací a doporučené postupy jejich tvorby
11. Návrh a implementace P2P modelů síťových aplikací
12. Blockchain model a jeho využití při tvorbě síťových aplikací.
13. Ladění distribuovaných síťových aplikací.
- Osnova cvičení:
-
Cvičení kopírují osnovy přednášek a demonstrují probíraná témata prakticky.
1. Programování síťových rozhraní - protokoly TCP, UDP.
2. Programování síťových rozhraní - blokující a neblokující komunikační operace a jejich vícevláknové zpracování.
3. Programování síťových rozhraní - skupinové komunikační operace.
4. Programování zabezpečených síťových rozhraní - protokoly SSL, TLS.
5. Zásady programování bezpečných síťových aplikací.
6. Návrh a implementace síťových protokolů.
7. Prototypování a verifikace síťových protokolů
8. Tvorba síťových aplikací pomocí middleware technologií - vzdálené volání procedur.
9. Tvorba síťových aplikací pomocí middleware technologií - producent/konzument.
10. Implementace síťových aplikací a doporučené postupy jejich tvorby
11. Návrh a implementace P2P modelů síťových aplikací
12. Blockchain model a jeho využití při tvorbě síťových aplikací.
13. Ladění distribuovaných síťových aplikací.
- Cíle studia:
- Studijní materiály:
-
1. Stevens R. W. et al : Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition). Addison-Wesley, 2004. ISBN 978-0131411555.
2. Stevens R. W. : Unix Network Programming, Volume 2: Interprocess Communications (2nd Edition). Addison-Wesley, 1998. ISBN 978-0132974295.
3. Raval S. : Decentralized Applications: Harnessing Bitcoin's Blockchain Technology. OReilly, 2016. ISBN 978-1491924549.
4. Colouris G. : Distributed Systems: Concepts and Design (5th Edition). Addison-Wesley, 2011. ISBN 978- 0132143011.
- Poznámka:
-
Chybí webová adresa předmětu
- Další informace:
- Courses
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů: