Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
Organizace Apache Software Foundation (ASF) vydala verzi 29 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Ústavní soud na svých webových stránkách i v databázi NALUS (NÁLezy a USnesení Ústavního soudu) představil novou verzi chatbota využívajícího umělou inteligenci. Jeho posláním je usnadnit veřejnosti orientaci v rozsáhlé judikatuře Ústavního soudu a pomoci jí s vyhledáváním informací i na webových stránkách soudu, a to i v jiných jazycích. Jde o první nasazení umělé inteligence v rámci webových stránek a databází judikatury českých soudů.
Byla vydána nová verze 10.1 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnuta je podpora NanoPi Zero2 a balíček WhoDB.
Konference Otvorený softvér vo vzdelávaní, výskume a v IT riešeniach OSSConf 2026 proběhne od 1. do 3. července 2026 na Žilinské univerzita v Žilině: "Cieľom našej konferencie je poskytnúť priestor pre informovanie o novinkách vo vývoji otvoreného softvéru a otvorených technológií, o možnostiach využitia týchto nástrojov vo vede a vzdelávaní a taktiež poskytnúť priestor pre neformálne priateľské stretnutie užívateľov a priaznivcov
… více »Korespondenční seminář z programování (KSP) pražského Matfyzu pořádá i letos jarní soustředění pro začátečníky. Zváni jsou všichni středoškoláci a starší základoškoláci, kteří se chtějí naučit programovat, lépe uvažovat o informatických úlohách a poznat nové podobně smýšlející kamarády. Úplným začátečníkům bude určen kurz základů programování a kurz základních algoritmických dovedností, pokročilejším nabídneme různorodé
… více »Fedora je od 10. února dostupná v Sýrii. Sýrie vypadla ze seznamu embargovaných zemí a Fedora Infrastructure Team mohl odblokovat syrské IP adresy.
Ministerstvo zahraničí Spojených států amerických vyvíjí online portál Freedom.gov, který umožní nejenom uživatelům v Evropě přístup k obsahu blokovanému jejich vládami. Portál bude patrně obsahovat VPN funkci maskující uživatelský provoz tak, aby se jevil jako pocházející z USA. Projekt měl být původně představen již na letošní Mnichovské bezpečnostní konferenci, ale jeho spuštění bylo odloženo.
ranges::views::filter ranges::views::transform ranges::views::accumulate ...a ďalšie.Problém je, že tie adaptéry neobsahujú index, iba samotnú položku (napríklad v predikáte funkcie filter nemám aj index položky). a mne by sa ten index občas hodil. V JS pri operáciách ako map, filter, forEach, reduce vieme zistiť aj index položky, tak že funkcii pridáme ďalší parameter:
[1, 2].map((elem, index) => ({ elem, index })).forEach(console.log); // vypise { elem: 1, index: 0 } a { elem: 2, index: 1 }
niektoré viac strong typed funkcionálne jazyky, kde sa nedá len tak pridávať, alebo vynechať parameter, zase majú špeciálnu variantu funkcií map, iter (mapi, iteri)
[1, 2]
|> Seq.mapi(fun index elem -> $"Index: {index}, Element: {elem}")
|> Seq.iter(printfn "%s")
Pri C++ ranges::views, ak by som chcel mať k dispozícii aj index, by som musel napísať špeciálne adaptéry, podporujúce aj index položky. Ako tento problém riešiť, tak aby som to nemusel takto komplikovať? V zdrojovom objekte tie indexy mám, keďže počas iterovania sa tam updatuje počítadlo, ale ako ten index vložiť do tých funkcií?
Urobiť si wrapper pre objekt, ktorý overloadne operátor "->" a operátor implicitnéj konverzie a tam nejako pridať aj index? Alebo ako to vyriešiť čo najjednoduchšie, aby som mal voliteľne k dispozícii aj index?
co jakoby takle jednoduše hele to foreach třeba :O :O
std::vector<thisObject> storedValues;
for (size_t idx = 0; auto value : storedValues) {
std::cout << idx << ": " << value << '\n';
++idx;
}
Jestli pomocí ranges tak takhle:
#include <vector> #include <string> #include <ranges> #include <algorithm> #include <iostream> int main ( ) { using namespace std::string_literals; std::vector < std::string > data ( { "abc"s, "def"s, "ghi"s } ); for ( const std::pair < int, const std::string & > & elem : data | std::ranges::views::transform ( [ index = 0 ] ( const std::string & elem ) mutable { return std::make_pair ( index ++, std::ref ( elem ) ); } ) ) { std::cout << elem.first << " " << elem.second << std::endl; } return 0; }
Jen pozor na vyhodnocování ranges, hodnota může přes transform projít i víckrát v závislosti co následuje...
Tiskni
Sdílej: