David Grudl | |
---|---|
![]() David Grudl | |
Narození | 23. ledna 1978 (46 let) Moravská Třebová |
Povolání | programátor |
Některá data mohou pocházet z datové položky. |
David Grudl (* 23. ledna 1978) je český programátor,[1] podnikatel, publicista a spisovatel programů.[2] Je znám především díky PHP frameworku Nette Framework, šablonovacímu systému Latte, ladicímu nástroji Tracy, databázovému layeru Dibi, převaděči textu do HTML Texy. Píše blogy phpFashion a La Trine, který byl v roce 2015 nominován na cenu Magnesia Litera.
Do osmnácti let žil v Břeclavi, poté během studií v Brně a nyní bydlí v Praze. Celý život působí na volné noze, jen krátkou chvíli pracoval jako IT administrátor[3]. Od mládí se věnuje programovaní (nebo, podle jeho slov, je „spisovatelem programů“) a dříve také DTP grafice. Sázel například noviny Břeclavsko. Od roku 2008 působí jako lektor a školí především své softwarové produkty.
V roce 2017 se podílel společně s rodiči holčičky postižené spinální svalovou atrofií na crowdfundingové kampani,[4] jejímž cílem bylo získat prostředky na léčbu. Během několika dní se podařilo získat přes 3,5 milionu Kč.
Rád sportuje, běhá závody Spartan race a v roce 2018 okusil Pražský mezinárodní maraton.
David Grudl je znám především díky své práci na PHP open source projektech:
Nette Framework je MVC framework napsaný pro PHP. Využívá dependency injection, událostmi řízené programování a webové rozhraní sestavuje z komponent, díky nímž programátor nemusí kód psát dvakrát.[5] Na frameworku Nette je neobvyklá práce s odkazy. Ty se nepíší ve formě URL, ale odkazují se přímo na funkci, kterou kliknutí zavolá.[6] Díky této technologii je možné jednoduše spravovat a měnit pěkné URL z jednoho místa.[7]
Nette se skládá přibližně z dvaceti balíčků (webové UI, formuláře, validace dat, routování, databáze, generátor PHP kódu, tester, …), které lze využívat samostatně.
Latte je šablonovací systém pro PHP, který je zaměřený primárně na bezpečnost. Používá k tomu mimo jiné automatické kontextově sensitivní escapování (Context-Aware Escaping), které rozezná, ve které části dokumentu se výpis dat nachází, a podle toho zvolí správnou escapovací funkci. Escapování je automatické, aby se předešlo chybám vzniklým proto, že na ně programátor zapomene.
Tracy je ladicí nástroj, který pomáhá programátorům v PHP vizualizovat a logovat chyby. V případě překlepů v kódu se snaží odhadnout a navrhnout opravu. Tracy lze rozšířit pomocí pluginů, uživatelům je k dispozici jejich repositář.
Dibi je PHP databázový layer, který se snaží zjednodušit zápis SQL příkazů a ulehčit rutiny, se kterými se programátor běžně setkává, např. získání výsledku jako dvourozměrné pole, import/export SQL souboru, vytvoření asociativního pole ze dvou sloupců apod. Dibi má implementovanou ochranu proti SQL injection, je napsána v objektovém PHP a obsahuje ovladače pro práci s 8 typy databází – MySQL, PostgreSQL, SQLite, ODBC, MS SQL, Oracle a Firebird.
Texy je PHP knihovna pro převod čistého textu do HTML. Vychází z myšlenky, že v HTML je důležitější logická struktura, než samotná vizuální podoba[8] – na rozdíl třeba od novin či WYSIWYG editoru. Snaží se tedy mít intuitivní syntaxi, aby zdrojový kód byl pro člověka plně čitelný i bez dalších znalostí.
V roce 2008, několik dní po prodeji blogovacího systému Blog.cz společností Jyxo televizi Nova Grudl na svém blogu upozornil na podezřelé navyšování počtu založených blogů. Posléze bylo zjištěno, že blogy (splogy, spamové blogy) vytvářel uživatel Stanislav Humplík pomocí tzv. generátoru. Celkem šlo podle sdělení provozovatele o 1300 blogů z celkového počtu 520 000.[9]
V roce 2009 upozornil[10] na bezpečnostní chybu společnosti Sazka v provozování internetového sázení. Kvůli této chybě mohlo docházet k vyzrazování důvěrných osobních dat uživatelů.[11]