Seznam všech témat pro ústní zkoušku PRG+IDS 2011

Transkript

Seznam všech témat pro ústní zkoušku PRG+IDS 2011
Maturitní témata z PRG a IDS
Datové struktury
• 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
• 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)
Pole
•
•
•
•
•
XML
•
•
•
•
•
deklarace
pole jednorozměrné a vícerozměrné
uložení pole v paměti
procházení pole
třída ArrayList
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
Kolekce
• rozhraní List=seznam, Set=množina, Map=mapa
• generické typy
• metody pro práci s kolekcemi
Vazby mezi tabulkami, spojování tabulek
• WHERE, INNER JOIN, LEFT/RIGHT JOIN, FULL OUTER JOIN
• NATURAL LEFT JOIN, USING
• podmínka spojení tabulek
Řídící struktury
• větvení, spojování podmínek
• příkaz switch
Session proměnné, vytvoření cookie v PHP
• 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
IDS+PRG
V4.ABC-IDS
1/6
•
•
funkce session_start(), session_id(), session_destroy(), session_unset()
globální pole $_SESSION[], $_COOKIE[]
Cykly
• while, do-while
• for
• foreach
• příkazy break a continue
Autentizace a autorizace
• 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[...]
Funkce a metody
• definice vlastní funkce, metody
• volání funkce, metody
Ladění a ošetřování chyb v PHP
• 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
Třída
• deklarace třídy
• instanční a statické proměnné
• konstruktor
• vytvoření instance
Práce s adresáři a se soubory v PHP
• 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()
Zapouzdření
• 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
• vkládání souborů pomocí include a require
• připojení k databázovému serveru
IDS+PRG
V4.ABC-IDS
2/6
•
výpis dat z databázových tabulek
Metody ve třídě
• přetížené metody
• metody statické a instanční
• překrytí metody
• užití metody předka
• polymorfizmus
Informační systémy
• 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
Řetězce
• 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
• 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
Dědičnost
• princip dědičnosti
• konstruktor potomka
• kolekce příbuzných tříd
Frameworky
• příklady frameworků
• použití frameworku
Abstraktní třídy a rozhraní
• abstraktní metody
• abstraktní třídy a jejich využití
• rozhraní a jeho implementace
Základy relačních databází
• 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
GUI
•
•
•
základní grafické prvky Okna
JFrame, vytvoření základního okna
prvky formulářů
IDS+PRG
V4.ABC-IDS
3/6
• Layout - správce uspořádání
Správa a zabezpečení databáze
• 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
Událostmi řízené programování
• typy událostí
• implementace rozhraní pro zpracování události
• reakce na událost
Projekce a restrikce
• 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
Terminálový vstup a výstup
• 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
• 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())
Práce se soubory a adresáři
• třída File a její metody, metody list() a listFile()
• vstupní a výstupní proudy
Funkce v PHP
• 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
Vlákna
• základní vlastnosti vlákna, třída Thread
• práce s vlákny
• synchronizace vláken
Skriptovací jazyk PHP vložený do HTML
• 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())
IDS+PRG
V4.ABC-IDS
4/6
Řazení tříd
• 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
• 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
Výjimky
• 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
• 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, …)
Návrhové vzory
• význam, použití
• příklad vzorů
Pole v PHP
• 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())
Složitější datové struktury
• lineární seznam
• fronta
• zásobník
• implementace těchto struktur
Transakce a zamykání tabulek
• 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í
Jednoduché řadící algoritmy a metody
• bublinková metoda
• řazení přímým výběrem
• přímým zatřiďováním
IDS+PRG
V4.ABC-IDS
5/6
Indexy a vyhledávání, klíče
• 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
Složitější řadící algoritmy a metody
• rekurze
• MergeSort
• QuickSort
Jazyk UML
• využití UML
• diagramy tříd
• diagramy objektů
• případy užití
• diagram stavů
• diagram sekvencí
• diagram spolupráce
• diagram komponent
Hashování
• 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
• 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
Vyhledávací algoritmy a metody v setříděném a nesetříděném poli/struktuře
• 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
• 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
IDS+PRG
V4.ABC-IDS
6/6

Podobné dokumenty

Značky HTML

Značky HTML • Vestavěné – základní nebo z modulů • Speciální – jazykové konstrukce

Více

IAJCE Přednáška č. 10 1 každému znaku je nutné přiřadit

IAJCE Přednáška č. 10 1 každému znaku je nutné přiřadit o Vrací podřetězec od pozice start Instanční metoda string Substring(int startIndex, int N) o Vrací podřetězec od pozice start délky N znaků o Příklad: string osloveni = "Mile deti!"; string koho =...

Více

referát

referát Uživatel se proti tomuto útoku může bránit vypnutím JavaScriptu, ale za cenu ztráty funkčnosti stránky. Na straně serveru je třeba kontrolovat vstupní data od uživatelů, které následně vypisujeme n...

Více

taháci - Vrstevnice

taháci - Vrstevnice notify( ); notifyAll( ); wait( );... - super class všech objektů - všechny třídy automaticky dědí její vlastnosti - metoda String toString( ) {kód; return...; } např. class Vector { String toString...

Více

Jaroslav SKÁLA poznámky k přípravě na reparát

Jaroslav SKÁLA poznámky k přípravě na reparát - správný kód by měl být taktéž průběžně komentovaný – komentáře vkládáme vždy za část hotové skriptu pomocí znaků // nebo #

Více

Příručka k nastavení

Příručka k nastavení 3. Rozbalte balíček do sdíleného adresáře, kam mají přístup všichni klienti. 4. Vyberte si formát, ve kterém chcete ukládat zprávy ze všech počítačů v síti: 4.1. Jednotlivé soubory (t. j. \\Server\...

Více

1 Základy programování v PHP

1 Základy programování v PHP Protože je PHP aktivně vyvíjen, v budoucích verzích jazyka se mohou některé funkce změnit nebo se mohou chovat jinak než dosud.

Více