Na Epic Games Storu lze do 15. června získat zdarma počítačovou hru PAYDAY 2 (ProtonDB, Wikipedie). Linuxový port přestal být ve čtvrtek 8. června podporován.
Ezoterický programovací jazyk Brainfuck (Wikipedie) slaví 30 let. Urban Müller nahrál první implementaci tohoto jazyka na Aminet 9. června 1993.
Společnost Apple na konferenci WWDC23 představila Game Porting Toolkit. Společnost CodeWeavers informuje, tento toolkit vychází ze zdrojových kódů jejího CrossOveru, tj. komerčního Wine.
Byla vydána květnová aktualizace aneb nová verze 1.79 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.79 vyšlo také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Jak to bude s podporou rastrového grafického formátu JPEG XL ve webových prohlížečích? Google ji nedávno z Chrome a Chromia odstranil (#1178058#c84). Jednou z novinek beta verze Safari 17 je ale právě podpora JPEG XL. Vráti se JPEG XL do Chrome a Chromia (#1451807)? Dění kolem JPEG XL lze sledovat například na r/jpegxl.
Byla vydána nová stabilní verze 6.1 (aktuálně 6.1.3035.51) webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 114. Přehled novinek i s náhledy v příspěvku na blogu. Nový Vivaldi se pro Bing tváří jako Microsoft Edge (upravený User-Agent) a díky tomu v něm funguje Bing Chat. Vylepšeny byly Pracovní prostory (Workspaces). Podrobný přehled v Changelogu.
Linuxová distribuce ArchLabs Linux po šesti letech vývoje končí. Dobbie to zabalil.
David Tschumperlé v obšírném článku se spoustou náhledů shrnuje vývoj multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie) za poslední rok a půl.
Vývojáři postmarketOS vydali verzi 23.06 tohoto před šesti lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell, Phosh, Plasma a Sxmo. Aktuálně podporovaných zařízení je 30.
Byla vydána distribuce openSUSE Leap verze 15.5 (poznámky k vydání). Jde o konzervativní distribuci odpovídající komerčnímu SUSE Linux Enterprise 15, nyní Service Pack 5. Mělo jít o poslední aktualizaci Leap v současné podobě před přechodem na Adaptable Linux Platform s „neměnným“ základem, ale padlo rozhodnutí, že v roce 2024 ještě vyjde Leap 15.6 s podporou do konce roku 2025.
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: