Společnost Acer oslavila 50 let. Na tiskové konferenci next@acer představila řadu novinek. Vypíchnout lze přenosný ePaper displej Acer EP130K, přenosné řešení se třemi displeji Acer PD163Q P3 nebo herní handheld a notebook v jednom DualPlay Mini.
Server SiFive BigSky SF-2U870 2U je založený na jádře SiFive P870-D, zatím je naintegrovaných 32 jader 256 GB RAM 2 GHz, škálovat lze do 256 jader na čip. O něco podrobnější popis serveru v článku SiFive BigSky Ships the First RISC-V Server. Is the GPU Head Node the Prize? na futurumgroup.com. Asi ani tento čip nebude na úrovni nejlepších 64-bit ARMů a AMD Zenů, ale splňuje RVA23 specifikaci a je podporovaný Ubuntu 26.04 LTS a RHEL 10. V článku je
… více »Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.
Předobjednat si lze nový jednodeskový počítač Arduino VENTUNO Q s předinstalovaným Ubuntu. S 16 GB LPDDR5 a 64 GB eMMC. Pro lokální LLM, agentní AI, počítačové vidění, robotiku…
Hexpair není nejlepší HEX editor na světě a ani se o to nesnaží. Zato je k dispozici kdykoliv a kdekoliv – všude tam, kde máte svůj Vim. Vznikl jako hobby projekt před pár měsíci a dospěl do stavu, kdy by mohl být užitečný širší komunitě. Přepnout do HEX režimu se dá i uprostřed rozdělané práce: Soubor, který už máte otevřený běžným vim file.md, jedním příkazem přepnete do HEX editoru a dalším příkazem ho můžete vrátit zpět do textu. Kurzor přitom
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: