CoursesLLL

Z FI WIKI
Přejít na: navigace, hledání

Hotové

Objektové programování v jazyce Java pro začátečníky

Informace o kurzu

tutor: Petr Adámek, Jan Pavlovič

rozsah kurzu: 24h

doporučené vstupní znalosti: základy OOP

Obsah kurzu

Seznámení se základy moderního objektového programování v jazyce Java. Úvod do jazyka Java, srovnání s konkurencí. Životní cyklus javového programu, základní nástroje. Základní pojmy objektového programování - třída, objekt; proměnná a metoda objektu a třídy. Spolupráce a komunikace mezi objekty, výměna zpráv. Rozhraní (interface). Základní programové konstrukce a datové typy. Primitivní datové typy, objektové typy, pole. Základní programátorské konvence - styl psaní zdrojového textu, dokumentační komentáře. Zapouzdření, dědičnost, polymorfizmus. Abstraktní třídy. Přístupová práva. Výjimky, princip jejich použití, návrh vlastních výjimek. Testování jednotek javových programů, nástroj JUnit. Dynamické datové struktury (kontejnery) v Javě: seznamy, množiny, asociativní pole. Vstupy a výstupy v Javě.

XML technologie -- od základů po pokročilé aplikace

Informace o kurzu

tutor: Jan Pavlovič

rozsah kurzu: 18h

doporučené vstupní znalosti:

Obsah kurzu

Moderní značkovací jazyky. Standardy základní rodiny XML. Prostředky analýzy a zpracování XML dat. Objektový model dokumentu, událostmi řízené zpracování. Modely a schémata pro XML dokumenty, XMLSchema, RelaxNG, Schemtron. Navigace v XML datech (XPath). Transformace a vizualizace (XSLT, CSS). Ukládání a zpracování XML dat v relačních a objektových databázích, indexování XML dat, nativní XML databáze. Dotazovací jazyky pro XML, XQuery. Metadata popisující XML zdroje, rámec RDF, ontologie. Sémantický web. XML a internetové technologie. Využití moderních nástrojů a vývojových prostředí pro správu softwarových projektů využívajících XML.

Tvorba moderní dokumentace

Informace o kurzu

tutor: Jan Pavlovič

rozsah kurzu: 6h

doporučené vstupní znalosti: znalost XML, XPATH, XSLT

Obsah kurzu

Ukazání hlavních výhod nasazení DocBooku pro vytváření doku­mentace, jeho jednoduchost, škálovatelnost a široké použití jak pro dokumentaci samotných softwarových produktů tak i pro interní firemní dokumentaci. Transformace DocBooku do jednotlivých výstupních formátů. XDOC formát.

Podniková síť na bázi GNU/Linuxu

Informace o kurzu

tutor: Jan Pavlovič

rozsah kurzu: 12h

doporučené vstupní znalosti: základní administrace systémů GNU/Linux

Obsah kurzu

  • Koncepce datového úložiště z zálohování pro malou firmu
    • Síťové souborové systémy
    • Koncepce zálohování v Linuxu
  • VPN řešení pro Linux
    • IPsec
    • OpenVPN
  • Antivirová a antispamová řešení pro elektronickou poštu a WWW
    • Přehled antivirových programů
    • Integrace antivirového programu do serveru Postfix
    • Přehled antispamových programů pro Linux
    • Antivirová kontrola IMAP protokolu
    • Antivirová kontrola HTTP a FTP protokolu

Administrace Servlet kontejneru Tomcat

Informace o kurzu

tutor: Jan Pavlovič

rozsah kurzu: 6h

doporučené vstupní znalosti:

Obsah kurzu

  • Seznámení s aplikačním serverem Apache Tomcat
  • Instalace včetně kompilace ze zdrojových kódů
  • Základní nastavení a základní zabezpečení
  • Provoz serveru
  1. mechanismy automatického spouštění
  2. rc skripty
  3. spuštění na neprivilegovaném. portu
  4. monitorování provozu
  5. automatický restart při pádu, atd.
  • Connectors jk, jk2
  • Tomcat Manager
  • Clustering
  • Load balancing
  • Logování a rotace logů

Testování J2EE aplikací

Informace o kurzu

tutor: Jan Pavlovič, Petr Adámek

rozsah kurzu: 6h

doporučené vstupní znalosti: základy XML, základy J2EE

Obsah kurzu

Cílem kurzu je seznámení s efektivníma metodama testování funkcionality J2EE aplikací. Testování je nedílnou součástí vývoje kvalitního softwaru.

  • Maven
  • Nástroje pro testování
  • Nástroje pro sledování kvality kódu
  • Nástroje pro evidenci chyb
  • Integrace nástrojů

Java EE (webové) aplikační rámce

Informace o kurzu

tutor: Petr Adámek, Jan Pavlovič

rozsah kurzu: 30h

doporučené vstupní znalosti: základy Javy

Obsah kurzu

Webové aplikační rámce, jejich struktura a funkcionalita.

  • Maven
  • MVC princip
  • Servlets
  • JSP
    • JSTL
    • EL
    • Java Beans
  • JDBC
  • Hibernate
  • AJAX
  • Web Services
  • JSF
  • Struts
  • EJB
  • JMS
  • Testování
  • Aplikační servery a Servlet kontejnery

