Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.
Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".
Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Je rozhodně hloupost v jednom cyklu přes nějaké mysql_fetch_array načíst celou tabulku do pole, a následně ve druhém cyklu foreach přes toto pole něco dělat s jeho jednotlivými "řádky".
Tu operaci, kterou provádíte ve druhém cyklu s "řádkem" pole proveďte přímo v prvním cyklu s tím, co vám vrátila databáze - a náhle neukládáte do paměti v kterémkoliv okamžiku nic víc než jeden jediný řádek.
Jestli to dobře chápu, tak jednotlivé řádky zapisujete do nějakého souboru - ten soubor si samozřejmě fopennete před vstupem do cyklu čtení tabulky, v těle cyklu děláte jenom fwrite a po skončení cyklu uděláte fclose. I kdyby se ten soubor roztáhl na pár GB, nemusíte mít z paměťových nároků této operace obavy - protože ten soubor se celý v paměti neudržuje...
1. Nevím, jaké informace potřebujete předem znát k tomu, ať můžete formátovat. Nicméně pokud to je něco jako maximální hodnota nějakého pole (ať víte, kolik míst potřebujete pro zobrazení), můžete to zjistit jediným dotazem typu select max(cosi) from kdesi. Jinak řečeno, možná se vám podaří potřebné informace zjistit nikoliv procházením všech řádků, nýbrž použitím vhodné agregační funkce - což je samozřejmě mnohem efektivnější, nicméně závisí to na vašich konkrétních potřebách.
2. Se souborem problém nebude. Akorát, jak už jsem říkal, jej v tom cyklu nesmíte opakovaně otevírat a zavírat, to by samozřejmě výkon dost snížilo. (Ale pořád by to "jenom" snížilo výkon, nevyhučelo by to na držku kvůli "out of cokoliv".)
Tiskni Sdílej: