Seznam všech témat pro ústní zkoušku PRG+IDS 2011
Transkript
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
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 =...
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...
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...
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 #
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\...
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.