O mně

Jmenuji se Luděk Veselý a pracuji jako programátor. Starám se o backend, kde nejčastěji vytvářím API pro frontend nebo mobilní aplikace. Používám jazyk PHP společně s frameworky Nette a Symfony.

Data ukládám do relačních databází (MySQL) nebo dalších úložišť (především Elasticsearch, ale i MongoDB nebo Redis). O Elasticsearch se však zajímám nejvíce - ať už jde o vyhledávání, logování nebo analýzu dat. Pokud to dává smysl, používám architekturu mikroslužeb a náročnější operace nechávám zpracovat na pozadí prostřednictvím RabbitMQ.

Zajímám se o linuxové kontejnery, konkrétně o nástroje Docker a Kubernetes. S jejich použitím mám praxi při lokálním vývoji i v produkčním prostředí. S kontejnery také souvisí kontinuální integrace a obecně automatizace procesů souvisejících s testováním a nasazováním. Jsem příznivcem filozofie DevOps a pro CI/CD využívám CircleCI a GitLab CI.

Při práci v týmu jsem používal řadu nástrojů, mezi nejlepší dle mého patří Trello a JIRA. Samozřejmostí je pak verzování (Git), použití Git Flow nebo dělání Code reviews. API dokumentuji pomocí Apiary, zdrojové kódy se pak snažím komentovat tak, jak je nezbytně nutné - komentáře by dle mého neměly nahrazovat dobře čitelný a pochopitelný kód. Používám také nástroje pro statickou analýzu kódu, veškeré testy však pouštím také na integračním serveru.

Abych se udržel v obraze, navštěvuji některé konference a srazy. Získané vědomosti se snažím prezentovat dál, většinou ve formě článků na tomto webu - nejnovovější je seriál o vyhledávání pomocí Elasticsearch v češtině. Přednášel jsem také na Poslední sobotě, kde jsem mluvil o agregaci logů kontejnerů pomocí Elastic Stacku. Rád zkouším nové nástroje a techniky, například v rámci diplomové práce to byl jazyk Golang, který jsem použil při implementaci vyhledávání. V rámci bakalářské práce jsem experimentoval s dolováním dat.

Bydlím v Praze, kde pracuji pro Atoto.cz, pocházím z Červených Peček. Dříve jsem pracoval na vlastním projektu AdBoos (nástroj pro automatizovanou správu PPC kampaní). Vystudoval jsem informatiku na FIS VŠE, bakalářské studium jsem absolvoval na FM TUL. Kromě programování mě baví hudba a cestování sem a tam.


Odkazy


Reference

Atoto.cz

od r. 2016

Pro Atoto pracuji jako backend programátor, kde přispívám do vývoje mikroslužeb postavených na Symfony, Silex a Nette. Primárně pracuji s Elasticsearch a řeším tak vyhledávání a našeptávání. Starám se také o automatický deployment do Google Cloudu, kde pro orchestraci kontejnerů používáme Kubernetes.

Vyhledávání jako služba

Diplomová práce, r. 2017

V rámci své diplomové práce jsem vytvářel nástroj, který je poskytován jako služba a umožňuje snadnou implementaci fulltextového vyhledávání do e-shopu. Samotné vyhledávání je implementováno pomocí nástroje Elasticsearch, API je pak napsané v jazyce Golang. Více podrobností naleznete v samostatném článku.

AdBoos.com

2015 - 2017

Ve firmě AdBoos jsem byl společníkem a především vývojářem. AdBoos umožňuje správu a řízení reklamních kampaní v systémech Sklik, AdWords, Facebook, Heureka a dalších. Kampaně jsou automtizovaně vyhodnocovány a řízeny. Aplikace běží na Nette a knihovnách Kdyby (Doctrine, RabbitMQ, Elasticsearch, Console).

Databáze dopravních nehod ČR

Bakalářská práce, r. 2014

V rámci své bakalářské práce jsem vytvořil databázi dopravních nehod, kterou si můžete zdarma stáhnout a libovolně analyzovat. Nabízím CSV soubor a Docker image s daty v Elasticsearch a připravenými dashboardy v Kibaně. Více informací a odkazy naleznete na samostatné stránce.

Slever.cz

2013 - 2015

Od roku 2013 jsem pracoval jako vývojář pro slevový portál Slever.cz, který patří mezi 5 největších slevových portálů v ČR. Od té doby jsme se rozrostli - z původních dvou programátorů na pětičlenný tým. Web běží na Nette, používá MySQL, Memcached a Elasticsearch. Pro vizualizace a analýzu logů používáme Kibanu. Práci plánujeme s pomocí JIRA Agile.

Collectora software s.r.o.

r. 2012

V roce 2012 jsem pracoval jako vývojář v týmu zajišťující vývoj a podporu inkasního systému v PHP a MySQL pro společnost Transcom s.r.o. Samotný vývoj probíhal v přibližně desetičlenném týmu, pro spolupráci se využívalo SVN a Redmine.