Reengineering a modernizace existujících J2EE aplikací

Informace o kurzu

tutor: Jan Pavlovič

rozsah kurzu: 6h

doporučené vstupní znalosti: základy J2EE

Obsah kurzu

Cílem kurzu bude představení reengineeringu pro modernizace stávajících aplikace při zachování maximální možné funkcionality stávající systému. Základní postupy a metodiky, jak řešit tuto komplikovanou problematiku.

  • Cíle reengineeringu
  • Typické chyby v existujících systémech
  • Chyby v architektonickém návrhu systému
  • Principy softwarového reengineeringu
  • Způsoby realizace reengineeringu
  • Využití softwarových metrik při reengineeringu
  • Realizace reengineeringu




Rozpracované

Objektové programování v jazyce Java pro pokročilé

Prohloubení základních znalostí jazyka Java (z úrovně začátečnického kurzu) a jejich praktické uplatnění při řešení konkrétního projektu. Zásady správné dekompozice a tvorby robustního kódu včetně problematiky automatizovaného testování. Témata: distribuce aplikací, Java Web Start. Objektový návrh v Javě, principy správné dekompozice, výjimky. Tvorba grafického rozhraní aplikací (Swing). Testování (JUnit). Lokalizace a internacionalizace aplikací. Vstup/výstup, NIO, ukládání konfigurace, protokolování (logging). Síťové aplikace. Rozhraní JDBC pro přístup k databázi. Vícevláknové aplikace. Optimalizace a ladění výkonu.

Úvod do vývoje v prostředí Java2 Enterprise Edition (J2EE)

Vybrané kapitoly pokročilého návrhu a implementace programových systémů v jazyce Java. Metodika kvalitního návrhu a realizace rozsáhlých systémů (vč. agilních metodik, extrémního programování), jejich testování, refaktoringu, ladění výkonu atd. Technologie prakticky významných API J2SE a J2EE (EJB, API webových aplikací, zabezpečení aplikací, přístup k databázím, systémy řízení zpráv, transakcí, atd.). Přibližuje rovněž další aktuální témata - webové služby a jejich protokoly, webové aplikační rámce.

Návrh webových aplikací

Webové aplikace na platformě Java, javové webové kontejnery (Tomcat, Jetty). "Model 2" aplikací (Model/View/Controller). Datové vrstva aplikací (použití JDBC, Hibernate). Aplikační logika, programování orientované na aspekty (AOP), obrácení řízení (IoC). Prezentační vrstva (JSP, knihovny značek, jazyky Freemarker, Sitemesh).

Enterprise JavaBeans

Enterprise JavaBeans (koncepce, vzory užití) a aplikační servery. Využití vývojových prostředí (NetBeans, Sun Java Studio, Eclipse) pro budování EJB aplikací.

Webové služby

Webové služby (standardy, protokoly, aplikace). Služby na bázi architektur REST.

Systémy řízení zpráv (Messaging Systems)

Platforma Java Messaging System (JMS), její principy a použití. Volně dostupné systémy JMS (OpenJMS).

UML a návrhové vzory

Základní popis UML, modely pro popis statické struktury systému a pro popis dynamického chování systému a tříd. Charakteristika návrhových vzorů. Definice a popis jednotlivých návrhových vozrů GoF. Příklady dalších vzorů Coad, Fowler, Java, antivzory.

Správa systémů Linux

Základní seznámení s OS Linux, práce se systémem, instalace a konfigurace systému. Konfigurace WWW serveru, služeb pro vzdálený přístup a přenos souborů (zabezpečené/nezabezpečené služby), DNS, sdílení diskového prostoru pro stanice s operačnímy systémy MS Windows, tiskového serveru a sdílení přístupu na Internet. V případě zájmu konfigurace správa a konfigurace nejběžnějších DB. Nástroje pro usnadnění správy systému.

Řízení projektů

Cílem kurzu je objasnit filozofii, principy a techniky řízení projektů, zejména v oblasti informačních a komunikačních technologií. Výuka kombinuje teoretické základy řízení projektu a práce v týmu s rámcovými studiemi a analýzou konkrétních případů z praxe. Součástí výuky je i zvládnutí základního softwarového vybavení pro projektové řízení v oblasti SW, jako je MS Project nebo COCOMO. Hlavními tématy kurzu jsou: Plánování projektu a analýza rizika, Plánovací a odhadovací nástroje, Techniky a nástroje grafické vizualizace, Časové a cenové odhady projektu, Sledování a zajištění kvality softwarového produktu.

Unified Process

Kvalitní objektově orientovaný návrh aplikace je nezbytným předpokladem jeho úspěšné implementace. Základní pohledy:

  • Pohled případů užití.
  • Logický pohled.
  • Procesní pohled
  • Implementační pohled
  • Pohled nasazení

Základní diagramy:

  • Diagram případů užití
  • Diagram tříd
  • Diagram objektů
  • Diagram komponent
  • Diagram nasazení
  • Sekvenční diagram
  • Kolaborační diagram
  • Stavový diagram
  • Diagram aktivit

Technologie sémantického webu

Jakarta Struts

J2EE Patterns