Sieťové technológie II
- Kredity: 4
- Ukončenie: Skúška
- Rozsah: 0P + 2C
- Semester: zimný
- Ročník: 3
- Fakulta hospodárskej informatiky
Vyučujúci
Zaradený v študijných programoch
Výsledky vzdelávania
Po absolvovaní predmetu by mali mať študenti:
Znalosti
A. Porozumieť princípom programovania aplikácií typu klient/server a toku dát medzi klientskou, serverovou a databázovou vrstvou.
B. Poznať syntax a základné i pokročilé princípy tvorby programov v zvolenom serverovom jazyku.
C. Porozumieť možnostiam prístupu k databázam, princípom SQL a rozdielom medzi komunikačnými štandardmi (JDBC, ODBC).
D. Poznať funkciu webových serverov, ich konfiguráciu a špecifiká serverov používaných pre dátovú vedu.
E. Porozumieť základom objektového programovania na strane servera aj klienta.
Zručnosti
F. Tvorba klientskych častí aplikácií pomocou HTML, CSS a JavaScriptu a ich prepojenie so serverovou logikou.
G. Implementovať serverové aplikácie v zvolenom jazyku vrátane spracovania požiadaviek, odpovedí a prístupu k databázam.
H. Používať SQL v serverovom prostredí a integrovať výsledky dotazov do aplikačnej logiky.
I. Inštalovať a konfigurovať webový server vrátane prostredí určených pre dátovú vedu.
J. Využívať moderné frameworky vhodné pre webové alebo dátové aplikácie.
Spôsobilosti
A. Samostatne navrhnúť a vytvoriť viacvrstvovú aplikáciu s jasným rozdelením klient/server/databáza.
B. Integrovať SQL, webový server a serverový jazyk do ucelenej aplikácie v súlade s požiadavkami na výkon a bezpečnosť.
C. Vybrať a aplikovať správny prístup k databáze (JDBC, ODBC, ORM) v závislosti od architektúry riešenia.
D. Efektívne používať návrhové vzory (najmä MVC) pri tvorbe serverových a klientských častí aplikácie.
E. Využívať OOP princípy pri návrhu komponentov a zabezpečiť modularitu a udržateľnosť kódu.
F. Samostatne pracovať vo vývojovom prostredí (IDE) a zvládať kompletný workflow od návrhu, cez implementáciu až po nasadenie aplikácie.
Stručná osnova predmetu
1. Základné princípy programovania aplikácií typu klient/server
2. Syntax zvoleného serverového jazyka
3. Základné princípy tvorby programu v zvolenom jazyku (server)
4. Pokročilé princípy tvorby programu v zvolenom jazyku (server)
5. Základy tvorby aplikácie na strane klienta (html, js, css)
6. Možnosti prístupu k databázam - lokálny/vzdialený
7. Základy jazyka SQL a jeho implementácia v zvolenom jazyku (server)
8. Web server - inštalácia
9. Konfigurácia zvoleného web servera
10. Web server pre dátovú vedu - inštalácia
11. Konfigurácia zvoleného web servera pre dátovú vedu
12. Frameworky (rámce) pre dátovú vedu
13. Základy objektového programovania v zvolenom jazyku (server, klient)
Odporúčaná literatúra
1. Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley Professional.
2. Bandurič, I. (2013). Tvorba aplikácií v jazyku Java. Ekonóm.
3. Beighley, L., & Morrison, M. (2021). Head First SQL: A learner's guide to SQL (2nd ed.). O’Reilly Media.
4. Carnell, J. (2021). Spring Microservices in Action (2nd ed.). Manning.
5. Deitel, P., & Deitel, H. (2022). Java: How to Program (11th ed.). Pearson.
6. Freeman, E., & Freeman, E. (2021). Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software (2nd ed.). O’Reilly Media.
7. Grinberg, M. (2018). Flask Web Development: Developing Web Applications with Python (2nd ed.). O’Reilly Media.
8. Hunt, A. (2020). Web Development with Node and Express: Leveraging the JavaScript Stack (2nd ed.). O’Reilly Media.
9. Kline, D., & Lemay, L. (2022). Teach Yourself HTML, CSS & JavaScript All in One (4th ed.). Pearson.
10. McCreary, D., & Kelly, A. (2023). Database Design and Management: A Practical Guide (Updated ed.). O’Reilly Media.
11. Sierra, K., & Bates, B. (2022). Head First Java (3rd ed.). O’Reilly Media.
12. VanderPlas, J. (2022). Python Data Science Handbook (2nd ed.). O’Reilly Media.
13. Zhang, J. (2024). Full-Stack Web Development with Java, SQL, and Spring Boot. Packt Publishing.
Sylabus predmetu
1. Základné princípy programovania aplikácií typu klient/server Vysvetlenie koncepcie klient/server, rozdelenie úloh medzi klientskú a serverovú časť a tok dát medzi vrstvami. Architektonické prístupy a základné modely komunikácie. 2. Syntax zvoleného serverového jazyka Prehľad základných konštrukcií, dátových typov a riadiacich štruktúr zvoleného serverového jazyka. Úvod do špecifík jazyka, spôsobu zápisu a základných programových entít. 3. Základné princípy tvorby programu v zvolenom jazyku (server) Tvorba jednoduchých serverových programov, práca s funkciami, modulmi a kontrolou toku. Základy spracovania požiadaviek a odpovedí. 4. Pokročilé princípy tvorby programu v zvolenom jazyku (server) Práca s pokročilými konštrukciami, obsluhou chýb, paralelizmom alebo asynchrónnymi operáciami. Optimalizácia, bezpečnosť a návrhové princípy. 5. Základy tvorby aplikácie na strane klienta (HTML, JS, CSS) Základy tvorby používateľského rozhrania pomocou HTML. Interaktivita pomocou JavaScriptu a úprava vzhľadu cez CSS. Prepojenie klienta so serverom. 6. Možnosti prístupu k databázam – lokálny/vzdialený Rozdiely medzi prístupom k lokálnym a vzdialeným databázam. Konfigurácia pripojenia, autentifikácia a bezpečnosť dátového prenosu. 7. Základy jazyka SQL a jeho implementácia v zvolenom jazyku (server) Úvod do SQL, tvorba dotazov, operácií SELECT, INSERT, UPDATE a DELETE. Prepojenie SQL s programom na serveri a spracovanie výsledkov. 8. Web server – inštalácia Základy inštalácie zvoleného webového servera. Príprava prostredia, základné komponenty a prvotná konfigurácia pre spustenie aplikácií. 9. Konfigurácia zvoleného web servera Práca s konfiguračnými súbormi. Nastavenie portov, bezpečnostných pravidiel, SSL, virtuálnych hostov a optimalizácia prevádzky servera. 10. Web server pre dátovú vedu – inštalácia Inštalácia servera alebo prostredia špecifického pre dátovú vedu (napr. JupyterHub, RStudio Server, Shiny Server). Požiadavky na systém a integračné možnosti. 11. Konfigurácia zvoleného web servera pre dátovú vedu Nastavenie prístupu, bezpečnosti a zdrojov. Prepojenie s databázami, dátovými úložiskami alebo výpočtovými modulmi. 12. Frameworky (rámce) pre dátovú vedu Prehľad frameworkov používaných pre dátovú analýzu a vizualizáciu (napr. Flask/Django pre Python, Shiny pre R). Ich použitie pri tvorbe webových aplikácií. 13. Základy objektového programovania v zvolenom jazyku (server, klient) Objektové princípy ako triedy, objekty, zapuzdrenie, dedičnosť a polymorfizmus. Uplatnenie OOP na strane servera aj klienta pri štruktúrovaní aplikácie.
Podmienky na absolvovanie predmetu
záverečná skúška – písomná forma, 60% (absolvovanie skúšky znamená získanie min. 51% z hodnotenia skúšky). Skúška pozostáva z dvoch častí: overenie teoretických vedomosti (test s rôznymi typmi otázok). Teoretickou časťou sa overuje dosiahnutá úroveň výsledkov vzdelávania A,B,C
Semestrálna práca, 40 %, overuje sa dosiahnutá úroveň výsledkov vzdelávania D,E.
Pracovné zaťaženie študenta
Pracovné zaťaženie študenta (v hodinách):
4 kredity x 26 hodín = 104 hodín
Rozdelenie študijného zaťaženia:
Účasť na prednáškach a seminároch: 26 hodín
Príprava na semináre: 13 hodín
Písomné úlohy: 30 hodín
Príprava na záverečnú skúšku: 35 hodín
Jazyk, ktorého znalosť je potrebná na absolvovanie predmetu
slovenský
Dátum schválenia: 04.03.2025
Dátum poslednej zmeny: 06.11.2025
Dátum schválenia: 04.03.2025
Dátum poslednej zmeny: 06.11.2025

