Představte si, že stojíte před úlohou zpracování jednoduchého matematického příkladu, který Vám uživatel zadá jako textový řetězec třeba do pole pro vyhledávání. Typicky chce provést jednoduchou početní operaci s čísly. Článek popisuje myšlenkové postupy a konkrétní návod, jak na to.

Naivní implementace

Dlouho jsem přemýšlel nad tím, jestli by šlo jednoduchý matematický výraz zpracovat nějakým trikem, aby byl kód co nejkratší… a po mnoha letech ono řešení skutečně mám.

Uvedené řešení vnímejte pouze jako příklad, je totiž extrémně nebezpečné a nečestný uživatel může snadno podtrčit řetězec, který například provede smazání celého aplikace nebo krádež databáze!

$query = ‘5 + 3 * 2’;


Cache a proces cachování v širším kontextu vyjadřuje snahu o uložení těžko získaných dat někam stranou do rychle dostupného uložiště, z kterého můžeme odpověď příště načíst efektivně. Jako koncept to vypadá velmi dobře, ale lze jednoduše chybovat. Článek ukáže možnosti, jak o cachování přemýšlet a proč je naivní implementace špatně.

Cache jako řešení pomalého načítání webu

Pokud provozujete webovou aplikaci, kterou navštěvují byť jen desítky uživatelů za hodinu, časem zjistíte, že při naivní implementaci vnítřního backendu nebo databáze dochází k výkonnostním problémům a stránky se načítají pomalu. Rozumně navržený web by měl na request odpovědět do 200 ms, u složitějších dotazů (třeba filtrace produktů) zhruba do…


Při vývoji knihoven i celých aplikací se vždy snažím používat co nejméně závislostí i za cenu duplikace některých metod. Tento článek popisuje způsoby, jak o softwarovém vývoji přemýšlet trochu na vyšší úrovni a aktivně bojovat s fenoménem Dependency hell.

Na čem všem může být software závislý

Pokud již delší dobu vyvíjíte software, určitě si všímáte, že se většina úkolů stále dokola opakuje. Typicky je potřeba získat nějakým způsobem data od uživatele, zpracovat, uložit a příště zobrazit. Způsobů, jak toto udělat, existují stovky. …


Po pěti letech na volné noze a vývoji nejrůznějších webů jak přes agentury, doporučení, klienty získanými z historie nebo jen náhodou se dostávám do pozice určité flustrace. Pochopil jsem, že pokud chcete dodávat kvalitní weby, není to jen o validním HTML a šabloně, často je za tím mnohem víc. Tento článek popisuje konkrétní faktory, na které si na základě zkušeností dávám velký pozor a jak razantně zvýšit svoji hodnotu na trhu práce. Článek chápejte spíše jako sbírku postřehů a doporučení, použití je na vlastní nebezpečí a jsem otevřen další diskusi.

Začátky komerční spolupráce přes agentury

Pokud člověk začíná jako webový vývojář a chce řešit webové…

Jan Barášek

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store