Linus Torvalds vydal jádro Linux 7.0. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).
Na čem aktuálně pracují vývojáři GNOME? Pravidelný přehled novinek v Týden v GNOME. Vypíchnout lze novou verzi 2026.1 přehrávače hudby Amberol (Flathub).
Byla vydána verze 12.0 s kódovým jménem Ecne linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 24.04 LTS a podporována bude do roku 2029. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 9. Přehled novinek v příspěvku na blogu.
Libre Graphics Meeting 2026, tj. čtyřdenní konference a setkání vývojářů a uživatelů svobodných a otevřených grafických softwarů, proběhne od 22. do 25. dubna v Norimberku. Dění lze sledovat na Mastodonu.
Vývojář Alexandre Gomes Gaigalas na GitHubu zveřejnil c89cc.sh, parser a kompilátor jazyka C89 napsaný v pouhém jediném skriptu o přibližně 8000 řádcích čistého bashe (bez dalších externích závislostí), který generuje ELF64 binárky pro x86-64. Jedná se o velmi jednoduchý kompilátor, který nepodporuje direktivy #include a dokonce ani funkci printf (lze použít puts), všechny dostupné deklarace lze nalézt v proměnné _BUILTIN_LIBC na konci skriptu. Skript je volně dostupný pod ISC licencí.
Francouzská vláda oznámila, že v rámci strategie 'digitální suverenity' zahájí 'přechod od systému Windows k počítačům s operačním systémem Linux' (sa sortie de Windows au profit de postes sous système d'exploitation Linux). DINUM (meziresortní ředitelství pro digitální technologie) požádalo ministerstva, aby do podzimu 2026 vypracovaly konkrétní plány nasazení Linuxu. Francie již dříve migrovala části státní správy na otevřená řešení.
Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.
Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.
Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.
jmeno | banka | vklad --------------------- jan KB 100 jan CSOB 200 jan CS 100 tonda CSOB 100 tonda CS 100 pepa KB 300 jiri KB 200 jiri CSOB 100Chtěl bych docílit toho, aby každý člověk měl v ČS uloženo 100 Kč. Umím vypsat, kteří lidé nemají u ČS nic:
select distinct jmeno from moje_tabulka
where jmeno not in (select jmeno from moje_tabulka where banka <> 'CS')
Výsledkem by měl být pepa, jiriAle už nevím, jak toto použít pro INSERT. Finální tabulka by měla vypadat takto:
jmeno | banka | vklad --------------------- jan KB 100 jan CSOB 200 jan CS 100 tonda CSOB 100 tonda CS 100 pepa KB 300 pepa CS 100 jiri KB 200 jiri CSOB 100 jiri CS 100Děkuji za rady. JR
Řešení dotazu:
banka = 'CS' v subselecte
ak mas otestovany select, potom staci pouzit insert-select syntax:
INSERT INTO moje_tabulka (jmeno, banka, vklad)
SELECT DISTINCT jmeno, 'CS', 100
FROM moje_tabulka
WHERE jmeno NOT IN (SELECT jmeno FROM moje_tabulka WHERE banka = 'CS')
;
Odhlédnu od toho, že to schéma je špatně navržené, a budu to brát jako minimalistický příklad pro potřeby dotazu.
Soubor vklady.sql:
CREATE TABLE vklad (
jmeno VARCHAR(20),
banka VARCHAR(10),
vklad INTEGER
);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jan', 'KB', 100);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jan', 'CSOB', 200);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jan', 'CS', 100);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('tonda', 'CSOB', 100);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('tonda', 'CS', 100);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('pepa', 'KB', 300);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jiri', 'KB', 200);
INSERT INTO vklad (jmeno, banka, vklad) VALUES ('jiri', 'CSOB', 100);
INSERT INTO vklad (jmeno, banka, vklad)
SELECT
jmeno,
'CS' AS banka,
100 AS vklad
FROM (
SELECT
jmeno
FROM vklad
EXCEPT
SELECT
jmeno
FROM vklad
WHERE banka = 'CS'
);
Výsledek:
$ cat vklady.sql | relpipe-in-sql --relation vklad "SELECT * FROM vklad" | relpipe-out-tabular vklad: ╭────────────────┬────────────────┬─────────────────╮ │ jmeno (string) │ banka (string) │ vklad (integer) │ ├────────────────┼────────────────┼─────────────────┤ │ jan │ KB │ 100 │ │ jan │ CSOB │ 200 │ │ jan │ CS │ 100 │ │ tonda │ CSOB │ 100 │ │ tonda │ CS │ 100 │ │ pepa │ KB │ 300 │ │ jiri │ KB │ 200 │ │ jiri │ CSOB │ 100 │ │ jiri │ CS │ 100 │ │ pepa │ CS │ 100 │ ╰────────────────┴────────────────┴─────────────────╯ Record count: 10
Tiskni
Sdílej: