Byl vydán Mozilla Firefox 156.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vestavěný prohlížeč PDF se nyní spouští o 45 % rychleji. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 156 bude brzy k dispozici také na Flathubu a Snapcraftu.
Článek na Raspberry Pi představuje nový vzhled desktopu operačního systému Raspberry Pi OS v aktuálním vydání 2026-09-15.
Nové verze Roundcube Webmailu 1.6.19 a 1.7.4 řeší několik zranitelností.
Na Kickstarteru běží kampaň na podporu hloupého (jenom volání a SMS) tlačítkového DIY telefonu MAKERphone 2.0 od společnosti CircuitMess postaveného na ESP32-S3 a volitelně také s hodinkami MAKERband. S možností psaní vlastních aplikací. S volitelnými HW rozšiřujícími moduly.
Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.
OpenRGB (GitLab) dospěl do verze 1.0 (YouTube). OpenRGB (dříve OpenAuraSDK) je svobodný multiplatformní software umožňující nastavení podsvícení celé řady různých „herních“ komponent a periferií.
Dnes startuje prodej headsetu Steam Frame. Počínaje dneškem se tedy můžete zapsat na seznam pro jeden z následujících modelů: Steam Frame 256 GB za 1 049 EUR a Steam Frame 1 TB za 1 279 EUR.
Vládní CERT upozorňuje na kritickou zranitelnost v GitLab Community Edition (CE) a Enterprise Edition (EE). Zranitelnost CVE-2026-85706 typu path traversal v Repository Commits API dosahuje skóre CVSS 10.0. Kvůli nedostatečnému omezení cest a chybějícímu vynucení autentizace může za určitých podmínek neautentizovaný útočník číst libovolné soubory ze serveru GitLab, a získat tak přístup k citlivým datům a konfiguraci instance.
Linux může běžet nativně na ESP32-S3 – bez emulace a rovnou s 9,7″ e-paperem.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 7.0.0. Pro sandboxing se na Linuxu nově používá Landlock místo Bubblewrap. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
insert into hodnoty (id,hodnota,datum_od,datum_do) values (1,3.300,'2018-01-01','2019-12-31'), (1,3.600,'2020-01-01','2020-11-31'), (1,3.850,'2021-01-01','2021-12-31'), (1,4.000,'2022-01-01','2022-12-31'), (1,4.350,'2023-01-01','2023-12-31'), (1,4.700,'2024-01-01','3333-03-03'), (2,3.300,'2018-01-01','2019-12-31'), (2,3.600,'2020-01-01','2020-12-31'), (2,3.850,'2021-01-01','2021-12-31'), (2,4.000,'2022-01-01','2022-12-31'); (2,4.350,'2023-01-01','2023-12-31'), (2,4.700,'2024-01-01','3333-03-03'), (3,2.848,'2018-01-01','2018-08-31'), (3,2.943,'2018-09-01','2018-12-31'), (3,3.188,'2019-01-01','2019-12-31'), (3,3.555,'2020-01-01','2020-12-31'), (3,3.819,'2020-12-01','2021-12-31'), (3,3.961,'2022-01-01','2022-12-31'), (3,4.291,'2023-01-01','2023-12-31'), (3,4.597,'2024-01-01','3333-03-03');su v nej id ktore maju urcitu casovu platnost. je mozne priamo v sql zistit, ci sa pre jednotlive id datumove intervaly neprekryvaju(t.j. ci id nema v dany datum viacero moznych hodnot) a zaroven ci nie su v intervaloch medzery(t.z. ci neexistuje datum pre ktory id nema ziadnu hodnotu)? v priklade ako najmensi mozny datum je 2018-01-01 a najvyssi 3333-03-03. pre id=1 napr. chybaju hodnoty pre december 2020. pre id=3 su zase pre interval datumov december 2020 platne 2 hodnoty(3.555 aj 3.819 co je nespravne). je mozne tieto chyby v integrite dat nejako lahko vyselektovat? dakujem.
select * from hodnoty h1 join hodnoty h2 on daterange(h1.datum_od, h1.datum_do, '[]') && daterange(h2.datum_od, h2.datum_do, '[]') and h1.id < h2.id;A jestli něco nechybí můžeš zjistit tak, že porovnáš součty délek intervalů s intervalem (nejmenší datum, největší). V mariadb možná bude potřeba napsat vlastní podmínky na porovnání intervalů, nevím, jestli je tam na to funkce.
with t1 as(
select
id,
datediff(max(datum_do), min(datum_od)) + 1 as celkovy_pocet_dni
from
hodnoty
group by
id
),
t2 as(
select
id,
sum(datediff(datum_do, datum_od) + 1) as sucet_intervalov
from
hodnoty
group by
id
),
t3 as (
select
t1.id as id,
celkovy_pocet_dni - sucet_intervalov as rozdiel
from
t1
left join t2 on t2.id = t1.id
having
rozdiel != 0
)
select
id,
case
when rozdiel < 0 then 'duplicita datumov'
when rozdiel > 0 then 'chybajuci interval datumov'
end as chyba
from
t3
order by
t3.id
(1,1.000,'2018-01-01','2018-12-31'), (1,1.000,'2018-01-01','2018-12-31'), (1,1.000,'2020-01-01','2020-12-31')
-- kontrola ci datum_do nie je mensi ako datum_od
select
*,
datediff(h.datum_do, h.datum_od) as pocet_dni
from
hodnoty as h
having
pocet_dni < 0
order by
h.id,
h.datum_od,
h.datum_do;
-- kontrola ci intervaly datumov na seba plynulo nadvazuju
with t1 as (
select
h.id,
lag(h.datum_do, 1) over (
PARTITION BY h.id
order by
h.id,
h.datum_od,
h.datum_do
) as datum_pred,
h.datum_od,
h.datum_do,
lead(h.datum_od, 1) over (
PARTITION BY h.id
order by
h.id,
h.datum_od,
h.datum_do
) as datum_po
from
hodnoty as h
order by
h.id,
h.datum_od,
h.datum_do
)
select
id,
datum_pred,
case
when datediff(datum_od, datum_pred) is NULL then 'OK'
when datediff(datum_od, datum_pred) = 1 then 'OK'
else 'CHYBA'
end as stav_1,
datum_od,
datum_do,
case
when datediff(datum_po, datum_do) is NULL then 'OK'
when datediff(datum_po, datum_do) = 1 then 'OK'
else 'CHYBA'
end as stav_2,
datum_po
from
t1
having
stav_1 = 'CHYBA'
or stav_2 = 'CHYBA'
skusil som to vyriesit pomocou LAG a LEAD.
rozdelil som to do dvoch krokov.
najskor sa skontroluje ci su v poriadku jednotlive datumove intervaly.
a v druhom kroku sa skontroluje ci intervaly pre jednotlive id na seba nadvazuju a neprekryvaju sa. vie mi to niekto skontrolovat ci tam zase nie je nejaka chyba? nejaky pripad pri ktorom by kontrola zlyhala?
select
A.*
,B.*
from hodnoty A
join hodnoty B on A.id = b.id and A.datum_do >= B.datum_od and A.datum_od <= B.datum_do
řešení vychází z následujícího obrázku, který ukazuje možné překryvy
A
+----------------+
o x
o x o x o x
+-----+ +----+ +-----+
B B B
Díry v jistém smyslu jsou problematičtější, protože vždycky budete mít díru. A to na začátku a na konci.
select
A.*
,min(B.datum_od)
from hodnoty A
join hodnoty B on A.id = B.id and A.datum_do < B.datum_od
group by A.*
having A.datum_do + interval '1' day < min(B.datum_od)
Rychlejší řešení děr je pomocí analytických funkcí. Konkrétně funkce LAG a LEAD
SELECT id, hodnota, datum_od, datum_do
FROM (
SELECT id, hodnota, datum_od, datum_do,
LEAD(datum_od) OVER (PARTITION BY id ORDER BY datum_od) AS next_datum_od
FROM hodnoty
) AS t
WHERE datum_do >= next_datum_od;
SELECT id, hodnota, datum_od, datum_do
FROM (
SELECT id, hodnota, datum_od, datum_do,
LAG(datum_do) OVER (PARTITION BY id ORDER BY datum_od) AS prev_datum_do
FROM hodnoty
) AS t
WHERE datum_od > DATE_ADD(prev_datum_do, INTERVAL 1 DAY);
Tiskni
Sdílej: