Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.
Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.
Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.
Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.
… více »PCIem je linuxový framework, který vytváří virtuální zařízení PCIe pomocí technik, které umožňují hostitelskému operačnímu systému rozpoznat tyto syntetické 'neexistující' karty jako fyzické zařízení přítomné na sběrnici. Framework PCIem je primárně zamýšlen jako pomůcka pro vývoj a testování ovladačů bez nutnosti použít skutečný hardware. Dle tvrzení projektu si fungování PCIem můžeme představit jako MITM (Man-in-the-Middle), který se nachází mezi ovladači a kernelem.
SELECT HwTime, Person_Id, Description, Direction FROM Events WHERE (System = "0") AND (Direction <> "2") AND (Exist = "1") AND (HwTime IN(SELECT MAX(HwTime) FROM Events WHERE (Exist = "1") AND (Direction <> "2") AND (System = "0") GROUP BY Person_Id)) ORDER BY Name ASC
kdyz ho spustim, tak se muze provadet treba hodinu, "show processlist" ukazuje status "Sending data", tabulka obsahuje asi 50000 zaznamu a vysledek ma asi 1300 radku, tento sql dotaz funguje na desitkach serveru, kdyz udelam dump databaze, vezmu konfiguracni soubor databaze a testuji na jinem mysql nebo mariadb serveru tak mam kompletni odpoved za 0.3 sec, ale na tomto serveru se odpovedi nedockam, kdyz pridam LIMIT 1, tak odpoved trva asi 2 sec, kdyz zvedam LIMIT, tak me prijde, ze delka odpovedi se zveda temer exponencialne.
SQL dotaz ma z tabulky vypsat jedenkrat kazde Person_Id, ktere ma nejaktualneji hodnotu HwTime.
Zajimalo by me, jak dotaz polozit jinak, aby fungoval, ale soucasne take proc nefunguje jenom na jednom konkretnim serveru.
+----+--------------------+--------+-------+---------------+------+---------+------+-------+-----------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+--------------------+--------+-------+---------------+------+---------+------+-------+-----------------------------+ | 1 | PRIMARY | Events | ALL | NULL | NULL | NULL | NULL | 54216 | Using where; Using filesort | | 2 | DEPENDENT SUBQUERY | Events | index | NULL | ESD | 19 | NULL | 7015 | Using where | +----+--------------------+--------+-------+---------------+------+---------+------+-------+-----------------------------+Na serveru (ktery je vyrazne mene vykonejsi), kde se dotaz vykonava bez problemu je explain:
+------+--------------+-------------+--------+---------------+--------------+---------+----------------------------+-------+------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+--------------+-------------+--------+---------------+--------------+---------+----------------------------+-------+------------------------------+ | 1 | PRIMARY | Events | ALL | HwTime | NULL | NULL | NULL | 52579 | Using where; Using filesort | | 1 | PRIMARY | subquery2 | eq_ref | distinct_key | distinct_key | 5 | Events.HwTime | 1 | | | 2 | MATERIALIZED | Events | ALL | NULL | NULL | NULL | NULL | 52579 | Using where; Using temporary | +------+--------------+-------------+--------+---------------+--------------+---------+----------------------------+-------+------------------------------+Na serveru bezi pouze MySQL, pokud se nespusti tento dotaz, tak je zatizeni do 2%, po spusteni stoupne zatizeni na 50% a pri spusteni dvou techto pozadavku je to 100%, pameti je volne vice jak 3GB. Storage je InnoDB, pred tim byl pouzit MyISAM, ale ten pri spusteni scriptu mel zase ve vypisu procesu "waiting for table level lock"
SELECT MAX(HwTime) AS HwTime, Person_Id, E.Description, E.Direction
FROM Events JOIN Event as E ON (Person_Id = E.Person_Id) AND (HwTime = E.HwTime)
WHERE (Exist = "1") AND (Direction <> "2") AND (System = "0")
GROUP BY Person_Id
ORDER BY Name ASC
SELECT k.HwTime, k.Person_Id, k.Description, k.Direction FROM Events AS k JOIN (SELECT Person_Id, MAX(HwTime) AS max_HwTime FROM Events WHERE (Exist=1 AND Direction <> 2 AND System=0) GROUP BY Person_Id) AS g ON (k.Person_Id = g.Person_Id AND k.HwTime = g.max_HwTime) GROUP BY k.Person_Id, k.HwTime ORDER BY k.Name ASC
Tiskni
Sdílej: