Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.
Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.
Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.
Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).
aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.
OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.
Byla vydána nová verze 9.7 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.
Vývojáři webového prohlížeče Ladybird dnes oznámili, že mění způsob vývoje. S blížícím se vydáním alfa verze přestávají přijímat veřejné pull requesty. Všechny otevřené veřejné pull requesty budou uzavřeny. Tým nedokáže garantovat bezpečnost AI generovaných pull requestů.
fallocate -o 4096 -l 4096 -i souborAle funguje to jenom na některých FS (ale třeba na ext4 jo) a asi jenom pro násobky celých bloků.
Robím si úložisko objektov a rozmýšľam ako takéto situácie riešiť čo najefektívnejšie.Nevím, co to má přesně umět, ale tohle prostě nechceš dělat. Použij nějakou vlastní datovou strukturu (strom s pointery?) nebo SQLite As An Application File Format.
Ještě koukni na LMDB.
Ako niečo podobné riešia napr. databázy?Obecně je to tak, že fs umí soubory pouze přepisovat a nebo appendovat na jejich konec. To, co psal Jenda v prvním komentáři, je trochu nestandardní a je to podporované pouze dvěma fs a to ještě za dalších podmínek, jako že to musí být zarovnané na hranice bloků; v diskusi se tam někdo ptal, jak je to s mmap (bez odpovědi) apod. Tj. fungovalo by to pouze na konkrétním konkrétně nastaveném fs a k tomu přizpůsobeném programu. Databáze to mají různě. Některé pouze appendují na konec a ke každému záznamu si přidávají číslo zápisu. Tedy pouze rostou a jednou za čas je potřeba udělat kopii posledních verzí záznamů do nového souboru. Tohle je současně i nejjednodušší řešení. Čistej append pro zápis a čtení po záznamech. Obecně se tohle řeší tak, že db má ve svém souboru data ukládaná do stránek (typicky třeba 8KB), o každé stránce ví, jestli je plná nebo prázdná. Takže nová data jdou na konec souboru a nebo na volnou stránku a při potřebě něco smazat se upraví jen daná stránka. Docela dobře se to řeší přes mmap. Výhodou je, že používaný soubor (insert, delete, update), už dál neroste (prostě má nějakou svou velikost danou jeho použitím). Pro jeho zmenšení na minimální velikost je stále potřeba zkopírovat pouze živé záznamy (vacuum - tohle musejí dělat všechny velké db, nějakou formou). Pokud pracuješ se záznamy o jasné dané a neměnné velikosti, tak k nim zkus přidat flag, jestli je ten záznam živý nebo smazaný (nebo rovnou číslo transakce) a zkus updatovat binární soubor takto.
- Pridej druhy soubor "zurnal" kam budes zapisovat vzdy na konec zmeny.
nejake zaznamy position, data
- Nebo udelej hlavni soubor strukturovany
Kazdopadne pri cteni se ti to trochu zkomplikuje a nebo se ti to zkomplikuje pri zapisu (posun vseho).
Tiskni
Sdílej: