1 Datové struktury - Šnábl • datové typy, deklarace, definice a inicializace proměnných • viditelnost proměnných, lokální a globální proměnné • dynamická a statická alokace paměti • primitivní a referenční datové typy • konverze datových typů • pole • lineární seznam • fronta, zásobník • stromy Šablony a smarty - Biberle 23 • oddělení aplikační logiky a prezentace • model MVC • tvorba vlastních šablon • hotové třídy šablon a jejich proměnné a metody (např. Smarty)
2 Pole - Příborský 7 • deklarace • pole jednorozměrné a vícerozměrné • uložení pole v paměti • procházení pole • třída ArrayList XML - Příborský • struktura dokumentu XML • definice XML dokumentu pomocí definičního souboru DTD (deklarace elementů, atributů, postup při vytváření souboru DTD) • zobrazení XML dokumentu pomocí kaskádových stylů • převod XML do HTML pomocí souboru XSL (šablony xsl:template, xsl:apply-templates, xsl:value-of) • parsování XML
3 Kolekce - Fryč 20 • rozhraní List=seznam, Set=množina, Map=mapa • generické typy • metody pro práci s kolekcemi Vazby mezi tabulkami, spojování tabulek - Holík 7 • WHERE, INNER JOIN, LEFT/RIGHT JOIN, FULL OUTER JOIN • NATURAL LEFT JOIN, USING • podmínka spojení tabulek
4 Řídící struktury - Řídký 5 • větvení, spojování podmínek • příkaz switch Session proměnné, vytvoření cookie v PHP - Řídký 20 • využití cookies a sessions • parametry funkce setcookie() • uložení cookies • zahájení a ukončení session • uložení identifikátoru session a ukládání proměnných session • funkce session_start(), session_id(), session_destroy(), session_unset()
• globální pole $_SESSION[], $_COOKIE[]
5 Cykly - Herman 6 • while, do-while • for • foreach • příkazy break a continue Autentizace a autorizace - Tomášek 18 • význam autentizace a autorizace • autentizace pomocí protokolu HTTP, • serverové proměnné $_SERVER['PHP_AUTH_USER'] a $_SERVER ['PHP_AUTH_PW'] • autorizace uložená na skriptu, pracující s textovým souborem, databází • autorizace pomocí souboru .htaccess a .htpasswd. • šifrovací funkce PHP vhodné pro ukládání hesel • serverové proměnné $_SERVER[...]
6 Funkce a metody - Špaček 13 • definice vlastní funkce, metody • volání funkce, metody Ladění a ošetřování chyb v PHP - Kalina 17 • chyby syntaktické, sémantické a logické • úrovně chyb, nastavení hlášení chyb, funkce error_reporting() • ladící možnosti, zotavování z chyb, logování chyb. • vlastní ošetření chybového hlášení při připojení se k databázovému serveru, operátor @ • výjimky, zachytávání výjimek, blok try-catch-finally
7 Třída - Pekárek 15,16 • deklarace třídy • instanční a statické proměnné • konstruktor • vytvoření instance Práce s adresáři a se soubory v PHP - Herman 19 • procházení a čtení adresáře • funkce chdir(), opendir(), closedir(), mkdir(), rmdir(), rewinddir(), readdir, … • čtení a uložení souborů z PHP • nastavení práv pro zápis, čtení, spouštění • funkce fopen(), fwrite(), feof(), file(), fclose(), fread() • nahrávání souborů na server • superglobální pole $_FILE[soubor_uživatele][...] • funkce is_uploaded_file(), move_uploaded_file()
8 Zapouzdření - Pekárek 14 • specifikátory přístupu • metody pro manipulaci s privátními proměnnými: set() a get() • balíky Připojení k databázi MySQL z PHP a výpis z databáze - Popelka 15 • vkládání souborů pomocí include a require • připojení k databázovému serveru výpis dat z databázových tabulek
9 Metody ve třídě - Horáková 16 • přetížené metody • metody statické a instanční • překrytí metody • užití metody předka • polymorfizmus Informační systémy - Paní učitelka • struktura PIS: IS TPS, MIS, DSS, EIS, ES. • Analýza a vývoj IS – stanovení cílů projektu, specifikace požadavků, analýza a návrh, implementace a testování • modely životního cyklu IS: vodopád, výzkumník, prototypování, spirálový model
10 Řetězce - Drdla 8 • vytvoření řetězce • práce s celým řetězcem • práce s částí řetězce, s jednotlivými znaky • porovnávání řetězců Agregace a druhá restrikce - Holík 6 • shlukování informací, jedna informace z více záznamů • agregační funkce AVG(), SUM(), COUNT(), MAX(), MIN() • vytvoření a využití proměnné MySQL • vnořené dotazy
11 Dědičnost - Špaček • princip dědičnosti • konstruktor potomka • kolekce příbuzných tříd Frameworky - Šnábl s paní Učitelkou • příklady frameworků • použití frameworku
12 Abstraktní třídy a rozhraní - Přívara 18 • abstraktní metody • abstraktní třídy a jejich využití • rozhraní a jeho implementace Základy relačních databází - Heneš 2 • historie databází – hierarchický, síťový a objektový model • logická úroveň návrhu • základy relačních databází • klíče primární a cizí • vazby mezi tabulkami, referenční integrita, relace, vícenásobné relace, rekurentní relace • normální tabulky, normální formy • ER model
13 GUI - Biberle 22, 23 • základní grafické prvky Okna • JFrame, vytvoření základního okna • prvky formulářů
• Layout - správce uspořádání Správa a zabezpečení databáze - Kalina 9, 18 • databáze mysql a její tabulky user, db, host, tables_priv, columns_priv • informační schéma • nastavení práv uživateli • příkazy GRANT a REVOKE • role, funkce rolí, vytvoření rolí, nastavení práv pro roli, přidání uživatele do role
14 Událostmi řízené programování - Štrich 22 • typy událostí • implementace rozhraní pro zpracování události • reakce na událost Projekce a restrikce - Tomášek 5 • výběry sloupců • aliasy sloupců a tabulek • spojování sloupců pomocí fce CONCAT() • výběry řádků • změna řazení výpisu řádků • omezení řádků výpisu • využití NULL, LIKE • pohledy
15 Terminálový vstup a výstup - Heneš 3 • formátovaný a neformátovaný výstup • použití třídy Scanner Připojení k databázi MySQL z PHP a zápis do databáze - Popelka 15, 16 • připojení k databázovému serveru • vstup od uživatele pomocí formuláře • zabezpečení vstupu od uživatele • znakové entity, kódování před výpisem • fce htmlspecialchars(), AddSlashes() a StripSlashes())
16 Práce se soubory a adresáři - Drdla • třída File a její metody, metody list() a listFile() • vstupní a výstupní proudy Funkce v PHP - Holík 14 • definice funkce • rozsah platnosti proměnné, lokální, globální a statické proměnné • funkce s proměnným počtem parametrů (mocnina) • předávání parametrů hodnotou a adresou
17 Vlákna - Přívara • základní vlastnosti vlákna, třída Thread • práce s vlákny • synchronizace vláken Skriptovací jazyk PHP vložený do HTML - Popelka 12 • přehled, vývoj, oblast použití • vkládání PHP kódu do HTML stránky, způsob uložení a zobrazení stránky • datové typy v PHP a jejich vlastnosti • přetypování, výpis obsahu a typu proměnné (var_dump() a print_r())
18 Řazení tříd - Fryč 10, 11 • třída Array a její metody: int compareTo(Trida t) • přirozené a absolutní řazení Řetězce a funkce pro práci s regulárními výrazy v PHP - Šnábl 13 • převod pole na řetězec a naopak (funkce implode() a explode()) • spojování řetězců, funkce split(), funkce trim() • regulární výrazy – kotvy, třídy znaků, vestavěné třídy znaků, vícenásobné výskyty, speciální znaky, alternace a závorky • funkce pro práci s regulárními výrazy
19 Výjimky - Řídký 19 • použití (blok try-catch-finally) • vlastní výjimky, dědičnost u výjimek • propagace výjimek Základy HTML, URL, HTTP, druhy skriptování, formulíře - Přívara 11,12 • skriptování na straně klienta a serveru • odesílání požadavku na webový server • hlavičky a funkce header() • JavaScript, PHP, technologie Ajax • formuláře v HTML – základní prvky • formuláře v HTML – vlastnosti, způsoby zpracování formuláře • nastavení hodnot v souboru php.ini (Register_globals, Magic_quotes, …)
20 Návrhové vzory - Holík 26 • význam, použití • příklad vzorů Pole v PHP - Horáková • deklarace a inicializace pole • asociativní a neasociativní pole • funkce pro řazení pole (sort(), asort(), ksort()) • procházení pole pomocí FOREACH • funkce pro práci s proměnnými (isset(), unset(), empty())
21 Složitější datové struktury - Pekárek 9 • lineární seznam • fronta • zásobník • implementace těchto struktur Transakce a zamykání tabulek - Biberle 10 • princip zamykání tabulek • příkazy LOCK a UNLOCK, zamčení WRITE a READ • princip transakcí • příkazy BEGIN a COMMIT • práce s vyrovnávací pamětí a se žurnálem,, metoda přímé a zpožděné aktualizace • uváznutí - důvod, detekce, řešení
22 Jednoduché řadící algoritmy a metody - Štrich 10 • bublinková metoda
• řazení přímým výběrem • přímým zatřiďováním Indexy a vyhledávání, klíče - Štrich 4 • klíče, primární klíče • princip indexování • jedinečné indexy, normální indexy • fulltextové indexy (MATCH(), AGAINST(), výpočet relevance, váha slova) • vytvoření klíče, složené klíče
23 Složitější řadící algoritmy a metody - Horáková 11 • rekurze • MergeSort • QuickSort Jazyk UML - Špaček 1 • využití UML • diagramy tříd • diagramy objektů • případy užití • diagram stavů • diagram sekvencí • diagram spolupráce • diagram komponent
24 Hashování - Kalina 11 • základní princip • vlastní hashovací funkce • řešení kolizí (stejný hash) • přidávání do hashovací tabulky • hledání v hashovací tabulce Dorozumívání klienta se serverem pomocí jazyka SQL - Herman 3 • jazyk SQL – jazyk pro dorozumívání klienta se serverem • dělení: DDL, DML a DCL • příkazy pro změny struktury a obsahu tabulek • struktura SQL příkazu SELECT • zálohování a načítání dat ze souborů, export a import dat • pohledy, uložené procedury, triggery
25 Vyhledávací algoritmy a metody v setříděném a nesetříděném poli/struktuře - Tomášek 12 • vyhledávání v nesetříděném poli/struktuřr • binární vyhledávání • princip a využití rekurze • třída Array a její metody fill(), sort() a binarySearch() Uložení dat v MySQL - Heneš 8 • typy tabulek MySQL • datové a indexové tabulky • dynamické a statické tabulky • datové typy • datové typy pro uložení času a data • modifikátory datových typů • funkce v MySQL – numerické, logické, agregační, pro práci s řetězci, časem a daty