Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.
Virtualizační software Xen (Wikipedie) byl vydán v nové verzi 4.21. Podrobnosti v poznámkách k vydání a přehledu nových vlastností.
Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).
Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.
První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.
Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.
Byla vydána nová verze 8.5 (8.5.0) skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení (URI Extension, Pipe Operator, Clone With, …). Vydána byla také příručka pro přechod z předchozích verzí.
Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu
… více »Společnost Meta Platforms vyhrála ostře sledovaný spor o akvizici sítě pro sdílení fotografií Instagram a komunikační aplikace WhatsApp. Podle amerického soudu firma jejich převzetím neporušila antimonopolní zákon, protože si tak nemonopolizovala trh sociálních sítí. Žalobu na Metu podala před pěti lety americká Federální obchodní komise (FTC). FTC argumentovala, že Meta, tehdy známá jako Facebook, koupila tyto dvě společnosti v letech 2012 a 2014 proto, aby s nimi nemusela soutěžit.
Home Assistant včera představil svůj nejnovější oficiální hardware: Home Assistant Connect ZBT-2 pro připojení zařízení na sítích Zigbee nebo Thread.
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: