Hledání nejkratší cesty s omezeními – technická case study

Článek o grafovém problému hledání nejkratší cesty se zadanou množinou mezilehlých prvků sítě. Kromě popisu upraveného Dijkstrova algoritmu, který tvoří jádro celého řešení, se zabývá i řadou dílčích vedlejších problémů, které bylo nutné překonat pro zdárné uvedení programu do praxe. internetové odkazy: http://tomaszalusky.blogspot.cz/2013/12/hledani-nejkratsi-cesty-s-omezenimi.html

Odkaz Michaila Kalašnikova softwarovému vývoji

V tomhle článku trochu navážu na armádní speciál, který nezávazně píšeme s Banterem. On se v posledním díle Co se firmy můžou přiučit od armády 2 rozepsal o uniformách. Já bych chtěl využít aktuálního tématu, úmrtí Michaila Kalašnikovat [1.], konstruktéra útočné pušky AK-47 (zkráceně pojmenované kalašnikov), která to dotáhla až na vlajku státu…

Hromadný apt-get install

I s tím málo, co s Linuxem umím, si připadám efektivnější než s Windows. Pominu-li drobnosti jako to, že ve Windows scrollujete jen tam, kde je focus, tak nejdůležitější pro programátora je pochopitelně příkazová řádka. Bez Unixové si připadám, jako kdybych měl zlámané obě nohy. Dobře, existuje Cygwin, ale to jsou jen berle, s těmi těžko budete…

Nechte Conwayův zákon pracovat ve váš prospěch

Nějaký čas zpátky jsme řešili největší technologické problémy (technologický dluh), které nás brzdí v tom, abychom dokázali pružněji a zároveň spolehlivě doručovat nové vlastnosti. Při detailním průzkumu jsme zjistili, že většina technických problémů resp. jejich neřešení je způsobené špatně nastavenou organizační strukturou firmy. Nejenom…

Team geek postřehy

Nejoblíbenějším rozhraním pro komunikaci programátora s okolním světem je kompilátor, ačkoliv jeho výstup bývá občas lehce nekompatibilní a těžko použitelný pro komunikaci s dalšími lidmi. Většina geeku mylně pokládá technickou stránku software za jediné kritérium úspěchu. Mnohdy ovšem, k velké nelibosti geeku, rozhoduje lidská stránka vývoje – jak…

Časté chyby při logování – chybějící kontext a hint

Logování (logging) a jeho výstup je mnohdy jediným prostředkem k diagnostikovávání problémů, které vznikají za běhu aplikace. Jednou z chyb, které se často dopouštíme, je chybějící kontext, který umožňuje i bez znalosti zdrojového kódu určit k čemu mohlo dojít. Budu to vysvětlovat na účelově sestrojeném kousku kódu s nákupním košíkem.

Znovupoužitelnost vs. agilita

Původně jsem chtěl psát o tom, jak je důležité vizualizovat cokoliv, na čem děláte a jaký efekt měla instalace TV resp. operační dashboard s naší produkcí, ale pak mi běh událostí připomněl téma, které nosím v hlavě delší dobu. Téma souvisí to s naším inženýrsko-programátorským přístupem k znovupoužitelnosti. Tenhle článek nebude o…

Nenajímejte jednotlivce, budujte tým – proč se nevyplatí klonovat Jaromíra Jágra

Jednou jsem byl na motivační prezentaci o budování úspěšné firmy. Hlavní poselství, alespoň po té době mi to přijde, spočívalo v důrazu na najímání takzvaných A-players – američané občas používají označení Rock Stars. Nikdo asi nemůže rozporovat fakt, že pokud má být firma úspěšná, musí v ní pracovat šikovní a schopní lidé. Na druhou stranu…

Demo aplikace pro Ujorm a Wicket

Knihovna Ujorm byla představena na portálu java.cz v roce 2007, tehdy ještě pod starým názvem UJO Framework. Od té doby uběhlo 6 let a zdrojový kód prošel mnoha úpravami, základní myšlenka však zůstala stejná: přístup k vlastnostem objektu se provádí pomocí konstant zvaných klíče. Pro prezentaci knihovny Ujorm jsem se rozhodl připravit malý…