Kryptografická knihovna OpenSSL byla vydána v nové verzi 4.0. Přehled změn v souboru CHANGES.md na GitHubu. Odstraněna byla podpora SSLv2 Client Hello a SSLv3. Ve výchozím nastavení byla zakázána podpora odmítnutých eliptických křivek v TLS dle RFC 8422. Přibyla například podpora Encrypted Client Hello (ECH, RFC 9849).
curl up 2026, tj. setkání vývojářů a uživatelů curlu, proběhne opět v Praze. O víkendu 23. a 24. května v Pracovně.
Aplikace pro ověřování věku uživatelů on-line platforem je technicky hotová a brzy bude k dispozici pro občany EU, oznámila dnes předsedkyně Evropské komise Ursula von der Leyenová. Půjde podle ní o bezplatné a snadno použitelné řešení, které pomůže chránit děti před škodlivým a nelegálním obsahem. Aplikace bude podle ní fungovat na jakémkoli zařízení a bude zcela anonymní.
V prosinci 2012 byla z linuxového jádra odstraněna podpora procesorů 386. Včera započalo odstraňování podpory procesorů 486.
IuRe (Iuridicum Remedium) vyhlásila Ceny Velkého bratra za rok 2025. Slídily roku jsou automobilka Volkswagen, Meta a česká Ministerstva vnitra a průmyslu a obchodu. Autorem Výroku Velkého bratra je dánský ministr spravedlnosti zpochybňující právo na šifrovanou komunikaci. Naopak Pozitivní cenu získali studenti Masarykovy univerzity za odpor proti nucení do používaní aplikace ISIC.
Po osmi měsících vývoje byla vydána nová verze 0.16.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 244 vývojářů. Přehled novinek v poznámkách k vydání.
Nejnovější X.Org X server 21.1.22 a Xwayland 24.1.10 řeší 5 bezpečnostních chyb: CVE-2026-33999, CVE-2026-34000, CVE-2026-34001, CVE-2026-34002 a CVE-2026-34003.
Po roce vývoje od vydání verze 1.28.0 byla vydána nová stabilní verze 1.30.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.30.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2026-04-13. Přehled novinek poznámkách k vydání. Nově ve výchozím nastavení příkaz sudo vyžaduje heslo.
Společnost Blackmagic Design oznámila vydání verze 21 svého proprietárního softwaru pro editování videí a korekci barev DaVinci Resolve běžícího také na Linuxu. Z novinek je nutno vypíchnout možnost editování fotografií. Základní verze DaVinci Resolve je k dispozici zdarma. Plnou verzi DaVinci Resolve Studio lze koupit za 295 dolarů.
sql = "SELECT columnB FROM something WHERE columnA IN (%s)" % ', '.join(very_long_list)
######
pairs = []
for pair in very_long_list:
pairs.append("columnA = %s AND columnB = %s" % pair)
sql = 'SELECT * FROM something WHERE %s;' % ' OR '.join(pairs)
Pricemz very_long_list je vstup "zvenku" (napr. od uzivatele). Da se tomu nejak vyhnout nebo to vyplyva primo z podstaty jazyka SQL?
Řešení dotazu:
CREATE TABLE pairs (key text, key2 text, nazev text);
CREATE INDEX ipairs on pairs(key);
CREATE INDEX ipairs2 on pairs(key2);
INSERT INTO "pairs" VALUES('ab','ec','abeceda');
INSERT INTO "pairs" VALUES('be','du','beduín');
INSERT INTO "pairs" VALUES('ci','zi','cizinec');
INSERT INTO "pairs" VALUES('de','kl','deklarace');
a teď dotaz, kde very_long_list=(ax,be,ci,an):
SELECT DISTINCT nazev FROM (SELECT 'ax' AS klic UNION ALL SELECT 'be' UNION ALL SELECT 'ci' UNION ALL SELECT 'an') AS dotaz JOIN pairs ON dotaz.klic=key OR dotaz.klic=key2;Je to sestavené narychlo a možná to i rychlé bude.
SELECT * FROM tab WHERE a = (SELECT a FROM tab2 WHERE rozumná_podmínka) SELECT * FROM tab JOIN tab2 ON .. WHERE rozumna_podminkaPokud seznam získáváte z jiné tabulky, tak vhodnější bude použít JOIN nebo subselect. Jinak holt není zbytí - pro několik desítek až stovek hodnot v seznamu byste nemusel mít problém. Tisíce až desetitisíce už by mohlo způsobovat problémy - bude záležet na db, kterou používáte a na tom jak moc či málo jí to rozhodí statistiky.
SELECT columnB FROM something WHERE columnA IN (?)a pak před voláním dotazu nastavíte ten parametr na zadané hodnoty. Má to i tu výhodu, že ovladač nebo databáze může tenhle dotaz rozparsovat (a případně i nějak optimalizovat) při prvním použití, a při opakovaném použití už si to jen vytáhne z cache. V Pythonu by to bylo asi takhle:
c.execute('SELECT columnB FROM something WHERE columnA IN (?)', (very_long_list,))
Ve druhém případě to takhle jednoduše udělat nejde (když máte proměnlivý počet parametrů), ale pořád bude lepší poskládat za běhu parametrizovnaý dotaz a ten pak naplnit parametry – abyste se vyhnul SQL injection. Připadá mi ale ten druhý dotaz poněkud divný, kdyby bylo jasné, co tím chcete řešit, možná existuje nějaké lepší řešení.
Jak se používají
Tiskni
Sdílej: