Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.
Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.
Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).
Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.
Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).
Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.
id 1, platí od 8:00 do 10:00 id 2, platí od 1:00 do 21:00 id 3, platí od 22:00 do 3:00akým príkazom môžem vyselektovať všetky riadky, ktoré platia pre určitú hodinu? malo by mi to vrátiť pre 9:00hod id 1 a 2, pre povedzme 2:00 id 2 a 3. vďaka za nakopnutie vopred
Řešení dotazu:
IF(od < do, od < vstup AND do > vstup, od > vstup AND do < vstup)
vstup je požadovaná hodina.
select * from /tabulka/ where /dana_hodina/ BETWEEN /od/ AND /do/
SELECT * FROM /tabulka/ WHERE (/dana_hodina/ BETWEEN /od/ AND /do/) OR (/dana_hodina/ BETWEEN /do/ AND /od/)
, takže v tý druhý podmínce jsem udělal chybu.
Ta druhá podmínka musí bejt samo znegovaná, což už se ale bude blížit Filipovu řešení. Je ale
elegantnější řešení:
SELECT * FROM /tabulka/ WHERE (/dana_hodina/ < /od/ = /dana_hodina/ > /do/) = (/od/ <= /do/)a zaručeně funkční.
'SELECT * FROM __temp_oddo WHERE ('.$dana_hodina.'< `od` = '.$dana_hodina.' > `do`) = (`od` <= `do`)'ale teraz mi pri akomkoľvek čísle vyhadzuje posledný riadok databázy. :(
4 < 22 = true 4 > 3 = true takže ($dana_hodina < `od` = $dana_hodina > `do`) = true a to se nerovná (22 <= 4) = falseZkus si následující skript
create temporary table intervaly as select 2 as odd, 6 as ddo; create temporary table hodiny as select 1 as hodina; insert into hodiny values (2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12); SELECT hodina, FROM intervaly, hodiny WHERE ((hodina < odd) = (hodina > ddo)) = (odd<=ddo)a měň si tam údaj v tabulce intervaly - uvidíš, že to funguje. PS: Ad Tvoje přepsání: doufám, že $dana_hodina předtím alespoň konvertuješ na int.
"SELECT $dana_hodina, od, do , $dana_hodina < `od`, $dana_hodina < `do`, `od` <= `do`, ($dana_hodina.'< `od` = '.$dana_hodina.' > `do`) = (`od` <= `do`)' FROM __temp_oddo"Co ti z něj vyleze (např. vardumpni všechny řádky, jestli to neumíš dostat líp, ale spíš bych to vyzkoušel z konsole/nějakýho webovýho rozhraní).
ID od do 1 8 10 2 1 21 3 22 3v premennej $dana_hodina je v php skripte zadefinovaný integer povedzme 9. ak použijem
$result = mysql_query('SELECT * FROM __temp_oddo WHERE ('.$dana_hodina.'< `od` = '.$dana_hodina.' > `do`) = (`od` <= `do`)'); tak mi to vypíše id posledného riadku. niečo robím zle, ale čo?
echo 'SELECT * FROM __temp_oddo WHERE ('.$dana_hodina.'< `od` = '.$dana_hodina.' > `do`) = (`od` <= `do`)'
jestli se Ti ten dotaz složí dobře a zadruhý si vypsat mezivýsledky:
$result = mysql_query("SELECT
$dana_hodina, `od`, `do` , $dana_hodina < `od`, $dana_hodina < `do`, `od` <= `do`,
($dana_hodina '< `od` = $dana_hodina > `do`) = (`od` <= `do`)'
FROM __temp_oddo");
abychom zjistili, kde to počítá blbě. Anebo použij to filipovo řešení, dělal jsem testy a MySQL to volání funcke IF optimalizuje, takže je výsledek dokonce o fous rychlejší než mýho. Ale bejt Tebou bych chybu zjistil, jednak kvůli poučení, a jednak, abys vyloučil, že tam máš nějakou chybu jinde.
Array
(
[0] => 2
[2] => 10
[1] => 8
[od] => 8
[do] => 10
[3] => 1
[2 < `od`] => 1
[4] => 1
[2 < `do`] => 1
[5] => 1
[`od` <= `do`] => 1
[6] => 0
[(2 < `od` = 2 > `do`) = (`od` <= `do`)] => 0
)
inak, zdá sa, že mi tento príkaz funguje a vyhodnocuje správne:
$result = mysql_query("SELECT * FROM __temp_oddo WHERE IF(od <= do, od <= $dana_hodina AND do >= $dana_hodina, od <= $dana_hodina OR do >= $dana_hodina)");
tento príkaz
$result = mysql_query("SELECT * FROM __temp_oddo WHERE IF(od < do, od < $dana_hodina AND do > vstup, od > $dana_hodina AND do < $dana_hodina)");
mi hádže chybu E_WARNING: mysql_fetch_array() expects parameter 1 to be resource, boolean given
CREATE TABLE `aaa` ( `uid` INT(10) UNSIGNED NOT NULL, `od` DATETIME DEFAULT '0000-00-00 00:00:00', `do` DATETIME DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`uid`), KEY `Index_Od` (`od`), KEY `Index_Do` (`do`) ) ENGINE=MYISAM ;Vložíme zopár údajov:
INSERT INTO `aaa` VALUES (1, '1000-01-01 08:00:00', '1000-01-01 10:00:00'); INSERT INTO `aaa` VALUES (2, '1000-01-01 01:00:00', '1000-01-01 21:00:00'); INSERT INTO `aaa` VALUES (3, '1000-01-01 22:00:00', '1000-01-01 03:00:00'); INSERT INTO `aaa` VALUES (4, '1000-01-01 15:00:00', '1000-01-01 22:00:00'); INSERT INTO `aaa` VALUES (5, '1000-01-01 20:00:00', '1000-01-01 10:00:00'); INSERT INTO `aaa` VALUES (6, '1000-01-01 12:00:00', '1000-01-01 06:00:00');DATETIME má rozsah '1000-01-01 00:00:00' až '9999-12-31 23:59:59'. Nám stačí použiť pri vkladaní časov dátum '1000-01-01' rovnako pre `od` a `do`. Ak by bolo možné zabezpečiť pri menšom `do` ako je `od` použitie dátumu '1000-01-02', bolo by to asi ešte lepšie. Potom môže fungovať výber:
SELECT * FROM `aaa` WHERE '1000-01-01 09:00:00' BETWEEN `od` AND IF(`do` < `od`, DATE_ADD(`do`, INTERVAL 1 DAY), `do`) OR '1000-01-02 09:00:00' BETWEEN `od` AND IF(`do` < `od`, DATE_ADD(`do`, INTERVAL 1 DAY), `do`) ;
SELECT * FROM `aaa` WHERE '1000-01-01 09:00:00' BETWEEN `od` AND IF(`do` <= `od`, DATE_ADD(`do`, INTERVAL 1 DAY), `do`) OR '1000-01-02 09:00:00' BETWEEN `od` AND IF(`do` <= `od`, DATE_ADD(`do`, INTERVAL 1 DAY), `do`) ;
Tiskni
Sdílej: