Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
namespace myns { struct myclass { int a() const { return 5; } int b() const { return 6; } int mysum() const { return a() + b(); } }; // Enable ADL mysum call for myclass int mysum(const myclass& m) { return m.mysum(); } } // -- 3rdparty knihovna -- namespace thirdparty { struct thirdpartyclass { int abc() const { return 5; } int def() const { return 6; } }; } // -- vlastni kod, implementovat mysum pro thirdpartyclass, musi byt ve stejnem namespace jako thirdpartyclass, aby fungovalo ADL namespace thirdparty { int mysum(const thirdpartyclass& t) { return t.abc() + t.def(); } } // -- pouziti v template: namespace totalydifferentnamespace { template<class... T> int getSumOfSums(const T&... t) { return (mysum(t) + ...); // Zde se vyuzije ADL, zavola se metoda mysum z namespace, kde je kazda trida definovana } } int main() { myns::myclass mc; thirdparty::thirdpartyclass t; return totalydifferentnamespace::getSumOfSums(mc, t); // 11+11=22 }
namespace myns { struct myclass { int a() const { return 5; } int b() const { return 6; } int mysum() const { return a() + b(); } }; } // -- 3rdparty knihovna -- namespace thirdparty { struct thirdpartyclass { int abc() const { return 5; } int def() const { return 6; } }; } // -- namespace totalydifferentnamespace { template<class... T> int getSumOfSums(const T&... t) { return (t.mysum() + ...); // Zde se vyuzije ADL, zavola se metoda mysum z namespace, kde je kazda trida definovana } } template<typename T> struct mysuminterface // not specialized { int mysum() const { return 0; } }; // specialzed for myns::myclass template<> struct mysuminterface<myns::myclass> : myns::myclass { using myns::myclass::mysum; }; // specialzed for thirdparty::thirdpartyclass template<> struct mysuminterface<thirdparty::thirdpartyclass> : thirdparty::thirdpartyclass { int mysum() const { return abc() + def(); } }; int main() { mysuminterface<myns::myclass> mc; mysuminterface<thirdparty::thirdpartyclass> t; return totalydifferentnamespace::getSumOfSums(mc, t); // 11+11=22 }
proč jakoby nestačí podědit nějakej trait a musí se 'hackovat' hotová instance?? :O :O
Tiskni
Sdílej: