Úskalí GHA runneru
V podstatě banální historka o tom, že si u GitHub Action runneru nemůžete zvolit region, kde běží, a jaký dopad to může mít na váš build.
Czech Java User Group
V podstatě banální historka o tom, že si u GitHub Action runneru nemůžete zvolit region, kde běží, a jaký dopad to může mít na váš build.
Ačkoli se to může zdát banální, Objektově-relační mapování je Vietnamem informatiky. Představuje šlamastyku, která začíná dobře, postupem času se komplikuje a zanedlouho své účastníky uvězní v závazku, který nemá jasné ohraničení, jasné podmínky vítězství ani jasnou strategii úniku.
Učitel informatiky na naší škole, Matěj Burda, přišel s nápadem, že ho zaujala soutěž FIRST Lego League Challenge. Jestli soutěž neznáte nebo váháte, zda se příští rok přihlásit, tak vás může následující text navnadit, abyste se příští rok zúčastnili i vy.
Jeden z klamů, kterému stále podléhám, je, že vám program poběží v jediné instanci. Jasně, mnohdy na to myslím, klasicky zajištění, aby úloha v celém clusteru běžela maximálně právě jednou, k tomu perfektně slouží knihovna ShedLock. Nicméně pro některé případy stále ještě nemám vypěstovanou dostatečnou intuici. Fousatá legenda praví, že v IT máme dva obtížné problémy: pojmenování věcí a […]
Jak atraktivně přiblížit šifrování v kroužku programování? Zjednodušený funkční model Enigma. Poznamenal jsem si rozcestník zdrojů: odkaz na 3D model (abyste si mohli vytisknout vlastní) a na vysvětlující video.
Již mnohokrát jsem se vyznával, že jsem se k počítačům dostal přes hry. Na jejich tvorbu jsem však neměl schopnosti. Naštěstí existuje varianta blokových jazyků a tu vám chci přiblížit. Hráli jsme si s tím na kroužku programování. Třeba si to taky budete chtít zkusit.
Jako správný Čech mám na všechno vlastní názor a nebojím se ho vyjádřit. Alespoň jsem si nechal nepatrný odstup, aby vychladly emoce. Není lepší si podobné heroické výkony odpustit? Nelegitimizuje to jen současný marast? Vybředneme někdy z Akcí Z?
Vyhodíš javax dveřmi, ale vrátí se ti oknem. Kde se sakra vzal import javax.annotation.Nullable, když už jsme kompletně přešli na Jakartu, a jak se toho zbavit?
Dnešní IDE mají skvělou podporu pro refaktorování, ale občas si s nabízenými možnostmi nevystačím. Naštěstí pořád je k dispozici replace all. To ovšem začne být zajímavě mocné, až když zapojíte regex. Fousatý vtip říká, že máte-li problém a rozhodnete se ho řešit regulárním výrazem, máte problémy rázem dva. Mnozí z vás už jistě používáte ChatGPT […]
Díky Romanu Provazníkovi za přednášku Jak může funkcionální přístup obohatit OOP programátory. Jako Java vývojář jsem se zamyslel a udělal si pár poznámek.
Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64 (aka C64). Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold. Videozáznam a přepis přednášky z jOpenSpace.
Napsat do dokumentace, že si máte v produkci změnit výchozí heslo, nestačí. Zároveň bychom měli myslet na pohodlí programátorů. Jak lze dosáhnout obojího při zachování bezpečnosti?
Ač bych se rád věnoval mentoringu, tak rozsah mých dobrovolnických aktivit mi to již neumožňuje. Nicméně mám jednu univerzální radu, která vás může zásadně posunout. Používejte statickou analýzu kódu. Ukažme si to na příkladu enum.
Dejte sbohem javax, vyhoďte Java EE a nahraďte Jakarta EE.
Programovací jazyk jako takový dost možná důležitý vůbec není, ale především celý ekosystém, na který se podíváme. Nečekejte tu popis syntaxe ale spíš přehled pojmů, abyste se hned na začátku své cesty neztratili.
Integrace systémů je podle mé zkušenosti jedna z nejkomplikovanějších věcí (kromě invalidace cache a pojmenování). Ne že by to byla raketová věda, ale existuje spoustu drobností, které se můžou rozsypat. Pravděpodobnost, že se to stane, hraničí téměř s jistotou. Jakmile věci vypustíte z rukou, těžko se ladí. Stopujete pak pouze své logy. Proto tímto apeluji, […]
Zpětná kompatibilita je něco, co mě poslední roky na jednu stranu děsilo, ale na druhou stranu i bavilo (protože překonávání překážek). Například přidání argumentu do konstruktoru je binárně zpětně nekompatibilní změna, musíte totiž současně zachovávat i ty již existující. Při druhém a dalším přidání @Deprecated si začínáte uvědomovat, že tudy cesta nevede. Jedním z nástrojů, […]
Jak na toString cizích knihoven, když jejich zdroják nemáte pod kontrolou.
Nejen pro produktovou firmu je důležité logování. Bez kvalitní dokumentace a logů padá na úroveň podpory L3 příliš mnoho věcí. Neříkám, že vím, jak logovat správně, ale pár průšvihů, třeba s JPA a asynchronním logováním, už jsem zažil. Chtěl bych sepsat, k čemu jsem dospěl, protože podobné otázky u nejednoho code review (zejména při změnách […]
Na kroužku programování se věnuju i aktivitám bez počítače. Chtěl bych tady na jednom místě shrnout, co jsem vyzkoušel a co se mi osvědčilo. Rozcestník původně vznikl jako přednáška pro ne-konferenci jOpenSpace. Záznam bude zveřejněn později, ale já osobně mám rád i textovou podobu.