Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.
Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.
Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.
Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.
Řemínky pro Apple Watch, bezdrátová sluchátka nebo nabíjecí adaptéry. Takovou nabídku našli v uplynulých dnech příslušníci Celního úřadu v Liberci při kontrole kamenného obchodu na Náchodsku. Celkem zde zadrželi 3 035 kusů zboží podezřelého z porušování práv duševního vlastnictví. Pokud by se jednalo o originální výrobky, jejich hodnota by podle odhadu přesáhla 10,8 milionu korun.
Byla vydána verze 31.1 textového editoru GNU Emacs. Podrobný přehled novinek v souboru NEWS.
Webový prohlížeč Waterfox (Wikipedie), fork Firefoxu, byl vydán ve verzi 6.7.0. Postaven je na jádru Gecko ESR 153.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.17.0. Podrobný přehled novinek v changelogu. Přidána byla základní podpora gamepadů. Opraveno bylo několik zranitelností. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Americká technologická společnost Apple loni v Irsku na daních zaplatila 17 miliard dolarů (zhruba 350 miliard Kč). To představovalo 40 procent celkové částky, kterou firma odvedla na dani z příjmů po celém světě. Vyplývá to z účetních výkazů podniku. Platbu výrazně zvýšilo rozhodnutí Soudního dvora EU z roku 2024, podle něhož měl Apple doplatit Irsku na daních 13 miliard eur (313 miliard Kč).
Ahoj, aku vhodnu datovu strukturu by som mal zvolit, ak chcem zapisat data typu:
8.7 = "retazec1"
8.8 ="retazec2"
Vzdy je cislo, ktore naslduje druhe cislo na ktorych pozicii lezy retazec. Nieco ako na pozicii dvojrozmerneho pola je zapisany retazec. Programovaci jazyk C#
Map<Integer, Map<Integer, String>>
so C# nemozem sluzit. Toto je vseobecne riesenie; mozno sa da usit lepsie, krajsie, rychlejsie, pamatovo nenarocnejsie riesenie, ak su zname dalsie fakty o udajoch: Kolko tych mapovani bude? Kolko bude klucov na prvej a druhej urovni? Kolko rozlicnych hodnot bude mat prva a kolko druha hodnota? Budu v sekvencii hodnot "diery"? Etc.
No, dokud nenapíšeš, co s těmi daty chceš dělat, tak ti tady s výběrem struktury nikdo neporadí. Způsobů je aspoň tisíc a každý je vhodný pro jiný účel. Toš tak… :-/
budem prechadzat hexa string po znakoch, nacitam poziciu x kde bude ulozena premena y, ktoru nasledne skonvertujem na int. Hodnote y bude odpovedat retazec, ktory nasledne ulozim do databazy. Priklad:
mam hex string: 123F
nacitam poziciu x = 0 na ktorej je ulozena hodnota y = 1. pozriem sa do statickej struktury, kde hodnota 1 bude odpovedat retazcu1.
OKi, takže ve výsledku se každý znak řetězce dostane do databáze?
Příklad:
řetězec "123F"
INSERT INTO db_test (val) VALUES ('1')
/
INSERT INTO db_test (val) VALUES ('2')
/
INSERT INTO db_test (val) VALUES ('3')
/
INSERT INTO db_test (val) VALUES ('15')
/
COMMIT
/
Pochopil jsem to správně?
nie znak retazca ale to co bude ulozene v nom, uz som to vyriesil takto:
private static readonly string[][] data = new string[][]
{
// Type of CPU
new string[2] { "PIC", "ARM" },
// Type of Mem
new string[5] { "Unknown", "Tyco", "FLASH" },
...
};
cize pride mi redazec, z pozicie x = 0, vytiahnem y = 1, co odpoveda retazcu data[x][y] == "ARM", to databazy teda ulozim "ARM"
Ahá! Už je mi to jasné!
Jen drobná otázka: jak se bude pole inicializovat? Podle příkladu to vypadá na něco dynamického a né zrovna malého. Možná se to pole i inicializuje z databáze. V tom případě bych celou tuto logiku přesunul do databáze. 
Přesouvání logiky do databáze je výsadou databázistů, které my, aplikační programátoři, v takovém případě s chutí ignorujeme
Já za tím vidím hloupou referenční integritu a číselníky. Žádná aplikační logika to není. 
Ale na druhou stranu je pravda, že doteď jsem přesně nepochopil, co autor vlastně zamýšlí, takže je to bezpředmětné. :-/
Tiskni
Sdílej: