Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.
Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.
David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …
Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.
Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.
V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.
Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.
Jsem zakladatelem tohoto portálu. Linux jsem používal spousty let, nějaký čas jsem se aktivně podílel na jeho propagaci v Česku (CZLUG, časopisy ComputerWorld, Network Magazine atd). Se současným Abíčkem už nemám nic společného.
Na abíčku máme systém variant pro webové stránky. Kromě hlavní varianty pro běžné prohlížeče existují varianty pro lynx, PDA a tisk. Stačí přidat za libovolné URL parametr varianta=lynx a můžete si to vyzkoušet. Nicméně údržba tolika verzí byla dost náročná a nepříjemná.
Fyzicky to je realizováno tak, že každá stránka má svůj soubor se šablonou. V ní je na začátku includnut soubor header.ftl a na konci footer.ftl. Adresářová struktura vypadá asi takto:
/pda/header.ftl /pda/footer.ftl /pda/show/index.ftl /web/header.ftl /web/footer.ftl /web/show/index.ftl /web/show/zpravicka.ftl
Jak je vidět, každá varianta má svůj podadresář s totožnou strukturou.
Dosud jsem to měl realizováno tak, že jsem fyzicky změnil jen soubory, které se obsahově lišily (header.ftl a footer.ftl), zatímco ostatní soubory jsem nalinkoval přes ln -s
. To zní na první pohled jako elegantní řešení, ale mělo několik problémů. Za prvé když jsem se rozhodl obsahově změnit soubor ve variantě, nesměl jsem zapomenout odstranit symlink, jinak jsem si omylem přepsal i šablonu v hlavní variantě web.
Další problém byl s údržbou. Nezvládal jsem dávat nové funkce do ostatních variant (pokud to nebyly jen symlinky), zapomínal jsem vytvářet symlinky na nové soubory, logy se plnily chybami. Tahle cesta neměla budoucnost a zrušit ostatní varianty jsem nechtěl. Nikdo se ani nenabídl, že by je spravoval.
Proto jsem hledal jiné řešení a tím se stal vlastní implementace rozhraní TemplateLoader z freemarkeru. Jak název napovídá, má za úkol nahrávat šablony. Můj FallbackTemplateLoader bere jako parametry konstruktoru FileTemplateLoader a název defaultního adresáře. Přes delegate pattern volá instanci FileTemplateLoaderu pro všechny implementované metody. Jenom v metodě findTemplateSource má speciální chování - pokud není nalezena šablona, pokusí se ji najít v defaultní variantě. Takže v podstatě stejné chování, jako se symlinky, jen bez noční můry s jejich udržováním.
Například když někdo chce zobrazit zprávičku v PDA variantě, systém požádá o šablonu /pda/show/zpravicka.ftl
. Takový soubor ale neexistuje, což by mělo vyústit ve výjimku. Nicméně FallbackTemplateLoader se pokusí stáhnout /web/show/zpravicka.ftl
a ta už existuje.
Zatím to vypadá, že systém funguje dobře. Smazal jsem většinu souborů z ostatních variant, čímž jsem se zbavil nekonzistencí s hlavní variantou a chyb. Implementace třídy je kupodivu velice krátká, klauzule GPL je snad delší než vlastní kód.
Tiskni Sdílej: