Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
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í.