Zjednodušený funkční model Enigma
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.
Czech Java User Group
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.
Mechanický, turingovsky úplný, počítač Turing Tumble můžu vřele doporučit. Možná ne pro každý kroužek či školu, ale pro nadšené rodiče určitě.
Minule jsem se věnoval Úskalí API se zaměřením na binární kompatibilitu a tvorbu rozšíření. API se přidržme, tenkrát jakožto rozhraní mezi komponentami v podobě webových služeb. Budeme mluvit o RESTu, OpenAPI specifikaci, proč nejdřív popisovat API a proč a jak generovat kód (s přiloženým příkladem).
Moje zkušenost s API by se dala shrnout: Důsledně rozlišujte a oddělujte client API a SPI. Včas uzavřete pro změny a najděte si vhodný způsob pro rozšiřování. Za živelným vývojem se jen obtížně dělá tlustá čára.
Kolaterální ztráty v IT: ztráta důvěry běžných uživatelů a získané špatné bezpečnostní návyky.