GNU awk (gawk), implementace specializovaného programovacího jazyka pro zpracování textu, byl vydán ve verzi 5.4.0. Jedná se o větší vydání po více než dvou letech. Mezi četnými změnami figuruje např. MinRX nově jako výchozí implementace pro regulární výrazy.
Internetový prohlížeč Ladybird ohlásil tranzici z programovacího jazyka C++ do Rustu. Přechod bude probíhat postupně a nové komponenty budou dočasně koexistovat se stávajícím C++ kódem. Pro urychlení práce bude použita umělá inteligence, při portování první komponenty prohlížeče, JavaScriptového enginu LibJS, bylo během dvou týdnů pomocí nástrojů Claude Code a Codex vygenerováno kolem 25 000 řádků kódu. Nejedná se o čistě autonomní vývoj pomocí agentů.
Byl vydán Mozilla Firefox 148.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově lze snadno povolit nebo zakázat jednotlivé AI funkce. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 148 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
Organizace Apache Software Foundation (ASF) vydala verzi 29 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Ako sa to na pozadi riesi?Riadky maju jeden extra slpec id, ktore je indexovany. A operacie sa vykonavaju cez ten index.
Ked budem selektovat 50 tisic riadkov, tak tej DB bude trvat dlho, kym ich nacita a posle do aplikacie.Zalezi, ake dotazy napises. Je rozdiel volat po kazdom riadku alebo naraz 50k riadov od DB.
Co ak chcem na zaciatku skocit na koniec tabulky?None problem:
; 500 riadkov od konca SELECT name from user ORDER BY user_id DESC LIMIT 500
Mozem pouzit cursor a volne behat s "kurzorok" po db a citat len riadky, ktore chcem, ale stale musim vediet, kolko ma tabulka riadkov a navyse ten kurzor musim dat do tranzakcie.Mozes behat po DB a nepoznat rozmery. Behas cez id (ktore je casto autoincrement pri pridany noveho zaznamu, t.j. je jedinecne pre kazdy riadok).
;Prvych desat zaznamov od offsetu s id=53. SELECT id, name from user where user_id >= 53 LIMIT 10
Dalej, ak dam v gride nieco vyhladat, hladam to zas cez dalsi selekt alebo hladam v pameti z nacitanych dat?To by mala spravne riesit DB. DB Ti len serviruje, co chces. Ono je optimalizovana nejako na "big data".
Teroeticky viem ten pocet zrusit a grid bude mat neznamy pocet riadkov, …Ak su operacie, ked sa nema menit tabulka, tak vies ju uzamnut (napr. zakazat pridavat novy riadky), kym sa nevykona nejaky Tvoj prikaz. A potom ju opat odomknes.
Co ale ked chcem vyhladat v niektorom poli nejaku hodnotu v tom gride? Bud nacitam vsetky riadky a pohladam sam, alebo zistim selektom id riadku, poslem dalsi selekt na id > to_id a limit 10 a este jeden id < to_id limit 10 aby som ziskal 10 riadkov nad a 10 pod tym najdenym (preto aby som vedel zobrazit najdeny riadok v strede gridu).Postup dobry. Realizacia kus nie najlepsia. Da sa to zapisat v jednom prikaze:
SELECT full_name, born_year FROM users WHERE user_id in ( SELECT user_id WHERE user_id < 91 and obec = "Presov" LIMIT 9 ) OR user_id in ( SELECT user_id WHERE user_id >= 91 and obec = "Presov" LIMIT 10 )
Poznámka pro nakopnutí 1: "Mozem dat v DB offset a skocit na koniec" - no, můžeš. Ale co je to vlastně konec? Vyfiltrovaný seznam z původních 500000řádků, omezených filtrem na 100000, seřazených podle názvu sestupně - má konec jinde.Presne. Tabuľka v SQL nemá nejaké definované poradie. Prakticky je to množina riadkov. Ak sa bavím o rýchlosti, tak v prvom kole by som sa pozrel na to, koľko dát s má preniesť a aká je prenosová rýchlosť. Povedal by som, že DB dodá dáta tak rýchlo, ako to disk a sieť dovolí. Rozdiel začne byť až pri komplikovanejších query, ale podľa toho čo tu bolo napísané tak query je niečo ako "select * from tabulka". Žiadne "join", žiadne "where". Ak je to pomalé, tak DB na vine nie je.
LIMIT a OFFSET nebo něco podobného (PostgreSQL umí LIMIT a OFFSET). Pokud chcete záznamy číst postupně, používají se k tomu kurzory – ale není to nejběžnější způsob použití SQL databáze.
Počet záznamů v DB / 50 = počet stránek (zaohrouhlit na celé nahoru)
A tím pádem můžeš SELECTovat stylem:
SELECT * FROM tabulka ORDER BY klíč LIMIT 0,49
kdy LIMIT = (současná stránka * 50) - 1, (současná stránka * 50 + 50) - 1.
Tiskni
Sdílej: