Jakub Vrána - životopis
Osobní informace
- Jakub Vrána
Neustupného 1833
15500 Praha
- jakub@vrana.cz
- +420 739 542 771
Vzdělání
- Matematicko-fyzikální fakulta Univerzity Karlovy, sekce informatiky (MFF UK)
2000 Bakalářský titul
2003 Magisterský titul, specializace: databázové systémy, lingvistika
- Týmový projekt: OROL - Otevřená redakce on-line (XML, JSP, MySQL), 2000 - 2001
moje pozice: Programování šablon (XML), návrh databáze (SQL)
- Diplomová práce: Obnovení diakritiky v českém textu (C, PHP, VBA Word), 2003
Obnovení diakritiky v českém textu není jednoduché hlavně kvůli řadě nejednoznačností. Pro obnovení diakritiky jsem použil EM algoritmus pro vyvážení vah unigramů, bigramů a trigramů a Viterbiho algoritmus pro nalezení co nejvyšší pravděpodobnosti celé věty. Výsledky jsou dobře použitelné a webové rozhraní aktivně pomáhá s opravováním chyb. Jádro programu je kvůli rychlosti napsáno v jazyce C, webové rozhraní v PHP a jednodušší verze je k dispozici také pro MS Word.
Praxe
- Centrum Holdings - Python a PHP programátor Sítko.cz (Django, OpenSocial - Shindig), 4/2008 - nyní (plný úvazek)
- Athos Travel - prezentace, administrační rozhraní a objednávkový systém incomingové cestovní kanceláře pro několik měst (vícejazyčné stránky, optimalizace pro vyhledávače, HTMLtmpl, PHP, MySQL+replikace), spolupráce s Booking.com přes XML rozhraní (webové služby), 12/2004 - 3/2008 (plný úvazek)
- European Network Company - člen týmu vyvíjejícího webové aplikace - např. Návštěvnost.cz (podrobné sledování návštěvnosti stránek) a RegistrujWeb (poloautomatická registrace do vyhledávačů, automatická kontrola přístupnosti stránek z pohledu vyhledávačů, zdravotně postižených a alternativních prohlížečů), 3/2003 - 11/2004 (plný úvazek)
- I-Point - grafy akcií a kurzů měn (PHP, PostgreSQL), komunikace s aplikačním serverem (XSLT), 11/2001 - 6/2005
- Digital Image Studio - řada WWW prezentací a Internetových časopisů (HTML, JavaScript, CSS, PHP, ASP, MySQL, Access), 3/2000 - 2/2003 (částečný úvazek během studia)
- Systinet (dříve Idoox) - webové utility (PHP, MySQL) - 10/2000 - 12/2000 (prázdninová práce)
- MFF UK - správa sekčního webu (HTML, CGI), 1997 - 2000
- Pedagogická činnost:
WebExpo - Škálování, optimalizace a zálohování databáze MySQL (10/2008)
Mistrovství v MySQL 5 - odborná korektura českého překladu (11/2006)
Konference IT Underground - Basics of PHP Security (2/2006, přednáška v angličtině)
MFF UK - praktika z HTML a PHP s několika přednáškami (2000 - 2004), předmět Internet (2004 - 2008)
VOŠIS - semestrální přednáška Tvorba webových aplikací (2004 - 2005)
- Školení:
Bezpečnost PHP aplikací (vlastní školení)
Návrh a používání MySQL databáze (vlastní školení)
JavaScript a AJAX (vlastní školení)
Knihovna jQuery a AJAX prakticky (vlastní školení)
Výkonnost webových aplikací (vlastní školení)
Konfigurace a výkonnost MySQL (vlastní školení)
Úvod do PHP (Akademie Root.cz)
Programování v PHP 5 (Akademie Root.cz)
PHP pro pokročilé (TrainTime)
Mezi klienty patří: Internet BillBoard, Telefónica O2, PricewaterhouseCoopers, Vltava-Labe-Press, ČVUT, Univerzita Karlova, Kasa.cz, Seznam.cz, Volksbank, AutoCont, Kerio, NetCentrum, Patro.cz, GTS Novera, Vojenská akademie, Fortuna, Symbio, Česká televize, Český rozhlas, Pojišťovna Kooperativa, GE Money, LMC a další.
Vlastní projekty
- php-initialized (PHP), 2008
Skript kontrolující správnou inicializace proměnných PHP.
- Adminer (PHP, MySQL), 2007
Webová konzole pro správu databáze s řadou funkcí uložená v jednom kompaktním souboru (dříve phpMinAdmin). Finalista soutěže SourceForge.net 2008 Community Choice Awards, nominace v anketě Czech Open Source v kategorii Software roku 2008.
- JUSH - JavaScript Syntax Highlighter (JavaScript), 2007
Vzledem k tomu, že zvýrazňování syntaxe do HTML kódu vytváří velice dlouhý výstup, tak je lepší ho provádět na straně klienta. Zvýrazňování syntaxe zdrojového kódu webových aplikací je velice komplexní úkol, protože se do sebe vkládá pět jazyků (HTML, CSS, JS, PHP and SQL). JUSH podporuje toto vkládání jedinečným způsobem a navíc doplňuje odkazy do dokumentace všech jazyků.
- PHP triky - weblog o elegantním programování v PHP pro mírně pokročilé (PHP, MySQL), 2/2005 - nyní
Programovací jazyk PHP je velice jednoduchý na naučení, proto v něm programuje i spousta nezkušených začátečníků. Více než 400 článků o PHP na tomto serveru se snaží šířit osvětu v tom, jak v PHP programovat správně s ohledem na specifika webových aplikací a odhaluje mnohdy netušená zákoutí jazyka. Vítěz ankety Czech Open Source v kategorii Blog roku 2008 a 2009.
- MySMS.cz - webové rozhraní pro placené posílání SMS zpráv (C, PHP, MySQL, GSM, bezpečnost), 2003
Když někteří mobilní operátoři zrušili v roce 2003 webové rozhraní pro posílání SMS zpráv, tak jsem se rozhodl vytvořit vlastní. Koupil jsem GSM modem, upravil nízkoúrovňové rozhraní mého kamaráda pro komunikaci s ním, zřídil účet v bance a napsal webové rozhraní. Nebylo moc času, takže vše muselo být hotové asi za tři týdny. Protože se operuje s penězi, byla velice důležitá bezpečnost - použil jsem HTTPS, klientské certifikáty a vytvořil bezpečné přihlašování i přes HTTP (výzva - odpověď).
- Matfyz.cz - webové a e-mailové aliasy pro studenty MFF UK (PHP, MySQL, qmail, Apache), 2001
Když jsem přišel na školu, získal jsem "pěknou" e-mailovou adresu jvra6670@barbora.ms.mff.cuni.cz a webové stránky na adrese http://www.ms.mff.cuni.cz/~jvra6670/. Protože si to nikdo nedokázal zapamatovat, tak jsem se rozhodl vytvořit server na e-mailové a webové aliasy pro všechny studenty MFF UK. Server je poměrně oblíbený a nyní spravuje přes 2000 aliasů (na škole je asi 3000 studentů).
- Čtyřka - mariáš pro čtyři hráče (Delphi), 1998 - 2000
Původně se jednalo o ročníkový projekt a já jsem se rozhodl na něm zapracovat trochu víc, aby bylo možné program prodávat. Nejzajímavější část je herní algoritmus založený na strategii používané i lidmi, takže se nejedná o obvyklý přístup hledání tahu hrubou silou. Důležitou součástí je i kvalitní přizpůsobitelné herní prostředí a síťová hra. Jedná se o shareware se zhruba 10 000 instalacemi a více než 600 platícími zákazníky.
Účast na otevřených projektech
- PHP dokumentace - jsem veden jako jeden z osmi současných autorů anglické dokumentace, pracuji i na české verzi dokumentace (CVS, Docbook), 12/2003 - nyní
- PHPExcel - knihovna pro práci s formátem Open XML aplikace MS Excel 2007, jsem autor načítání formátu a spolupracuji i na ostatních částech, 2/2007 - 12/2007
- HTMLtmpl - nový kompilátor existujícího šablonovacího jazyka do PHP kódu, 2/2006 - 2/2007
- Crypto-World - jazykové korektury, 10/2004 - 9/2008
- SciTE - řada vylepšení do open-source editoru (C++), kompletní překlad do češtiny, 12/2001 - 12/2004
Znalosti
- PHP, návrh webových aplikací, bezpečnost
- HTML, JS, CSS
- SQL, návrh databází, replikace
- C, Delphi, ASP, VBA
- Cizí jazyky: angličtina (slovem i písmem), ruština (částečně)
Publikované články
- phpMyAdmin VS Adminer - Zdroják, 1/2010
- Architecture of Adminer (anglicky) - php|architect, 8/2009
- Ukládání vícejazyčných záznamů s MySQL - Interval.cz, 5/2009
- Storing Multilingual Records in the MySQL Database (anglicky) - php|architect, 4/2009
- Seriál Google Code Jam 2008 - Programujte.com, 8/2008
- Jednoduchost programovacího jazyka - stdout.cz, 7/2008
- Bezpečnost PHP aplikací - Crypto-World, 6/2008
- Vícestránkový formulář v PHP a JavaScriptu - Interval.cz, 8/2007
- Recenze Delphi for PHP - Connect, 6/2007
- Export do Open XML v PHP - Root.cz, 2/2007
- Vyhledávání OpenSearch - Root.cz, 11/2006
- Bezpečné přihlašování uživatelů - Root.cz, 4/2006
- AJAX - Root.cz, 10/2005
- Alternativa ke GNU Gettext - Interval.cz, 5/2005
- Seriál PHP okénko - Root.cz, 3/2005 - 8/2007
- Jak zobrazit banner na zabezpečené stránce - Root.cz, 12/2003
- Využití databázových indexů - Root.cz, 7/2003
Ostatní
- Sport: triatlon
- Živnostenský list na poskytování software a pořádání odborných kurzů