Svobodná historická realtimová strategie 0 A.D. (Wikipedie) byla vydána ve verzi 28 (0.28.0). Její kódový název je Boiorix. Představení novinek v poznámkách k vydání. Ke stažení také na Flathubu a Snapcraftu.
Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní byl vydán ve verzi 1.6.0 (Bluesky). Přehled novinek na GitLabu.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.2 a 20.04 OTA-12.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.
WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.
Byl představen ICT Supply Chain Security Toolbox, společný nezávazný rámec EU pro posuzování a snižování kybernetických bezpečnostních rizik v ICT dodavatelských řetězcích. Toolbox identifikuje možné rizikové scénáře ovlivňující ICT dodavatelské řetězce a na jejich podkladě nabízí koordinovaná doporučení k hodnocení a mitigaci rizik. Doporučení se dotýkají mj. podpory multi-vendor strategií a snižování závislostí na vysoce
… více »Nizozemský ministr obrany Gijs Tuinman prohlásil, že je možné stíhací letouny F-35 'jailbreaknout stejně jako iPhony', tedy upravit jejich software bez souhlasu USA nebo spolupráce s výrobcem Lockheed Martin. Tento výrok zazněl v rozhovoru na BNR Nieuwsradio, kde Tuinman naznačil, že evropské země by mohly potřebovat větší nezávislost na americké technologii. Jak by bylo jailbreak možné technicky provést pan ministr nijak nespecifikoval, nicméně je známé, že izraelské letectvo ve svých modifikovaných stíhačkách F-35 používá vlastní software.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 162 (pdf).
Sdružení CZ.NIC, správce české národní domény, zveřejnilo Domain Report za rok 2025 s klíčovými daty o vývoji domény .CZ. Na konci roku 2025 bylo v registru české národní domény celkem 1 515 860 s koncovkou .CZ. Průměrně bylo měsíčně zaregistrováno 16 222 domén, přičemž nejvíce registrací proběhlo v lednu (18 722) a nejméně pak v červnu (14 559). Podíl domén zabezpečených pomocí technologie DNSSEC se po několika letech stagnace výrazně
… více »Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.
sl1 sl2 1 --xDas 2 a-xas 3 --x--Udělat to pomocí LIKE trvá strašně dlouho, proto bych rád věděl, zda to jde udělat indexovaně? Je mi víceméně jedno jestli se bude hledat třeba podle sloupce typu VARCHAR či např. podle INTu, kde by se hledalo binární operací AND, ale potřebuju na to vytvořit a používat indexy. Jak na to?
CREATE TABLE foo(s text); CREATE INDEX ON foo USING GIN ((substring(s FROM 1 FOR 1)); CREATE INDEX ON foo USING GIN ((substring(s FROM 2 FOR 1)); CREATE INDEX ON foo USING GIN ((substring(s FROM 3 FOR 1)); SELECT * FROM foo WHERE substring(s FROM 3 FOR 1) = 'x';tahle podminka bude mit dost mizernou selectivitu - dost mozna ze problem je jenom v like a stacilo by nepouzivat like
SELECT * FROM foo WHERE substring(s FROM 3 FOR 1) = 'x';Jeste by slo pouzit hstore:
postgres=# create or replace function pack(text)
returns hstore as $$
SELECT string_agg(i || '=>' || substring($1 FROM i FOR 1),',')::hstore
FROM generate_series(1,length($1)) g(i); $$
LANGUAGE sql IMMUTABLE;
CREATE FUNCTION
postgres=# select pack('Pavel');
pack
--------------------------------------------------
"1"=>"P", "2"=>"a", "3"=>"v", "4"=>"e", "5"=>"l"
(1 row)
postgres=# select * from xx;
a
-------
Pavel
(1 row)
postgres=# CREATE INDEX ON xx USING GIN((pack(a)));
CREATE INDEX
postgres=# SELECT * FROM xx WHERE pack(a) @> '3=>v';
a
-------
Pavel
(1 row)
postgres=# set enable_seqscan to off;
SET
postgres=# explain SELECT * FROM xx WHERE pack(a) @> '3=>v';
QUERY PLAN
---------------------------------------------------------------------------
Bitmap Heap Scan on xx (cost=12.25..16.51 rows=1 width=32)
Recheck Cond: (pack(a) @> '"3"=>"v"'::hstore)
-> Bitmap Index Scan on xx_pack_idx (cost=0.00..12.25 rows=1 width=0)
Index Cond: (pack(a) @> '"3"=>"v"'::hstore)
(4 rows)
postgres=# SELECT * FROM xx WHERE pack(a) @> '3=>v, 4=>e';
a
-------
Pavel
(1 row)
postgres=# SELECT * FROM xx WHERE pack(a) @> '3=>v, 4=>x';
a
---
(0 rows)
Ale co bude rychlejsi netusim - hstore je hodne genericky, takze pokud by tam byla nizka selectivita, tak by to nemuselo byt efektivni
Souhlas... a nebo jít cestou oindexování volání funkce - viz CREATE INDEX, je tam příklad na vytvoření indexu nad lower()
Tak spojeni velkych tabulek muze byt vypocetne velice narocne, to neni zadny mytus, zalezi na konkretni situaci.Je to mýtus. Spojení velkých tabulek nic nestojí. Nákladné je vyhledávání. Zkuste si to. Udělejte si SELECT na spojení tabulek, a pak soustavu SELECTů, která vybere ta samá data bez spojení v databázi (spojení uděláte v aplikaci). To druhé bude pomalejší – hledání použije stejné indexy, ale v druhém případě bude víc režie se spojením, parsováním dotazů apod.
SELECT A.* FROM table1 A JOIN table2 B ON (A.id = B.a_id) WHERE A.id = 1 SELECT A.* FROM table1 A WHERE A.id = 1
)…
Tiskni
Sdílej: