Byla vydána nová verze 2023.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení. Vypíchnout lze podporu Cloud ARM64, Vagrant Hyper-V a Raspberry Pi 5.
Společnosti IBM, Meta a dalších vice než 50 zakládajících členů (bez Microsoftu a OpenAI) vytvořili mezinárodní alianci AI Alliance pro spolupráci na vývoji a rozvoji otevřené, bezpečné a odpovědné umělé inteligence.
Služba pro hlídání uniklých hesel Have I Been Pwned oslavila 10. výročí. Troy Hunt ji spustil 4. prosince 2013 (Twitter).
Programovací jazyk HTML.
Podpora TORu v Debianu 11 Bullseye a 10 Buster byla ukončena. Doporučuje se přechod na Debian 12 Bookworm.
Příkaz "opakuj donekonečna" je nově v rozporu s podmínkami používání ChatGPT. Příkaz vedl k prozrazení trénovacích dat [/.].
GNU Project Debugger aneb GDB byl vydán ve verzi 14.1. Podrobný přehled novinek v souboru NEWS. Vypíchnout lze podporu NO_COLOR a Debugger Adapter Protocol (DAP).
Byla vydána verze 5.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
TuxClocker je Qt GUI nástroj pro monitorování a nastavování (přetaktovávání) hardwaru na Linuxu. Aktuální verze je 1.4.0. Z novinek lze vypíchnout monitorování využití AMD a NVIDIA VRAM nebo sledování spotřeby energie procesorů AMD a Intel.
O víkendu (15:00 až 23:00) probíhá EmacsConf 2023, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy jsou k dispozici přímo z programu.
2010-06-01 00:00:26 1.9138
2010-06-01 00:02:07 1.9145
2010-06-01 00:03:49 1.9150
2010-06-01 00:05:30 1.9141
2010-06-01 00:07:12 1.9123
2010-06-01 00:08:53 1.9154
2010-06-01 00:10:34 1.9132
2010-06-01 01:12:16 1.9118
2010-06-01 01:13:57 1.9119
2010-06-01 01:15:38 1.9123
Řešení dotazu:
select avg( hodnota ) from sometable group by floor(unix_timestamp( datum ) / 1800)
SELECT FLOOR(UNIX_TIMESTAMP(datum)/(60*30)) AS cas, FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(datum)/(60*30))*(60*30)) AS cas_date, AVG(cislo) AS avg_cislo FROM test1 GROUP BY cas;nad tabulkou:
CREATE TABLE `test1`( `datum` datetime NOT NULL , `cislo` double, PRIMARY KEY (`datum`) );s daty:
INSERT INTO test1 (datum, cislo) VALUES ('2010-06-01 00:00:26', 1.9138), ('2010-06-01 00:02:07', 1.9145), ('2010-06-01 00:03:49', 1.9150), ('2010-06-01 00:05:30', 1.9141), ('2010-06-01 00:07:12', 1.9123), ('2010-06-01 00:08:53', 1.9154), ('2010-06-01 00:10:34', 1.9132), ('2010-06-01 01:12:16', 1.9118), ('2010-06-01 01:13:57', 1.9119), ('2010-06-01 01:15:38', 1.9123);je výsledek:
+--------+---------------------+-----------------+ | cas | cas_date | avg_cislo | +--------+---------------------+-----------------+ | 708524 | 2010-06-01 00:00:00 | 1.9140428571429 | | 708526 | 2010-06-01 01:00:00 | 1.912 | +--------+---------------------+-----------------+Ale pokud bych to chtěl tak nějak čistější:
SELECT DATE(datum) AS jen_datum, TIME(datum) AS jen_cas, FLOOR(TIME_TO_SEC(TIME(datum)) / (60*30)) AS filtr, AVG(cislo) AS avg_cislo FROM test1 GROUP BY jen_datum, filtr;A tady je to pro hezký výpis:
SELECT jen_datum, CONCAT_WS('-',TIME_FORMAT(SEC_TO_TIME(filtr*(60*30)),'%H:%i'),TIME_FORMAT(SEC_TO_TIME((filtr+1)*(60*30)),'%H:%i')) AS usek, ROUND(avg_cislo,4) AS rndavg_cislo FROM (SELECT DATE(datum) AS jen_datum, TIME(datum) AS jen_cas, FLOOR(TIME_TO_SEC(TIME(datum)) / (60*30)) AS filtr, AVG(cislo) AS avg_cislo FROM test1 GROUP BY jen_datum, filtr) AS t1;z výsledkem:
+------------+-------------+--------------+ | jen_datum | usek | rndavg_cislo | +------------+-------------+--------------+ | 2010-06-01 | 00:00-00:30 | 1.9140 | | 2010-06-01 | 01:00-01:30 | 1.9120 | +------------+-------------+--------------+
Tiskni
Sdílej: