• Monitoring

    Velkou část minulého roku jsem strávil s monitoringem. Nepovažuji se v dané problematice za odborníka (podle kompetenční matice bych to viděl tak na n2), ale minimálně si chci napsat pár poznámek pro sebe, abych vše nezapomněl. Měl jsem zahrnout monitorování do Joel Test 2.0, protože si dnes už nedokážu představit provozovat komplexní systém bez monitoringu.

    Chci se nejprve obecně věnovat problematice monitoringu a pak konkrétní implementaci a to Nagios, respektive Eyes of Network, které nad Nagiosem staví.

  • Kódující architekt

    Napsal jsem a přeložil několik článků o stárnutí programátorů a změně jejich pozice. Završím to pohledem na kódujícího architekta. Zatímco v článku Technický lídr si zoufám, že jednou z nejtěžších voleb technické hvězdy, ze které se stává lídr, je ztráta kontaktu s nejnovější technologií, tak kniha Software Architecture for Developers (Simon Brown) mi dává určitou naději. Podle autora je softwarový architekt technická kariéra.

  • Aby test neselhal na první­ assert (JUnit 5)

    Už jsem psal o tom, jak v JUnit 4 dosáhnout toho, aby test neselhal na první assert. JUnit 5 již dosáhl milestone 2 (podrobnosti v článku JUnit 5 State Of The Union), tak je potřeba se podívat, jak s novou verzí API dosáhnout téhož.

    Jsem zastáncem toho, aby jednotlivé testy byly co nejkratší a samozřejmě na sobě nezávislé. Raději napíšu deset testovacích metod s jedním assertem, než jednu metodu s deseti asserty. Výhodu spatřuji v tom, že při jediném běhu testu vidíte na jediný pohled všechny vadné případy. A ne že opravíte první assert, spustíte test a padne vám hned druhý assert v pořadí.

    Jiné je to v případě integračních testů, například Selenium (WebDriver). Samotná příprava dat je náročná, takže je vhodné asserty sdružovat do větších celků. Ale jak z jediného běhu získat co nejvíce informací, aniž byste museli test znovu a znovu opakovat?

  • Bus faktor v praxi

    Bus faktor je číslo, které říká, kolik lidí by muselo odejít, aby to vážně ohrozilo projekt. Nejhorší číslo je 1. Z pohledu manažerů, by bylo skvělé, kdyby lidé byli snadno zaměnitelní jako součástky stroje. My si někdy můžeme nafoukaně myslet, že jsme takřka nepostradatelní (i když jako manažer, bych se snažil takových lidí zbavit). Pravdou je, že každý je nahraditelný. Otázkou je, za jakou cenu.

    Slyšel jsem příběh, u kterého jsem osobně nebyl, ale byla by škoda ho neposlat dál. Nejspíš jde o urban legend, takže jakákoliv podobnost s vaší firmou je čistě náhodná.

  • Nečitelný příběh Marie Navarové

    Případ Marie Navarové, poslední kniha Arnošta Lustiga, vznikla na základě článku PhDr. Ericha Rennera. Je to příběh hodný Shakespeara, ale mistr ho psal asi jen tak na okraj. Ostatně to v rozhovoru, jakkoliv žertovně, přiznává (vzal zálohu a neměl, co psát). Chtěl jsem si tedy přečíst původní článek (Nečitelný příběh Marie Navarové), který byl knize předlohou. Bohužel vyšel pouze v regionálním tisku. S laskavým svolením autora jsem text převedl do elektronické podoby a tímto poskytuji ve formátech pdf, ePub i mobi. Poděkování patří rovněž Martinu Javorkovi, který po mně sazbu četl.

  • Zpráva o stavu IT trhu

    Po třech letech jsem se rozhodl změnit práci. Oběhal jsem pár firem, máte-li zájem, tak se na následujících řádcích podělím o své zkušenosti a podám zprávu o stavu IT trhu. Líčení je to značně subjektivní, zúžené na svět Javy, ale dost možná platí i pro vás.

  • Refaktorování nepatří do backlogu

    Z některého kódu se mi dělá fyzicky nevolno a mám chuť ho od začátku přepsat, což by se rozhodně dělat nemělo. Další nápad je, přidat refaktorování do backlogu, ale tam nepatří. Ron Jeffries to vysvětluje v článku Refactoring – Not on the backlog! Článek jsem s laskavým svolením autora přeložil do češtiny.

    30. července 2014

    V nedávné době se objevilo hodně otázek na konferencích a v e-mailových diskusích ohledně toho, zda dávat refaktorovací story do backlogu. I kdyby technický dluh vyrostl, tak to nic nemění na tom, že je to hrozná myšlenka. Vysvětlení proč:

    Na začátku projektu je kód čistý. Pole je posekané, život krásný a svět náš. Všechno půjde hladce.

  • Mockování a úskalí času v Javě 8

    Adaptace nových verzí Javy jde pomalu. Dodnes vídám, že programátoři neumí či nechtějí používat multi catch, try-with-resources a diamond operátor. Jak chtít složitější posun, který přináší Java 8?

    Ovšem sám nejsem bez viny. Java 8 už je tu víc jak dva roky. Při jejím uvedení jsem psal, jak obstojí v Akumulátor testu, ale na projektech ji naplno nevyužíváme. Rozhodl jsem se to napravit tím, že začnu používat java.time.* místo java.util.Date. Jednak kvůli API a taky proto, že jsou nové třídy immutable. Chtěl bych se podělit o to, jak jsem se při tom nachytal.

  • Clean Code

    Jeden z mých nejúspěšnějších tweetů a přitom taková blbost. Takže asi stojí za rozepsání. Mám totiž za to, že existuje korelace mezi pořádkumilovností a čistým kódem.

    Občas vídám kód, z kterého je mi fyzicky nevolno. Ale člověk nějak musí zjistit, co je špatné. Abych citoval Ilustrovanou knihu argumentačních faulů:

    Číst o věcech, které bychom neměli dělat, je často užitečná a poučná zkušenost. Ve své knize O psaní píše Stephen King: „Nejlépe se člověk naučí, čeho se vyvarovat, při čtení špatné prózy.” Popisuje svou zkušenost se čtením obzvlášť špatného románu jako „literární ekvivalent očkování proti neštovicím” [King]. Matematik George Pólya bývá citován, jak ve své přednášce o výuce matematiky prohlásil, že člověk musí nejen téma dobře chápat, ale také musí vědět, jak lze téma chápat špatně [Pólya].

    Na pomoc si vezmu knihu Clean Code (Robert C. Martin) a doplním o pár svých postřehů. Měl jsem si ji přečíst na začátku své kariéry, ale na druhou stranu po deseti letech praxe ji dokážu o to víc ocenit. Je smutné, že principy v ní popisované jsou často opomíjené.

  • Jak jsem trénoval na maraton

    Uběhl jsem maraton. Hodně lidí uběhne maraton rychleji, spousta pomaleji a úplně nejvíc jich ho neuběhne vůbec. Je to, alespoň pro mě, především závod sám se sebou a můžu říct, že ten jsem vyhrál. Jestli vás baví běhání a nebo chcete sami maraton uběhnout, sepsal jsem pár poznámek o tréninku a samotném závodu, které by vás mohly zajímat.

subscribe via RSS