Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi 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 on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
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: