Jak (ne)získat zápočet/zkoušku
Protože se každý rok najdou studenti, kteří neporozumí tomu, co se o udělování zápočtu dozvědí na přednáškách a cvičeních, případně tomu, co si přečtou, vznikla tato stránka. Můžete jí brát jako přátelský návod, jak se vyvarovat případným nedorozuměním na konci semestru.
Test
Pokud jste chodili na přednášky, měl by pro vás být test hračka. Zásadně se nedoporučuje spoléhat se na nějaké již vypracované otázky nebo šprtat na zpaměť.
Průběh cvičení
- Účast na cvičení není vyžadována, jsme na vysoké škole. Vyžadováno však je, abyste si probíranou látku osvojili, a na to je na cvičení času a prostoru dost.
- Pokud něčemu přesto nerozumíte, využijte konzultační hodiny.
- Jestliže při obhajobě aplikace budete argumentovat tím, že dané problematice moc nerozumíte a nestihnete tedy vytvořit aplikaci odpovídající podmínkám, je to přitěžující, nikoli polehčující okolnost.
Požadavky na zápočet
- Úloha odevzdaná po termínu bude automaticky hodnocena maximálně 50 % (nikoli minimálně) – týká se především první úlohy.
- Pokud to někdo dosud nepochopil, test z teorie je možné v případě neúspěchu opakovat, a to téměř libovolněkrát (dokud se vám ho nepodaří napsat alespoň na 50 % nebo neskončí zkouškové období). Test můžete psát v oficiálně vypsaných termínech a navíc v konzultačních hodinách J. Koska. Během jednoho dne můžete test psát maximálně jednou. Ale jak říkal prof. Jiroušek, až ho budete psát po šesté, měli byste zvážit, zda je vysoká škola pro vás to pravé.
- Pozorně si přečtěte požadavky na
zápočet/zkoušku, zvláště část týkající se aplikace. Na pozdější reklamace
nemá nikdo náladu. Především si uvědomte následující:
- Lze vypracovat téměř leccos, za předpokladu, že vám to schválí vyučující.
- V opačném případě je možné si zvolit některý z ukázkových příkladů uvedených v seznamu. Často se jedná o komplexní úlohy a požadavky u nich uvedené lze považovat za minimální, jež by vaše aplikace měla splňovat.
- Většina studentů volí databázovou aplikaci. Nevykazuje-li zvláštní funkce, na nichž se domluvíte předem (viz bod 1), je potřeba, aby splňovala požadavky v textu uvedené – tj. alespoň dvě tabulky ve vztahu 1:N s realizací všech základních databázových operací.
- Úloha "Pohlednice" v textu není dostatečně definována. Nemusíte okopírovat celý design, ale spíše funkčnost – upravitelnou strukturu kategorií a podkategorií, náhledy, odesílání ve zvolený čas je opět minimum.
- Mnohem důležitější je dobře provedená funkčnost než design. Je-li vidět, že jste přemýšleli nad návrhem aplikace i návrhem rozhraní, je to lepší, než pokud strávíte hodiny malováním tlačítek, lišt či pozadí.
- Odevzdávání aplikace probíhá formou osobní konzultace, během které jsou k dispozici zdrojové kódy aplikace. Bez toho nemůže být zápočet udělen. Pokud z nějakého důvodu nechcete některé části kódu zveřejnit (například přístupová hesla apod.), lze se individuálně domluvit. Osobní konzultace probíhá formou diskuze nad zadanou aplikací – o zvoleném řešení, možnostech jeho vylepšení, problematice bezpečnosti aplikace atd.
- Vzhledem k tomu, že hrozí reálné riziko, že aplikaci bude třeba upravit (nebo předělat), viz dále uvedený seznam, nenechávejte konzultace na poslední možný termín. Jednak vás přijde vždycky polovina a jednak nemáte na případné úpravy čas – což je váš problém, nikoho jiného (YOU HAVE BEEN WARNED!).
Na co jsou vyučující v aplikacích zvláště alergičtí
Následující seznam čtěte velmi pozorně. Pokud se v demonstrované aplikaci objeví některý z těchto neduhů, je velmi pravděpodobné, že ji budete opravovat.
Používání ID tabulek v uživatelském rozhraní. Co je uživateli do toho, že návrhář aplikace potřebuje ID pro snazší práci s jednotlivými záznamy? Když vybíráme jméno, chceme vybírat třeba z rozevíracího seznamu, a ne zadáním ID.
Ještě nesmyslnější je požadovat zadání ID při vkládání nového záznamu, kdy pro úspěšné vložení musí uživatel nejprve projít seznam již existujících záznamů a najít "volné" číslo.
TIP: Elegantně to můžete vyřešit použitím modifikátoru
auto_incrementpři vytváření tabulky.- Předávání hesla ve skrytém poli formuláře. Naprostý nesmysl. Použijte nejlépe session proměnné.
Nechráněné administrační rozhraní. Pokud do některé části webu nemá mít běžný uživatel přístup, je třeba mu v tom zabránit. Nezabráníte tomu tím, že zvolíte obtížně uhodnutelné jméno stránky, ani tím, že bude muset uživatel projít vstupním formulářem a zadat heslo, ale další stránky již budou nechráněné, takže stačí zadat URL takové stránky a vstupní proceduru obejdete.
TIP: Budete-li ukládat hesla do databáze, je vhodné je ukládat v zakódované podobě. Vhodná je např. funkce
md5().- Aplikace pracující s jednou tabulkou. I kdyby aplikace uměla data vkládat, upravovat, mazat, vyhledávat, zobrazovat i třídit, jedna tabulka je obvykle málo. Tato podmínka není samoúčelná, drtivá většina reálných aplikací v PHP i dalších skriptovacích jazycích pracuje s databázemi a prakticky vždy je třeba manipulovat s více tabulkami zároveň.
- Aplikace není vaše vlastní. Je trapné se o tom vůbec zmiňovat, ale občas se skutečně stane, že se student pokusí získat zápočet za aplikaci, která není jeho výtvorem. Pokud se na to přijde, pravděpodobně již možnost opravy nedostane (ve stejném semestru).
- Kniha hostů, chat bez místností či adresář nejsou zápočtové aplikace, ale hříčky v rámci cvičení.
Na co si dát pozor v odevzdávaných stránkách
- Stránky neprojdou validátorem. V textu se
věty oddělují tečkou, příkazy v Pascalu se oddělují středníkem
a stránky musí vyhovovat syntaxi jazyka HTML. Jak prosté. Neprojdou-li
vaše stránky bez chyby validátorem, nemusíte se je ani snažit
odevzdávat. Výjimečně lze přimhouřit oko pouze nad použitím atributů
nad rámec HTML 4.01, pokud se používají kvůli zpětné kompatibilitě se
starými prohlížeči (např. atribut
languageu elementuscript). - Pro definici formátování používáte elementy jako
font. Jsme v 21. století, a proto pro definici vzhledu používáme výhradně kaskádové styly. - Stránka je napsaná pro Internet Explorer, ne pro
web. Mnoho studentů stránky napíše, napíše je špatně, ale v IE
fungují. Pak se ohánějí tím, že jim stránky přece fungují, takže musí
být dobře. Jenže stránky jim fungují jen kvůli tomu, že IE je až "příliš
chytrý" – obrací zpětná lomítka v URL (ano,
http:\\www.vse.cz skutečně není URL adresa), vynechává znaky
z HTML kódu (ano, návěstí se skutečně nezapisuje včetně identifikátoru
fragmentu
<a name="#identifikator">, ale jen<a name="identifikator">). Informace mají být přístupné co nejširšímu okruhu čtenářů, stránky proto píšeme tak, aby vyhovovaly standardům, a ony se pak zobrazí i v prohlížečích. Příjemný vedlejší efekt, nemyslíte?