Po pěti měsících vývoje byla vydána nová verze 0.15.1 programovacího jazyka Zig (GitHub, Wikipedie). Verze 0.15.0 byla přeskočena. Přispělo 162 vývojářů. Přehled novinek v poznámkách k vydání.
Před sedmi lety společnost Valve představila fork projektu Wine s názvem Proton umožňující v Linuxu přímo ze Steamu hrát počítačové hry do té doby běžící pouze ve Windows. Aktuální přehled podporovaných her na stránkách ProtonDB
Společnost DuckDuckGo rozšířila svůj AI chat Duck.ai o GPT-5 mini (𝕏). Duck.ai umožňuje anonymní přístup bez vytváření účtů k několika modelům umělé inteligence. Aktuálně k GPT-4o mini, GPT-5 mini, Llama 4 Scout, Claude Haiku 3.5 a Mistral Small 3.
Marek Tóth v příspěvku DOM-based Extension Clickjacking: Data ve správcích hesel v ohrožení na svém blogu popsal novou clickjacking techniku s několika variantami útoků a otestoval ji proti 11 správcům hesel. Výsledkem bylo nalezení několika 0-day zranitelností, které mohly ovlivnit uložená data desítek milionů uživatelů. Jedno kliknutí kdekoliv na webové stránce kontrolované útočníkem umožňovalo ukrást uživatelská data ze
… více »Na dnešní akci Made by Google 2025 (YouTube) byly představeny telefony Pixel 10 s novým čipem Google Tensor G5 a novými AI funkcemi, hodinky Pixel Watch 4 a sluchátka Pixel Buds 2a.
The Document Foundation oznámila vydání nové major verze 25.8 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs) a také na Youtube a PeerTube.
Zeek (Wikipedie), původně Bro, byl vydán v nové major verzi 8.0.0. Jedná se o open source platformu pro analýzu síťového provozu. Vyzkoušet lze online.
Byl vydán Mozilla Firefox 142.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 142 je již k dispozici také na Flathubu a Snapcraftu.
Python Developers Survey 2024, výsledky průzkumu mezi vývojáři v Pythonu organizovaném Python Software Foundation ve spolupráci se společností JetBrains v říjnu a listopadu loňského roku. Zúčastnilo se 30 tisíc vývojářů z 200 zemí. Linux používá 59 % z nich.
1.3.2014 1000 1.6.2014 1500 1.9.2014 2100což je datum a stav vodoměru v daný den. Chci z toho dostat toto:
1.3.2014-1.6.2014 500 1.6.2014-1.9.2014 600tedy kolik se spotřebovalo vody vždy mezi jednotlivými zápisy. Prosím o radu na elegantní řešení v PostgreSQL. Díky.
Řešení dotazu:
SELECT s1.datum AS od, s2.datum AS do, s2.stav - s1.stav AS rozdil FROM spotreba_vody s1 CROSS JOIN spotreba_vody s2 WHERE s1.datum < s2.datumNa PostgreSQL netestovano, ale melo by to fungovat. Ma to jednu odlisnost, vraci to i rozdil mezi 1.3. a 1.9.
SELECT x.od, x.do, s2.stav - s1.stav AS rozdil FROM ( SELECT x1.datum AS od , (SELECT MIN(x2.datum) FROM spotreba_vody x2 WHERE x2.datum > x1.datum) AS do FROM spotreba_vody x1 ) x JOIN spotreba_vody s1 ON s1.datum = x.od JOIN spotreba_vody s2 ON s2.datum = x.doTohle vrati jen ty dva zaznamy, ale opet nevim, jestli funguje i na postgresu..
Máte dvě možnosti. První méně efektivní se self joinem a druhý lepší s window funkcemi.
select A.dt ,min(B.dt) ,min(B.val order by B.dt)-A.val from T as A join T as B on A.dt<B.dt group by A.*
select A.dt ,max(A.dt) over( order by A.dt rows between current row and 1 following) ,max(A.val) over( order by A.dt rows between current row and 1 following)-A.val from A
Psáno bez jakékoliv kontroly, takže tam budou asi nějaké chybky. Ale jako nápověda je to dostatečné. BTW: Co když není datum unikátní?
select * from ( select voda.datum as zacatek ,max(voda.datum) over( order by voda.datum rows between current row and 1 following) as konec ,max(voda.stav) over( order by voda.datum rows between current row and 1 following)-voda.stav as spotreba from myschema.voda ) foo where zacatek != konec;Nejedinečné datum s různými stavy vodoměru je blbost, tak přidán constraint (ve skutečnosti je to timestamp, ne datum). K dokonalosti ještě chybí ošetřit přetočení či výměnu vodoměru, ale to teď řešit nebudu.
postgres=> select * from (select mereno, hodnota - lag(hodnota) over (order by mereno) as spotreba from odecet order by 1) s where spotreba is not null; mereno | spotreba ------------+---------- 2014-01-06 | 500 2014-01-09 | 600 (2 rows)Kartézákům se pokud možno vyhýbejte - pro větší data to může být docela pomalé, a navíc zápis s window funckcemi je výrazně čitelnější.
Tiskni
Sdílej: