Canonical vydal (email) Ubuntu 25.10 Questing Quokka. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2026.
ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzi 1.5.0.
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.
typedef struct FilesPanelEntry{ Glib::ustring name; Glib::ustring ext; Glib::ustring size; Glib::ustring date; Glib::ustring rwx; Glib::ustring owner; Glib::ustring group; };Pak mám objekt s TreeViewem. Objekt má kromě jiných i tyto metody metody:
virtual void addEntry( const FilesPanelEntry& entry ); virtual void clear(); virtual off64_t count(); virtual bool getEntry( off64_t n, FilesPanelEntry& entry ); virtual bool setEntry( off64_t n, FilesPanelEntry& entry );Metody získávají/nastavují jednotlivé položky TreeViewu. Ve FilesPanelEntry::size můžou být tyto hodnoty:
<DIR> = adresář <BLKD> = blokové zařízení <CHRD> = znakové zařízení <FIFO> = fifo Velikost = souborProtože mi to už nemyslí, potřebuju si dát pauzu. Jenže zas nechci zbytečně ztrácet čas, a proto bych od někoho potřeboval dopsat fci na seřazení těch souborů. První by měly být adresáře seřazené dle abecedy, poté soubory dle abecedy, poté bloková zařízení, znaková zařízení a nakonec FIFO. Potřeboval bych to doplnit sem:
void JXPCommander::sortFiles( bool left ) { FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight); bool orderChanged = true; FilesPanelEntry e1,e2; while(orderChanged){ orderChanged = false; for( off64_t i = 0; i < fp->count()-1; ++i ) { fp->getEntry( i, e1 ); fp->getEntry( i+1, e2 ); /* * Tu proveďte nějaké ty porovnání, v případě * že mají být položky prohozeno tak proveďte: * * fp->setEntry( i,e2 ); * fp->setEntry( i+1,e1 ); * * a nezapomeňte nastavit orderChanged na true. * * Stringy se nebojte porovnávat znaménky < a > * o utf8 se již stará sama třída Glib::ustring */ } } }
Tiskni
Sdílej:
void JXPCommander::sortFiles( bool left ) { FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight);bych neudělal snad ani já, trochu více obecnosti bych do toho vrazil
void JXPCommander::sortFiles( bool left ) { FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight); bool orderChanged = true; FilesPanelEntry e1,e2; int max = fp->count()-1; while(orderChanged){ orderChanged = false; for( off64_t i = 0; i < max; ++i ) { fp->getEntry( i, e1 ); fp->getEntry( i+1, e2 ); if(e1.name > e2.name) { // pro razeni vzestupne podle jmena fp->setEntry(i, e2); fp->setEntry(i+1, e1); orderChanged = true; } } max--; } }- ale doporucoval bych trochu zagooglovat a nastudovat quick-sort...
vector
, ale také deque
a list
, když už jsme u kontejnerů tohoto typu. Nelze samozřejmě také opomenout set
, multiset
, map
a multimap
(a další více či méně užitečné věci). Kdo se toho dobrovolně vzdává, o hodně přichází.