První česká družice navržená a sestavená výhradně studenty se dostala na oběžnou dráhu Země. Družice KOSTKA, kterou vyvinul studentský tým YSpace z Vysokého učení technického v Brně (VUT), dnes odstartovala na palubě rakety Falcon 9 společnosti SpaceX v rámci mise Transporter-17 z kalifornské základny Vandenberg Space Force Base.
Po nákresech ovladače Steam Controller a puku společnost Valve na svém GitLabu publikovala projekt Inkterface, tj. podrobný návod (PDF, video v mp4) na sestavení předního panelu s e-papírovým displejem pro Steam Machine pro zobrazování systémových informací. Použity jsou součástky od společnosti Adafruit.
V jádře Linux byla nalezena a v dubnu letošního roku v upstreamu opravena kritická zranitelnost Bad Epoll aneb CVE-2026-46242. Jedná se o zranitelnost typu "race-condition use-after-free", která běžnému uživateli umožňuje získat práva roota. Na distribucích Linuxu i na Androidu. Dokonce i zevnitř sandboxu prohlížeče Chrome. Chyba byla do Linuxu zavedena v dubnu 2023, tj. Linux 6.4.
Byla vydána nová verze 10.4 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Vyzkoušet lze experimentální podporu postkvantového algoritmu mldsa44-ed25519.
Open Printer je otevřená kompaktní tiskárna od Open Tools. Brzy by měla být spuštěna kampaň na její podporu na Crowd Supply. Současně by měly být uvolněny zdrojové kódy. Postavena je na Raspberry Pi Zero W a STM32. Používá inkoustové kazety HP 302.
Byla vydána nová verze 3.28.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 8 zranitelností.
Čeští policisté společně se svými tureckými kolegy zadrželi 51 lidí, kteří se podle kriminalistů podíleli na provozu podvodného call centra v Istanbulu. Skupina je spojena s 1173 případy podvodů na českých občanech, při kterých vznikla škoda přes 553 milionů korun.
Immich byl vydán v nové verzi 3.0.0. Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.
Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).
Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.
select P.cislo, P.numeric1, P.numeric2, P.string1, P.string2, P.data,
coalesce(counter,0) as counter, kdy, S.pridal, S.skupina, S.prava, R.cislo, contract from
relace R, spolecne S, polozka P
left join (select R1.potomek as autor, count(P1.cislo) as counter, max(S1.vytvoreno) as kdy
from polozka P1, relace R1, vlastnost V1, spolecne S1
where P1.typ=2 and P1.cislo=V1.predek and V1.typ_predka='P' and V1.typ='author'
and R1.typ_potomka='P' and V1.hodnota=R1.cislo and S1.typ='P' and P1.cislo=S1.cislo
and S1.vytvoreno < now() group by autor) A on A.autor=P.cislo
left join (select SCS.pridal as uid, CT.numeric1 as contract from polozka SC, polozka CT, spolecne SCS
where SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0
) B on B.uid = P.numeric1
where P.typ=19 and R.typ_potomka=S.typ and R.potomek=S.cislo and S.typ='P' and S.cislo=P.cislo and P.numeric1 in (1,99,143)
Trochu vysvetleni:
SELECT ... ORDER BY CT.cislo DESC LIMIT 1Ale to sa mi vidi prilis trivialne, asi som nepochopil otazku.
WHERE subquery dát podmínku
CT.cislo = (SELECT MAX(CT.cislo) ...) a zopakovat tam dotaz.
(SELECT SCS.pridal as uid, CT.numeric1 as contract FROM polozka SC, polozka CT, spolecne SCS
,(SELECT MAX(CT.cislo) AS cfuj from polozka SC, polozka CT, spolecne SCS
where SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0) AS tfuj
WHERE SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0 AND CT.cislo = tfuj.cfuj
GROUP BY tfuj.cfuj) AS B
Ale o kvalitě bych nehovořil (nebijte mě…)
SELECT SCS.pridal as uid, CT.numeric1 as contract FROM polozka SC, polozka CT, spolecne SCS
,(SELECT MAX(CT.cislo) AS cfuj from polozka SC, polozka CT, spolecne SCS
where SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0) AS tfuj
WHERE SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0 AND CT.cislo = tfuj.cfuj
GROUP BY tfuj.cfuj
a kompletní dotaz:
select P.cislo, P.numeric1, P.numeric2, P.string1, P.string2, P.data,
coalesce(counter,0) as counter, kdy, S.pridal, S.skupina, S.prava, R.cislo, contract from
relace R, spolecne S, polozka P
left join (select R1.potomek as autor, count(P1.cislo) as counter, max(S1.vytvoreno) as kdy
from polozka P1, relace R1, vlastnost V1, spolecne S1
where P1.typ=2 and P1.cislo=V1.predek and V1.typ_predka='P' and V1.typ='author'
and R1.typ_potomka='P' and V1.hodnota=R1.cislo and S1.typ='P' and P1.cislo=S1.cislo
and S1.vytvoreno < now() group by autor) A on A.autor=P.cislo
left join (SELECT SCS.pridal as uid, CT.numeric1 as contract FROM polozka SC, polozka CT, spolecne SCS
,(SELECT MAX(CT.cislo) AS cfuj from polozka SC, polozka CT, spolecne SCS
where SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0) AS tfuj
WHERE SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0 AND CT.cislo = tfuj.cfuj
GROUP BY tfuj.cfuj) AS B
on B.uid = P.numeric1
where P.typ=19 and R.typ_potomka=S.typ and R.potomek=S.cislo and S.typ='P' and S.cislo=P.cislo and P.numeric1 in (1,99,143)
taky.
Samozřejmně nad prázdnou db na verzi 5.0.67.
No ono asi je něco ne úplně OK v datovém modelu, pokud to nutí dělat takovéto dotazy :), ale neznám, pozadí jak to vznikalo a ani jsem to nijak nestudoval, takže si netroufám hodnotit - jen pocit na základě, již druhého podobného dotazu.Tak castecny uspech, pro jednoho uzivatele to ale vraci NULL. Trochu jsem to rozkouskoval / zkratil:
SELECT SCS.pridal as uid, CT.numeric1 as contract, CT.cislo FROM polozka SC, polozka CT, spolecne SCS WHERE SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0;
1;-1;147251
99;-1;147251
99;1;147269
SELECT MAX(CT.cislo) AS cfuj from polozka CT where CT.typ=30 and CT.numeric1<>0;
147269
Cely subselect vraci:
99;1
Jdu si hrat dal
GROUP BY tfuj.cfuj - jen tak vařím…
select P.cislo, P.numeric1, P.numeric2, P.string1, P.string2, P.data,
coalesce(counter,0) as counter, kdy, S.pridal, S.skupina, S.prava, R.cislo, contract from
relace R, spolecne S, polozka P
left join (select R1.potomek as autor, count(P1.cislo) as counter, max(S1.vytvoreno) as kdy
from polozka P1, relace R1, vlastnost V1, spolecne S1
where P1.typ=2 and P1.cislo=V1.predek and V1.typ_predka='P' and V1.typ='author'
and R1.typ_potomka='P' and V1.hodnota=R1.cislo and S1.typ='P' and P1.cislo=S1.cislo
and S1.vytvoreno < now() group by autor) A on A.autor=P.cislo
left join (SELECT SCS.pridal as uid, CT.numeric1 as contract FROM polozka SC, polozka CT, spolecne SCS
,(SELECT MAX(CT.cislo) AS cfuj from polozka SC, polozka CT, spolecne SCS
where SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0) AS tfuj
WHERE SC.typ=31 and CT.typ=30 and SC.numeric1 = CT.cislo and SC.cislo=SCS.cislo and SCS.typ='P' and CT.numeric1<>0 AND CT.cislo = tfuj.cfuj) AS B
on B.uid = P.numeric1
where P.typ=19 and R.typ_potomka=S.typ and R.potomek=S.cislo and S.typ='P' and S.cislo=P.cislo and P.numeric1 in (1,99,143)
vytvoriť novú tabuľku "vlastnosti_background", miesto "vlastnosti" vytvoriť view a pridať k nemu správne triggre / rules / ... čo ktorá databáza potrebuje. Triviálne, ak človek SQL generuje (napr XML + XSLT)
Prepis jsem odladil, uz zase vse funguje, dokonce tento dotaz vraci vysledky, jak ma. Jen jsem chtel podle noveho sloupecku filtrovat a z nejakeho divneho duvodu si mysql stezuje, ze to nejde, ze sloupecek status nezna.
select P.cislo, P.numeric1, P.boolean1, P.string1, P.string2, P.data, coalesce(counter,0) as counter, kdy, S.pridal, S.skupina, S.prava, R.cislo, (select CT.boolean2 from polozka CT where CT.cislo=P.numeric2) as status from relace R join spolecne S on R.typ_potomka=S.typ and R.potomek=S.cislo join polozka P on S.typ='P' and S.cislo=P.cislo left join (select R1.potomek as autor, count(P1.cislo) as counter, max(S1.vytvoreno) as kdy from polozka P1, relace R1, vlastnost V1, spolecne S1 where P1.typ=2 and P1.cislo=V1.predek and V1.typ_predka='P' and V1.typ='author' and R1.typ_potomka='P' and V1.hodnota=R1.cislo and S1.typ='P' and P1.cislo=S1.cislo and S1.vytvoreno < now() group by autor) A on A.autor=P.cislo where P.typ=19 AND status=1 ORDER BY string2 ASC;
Chyba zni:
Unknown column 'status' in 'where clause'
Nedava i to smysl, nastudoval jsem mysql dokumentaci k subselectum a nepisou, ze by to nemelo jit. Dokazu filtrovat podle vsech sloupecku mimo tento ze subselectu. Proc?
Tiskni
Sdílej: