Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.
Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.
Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).
Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."
Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.
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: