Branch Privilege Injection (CVE-2024-45332, Paper) je nejnovější bezpečnostní problém procesorů Intel. Intel jej řeší ve včerejším opravném vydání 20250512 mikrokódů pro své procesory. Neprivilegovaný uživatel si například může přečíst /etc/shadow (YouTube).
Dle plánu byl vývoj Firefoxu přesunut z Mercurialu na Git. Oficiální repozitář se zdrojovými kódy je na GitHubu.
V terminálovém multiplexoru GNU Screen byly nalezeny a v upstreamu ve verzi 5.0.1 už opraveny bezpečnostních chyby CVE-2025-23395, CVE-2025-46802, CVE-2025-46803, CVE-2025-46804 a CVE-2025-46805. Podrobnosti na blogu SUSE Security Teamu.
Training Solo (Paper, GitHub) je nejnovější bezpečnostní problém procesorů Intel s eIBRS a některých procesorů ARM. Intel vydal opravnou verzi 20250512 mikrokódů pro své procesory.
Byla vydána nová verze 25.05.11 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Svobodný elektronický platební systém GNU Taler (Wikipedie, cgit) byl vydán ve verzi 1.0. GNU Taler chrání soukromí plátců a zároveň zajišťuje, aby byl příjem viditelný pro úřady. S vydáním verze 1.0 byl systém spuštěn ve Švýcarsku.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL
… více »GNOME Foundation má nového výkonného ředitele. Po deseti měsících skončil dočasný výkonný ředitel Richard Littauer. Vedení nadace převzal Steven Deobald.
Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
$jmeno = "Petr"; switch ($jmeno){ case "Honza" : echo("Honza"); break; case "Jiří" : echo("Jiří"); break; default : echo("Petr"); }Pokud je toho více tak použít if a cyklus for.
for($c=1; $c<100; $c++){ if($seznam[$c] == $slovo) { echo ("našel jsem slovo ". $slovo); break; } }
Out of index! :)$c=1; $c<100; $c++
count($arr)
(a navíc se snad čísluje od 0, ne?)
$a = array(1 => 'pepa','franta'); $c = count($a); for($i=1;$i<=$c;$i++) echo $a[$i] . "\n";…ne že bych to obvykle dělal… :)
foreach
foreach()
, ani zdaleka neznamená, že se musí za každou cenu použít.
foreach
je obvykle nepatrně rychlejší prochází-li nějaké pole polí apod.
for
je obvykle nepatrně rychlejší procházíme-li pole například čísel.for
,
a zas pokud máme pole asociativní (nebo potřebujeme znát klíč a současně hodnotu), je obvykle vhodnější použít foreach (samozřejmně nemusíme, vytáhneme si klíče a procházíme ty).
for
je například pro mně mnohem jednoduší, bo je ve většině jazyků stejný.for
a dobré používat foreach
, když každé je trochu vhodnější na něco jiného a obě jsou to platné konstrukce jazyka?
for
“.for
je daleko vhodnější.Napadají mne dvě možnosti:
in_array()
.Nejste-li schopen realizovat ani jednu z těchto variant (samozřejmě vám to nemusí nutně trvat celých pět minut) a nejste-li ani ochoten udělat něco proto, abyste byl, doporučuji zamyslet se, je-li programování pro vás vhodnou činností. Jinak tady totiž podobně "zapeklitých" problémů budete řešit nejméně deset denně.
$slova = array("slovo", "jiné slovo", "praha"); var_dump(in_array("slovo", $slova)); var_dump(in_array("false", $slova));
$name2num = array("pondeli" => 1, "utery" => 2, "streda" => 3, "ctvrtek" => 4, "patek" => 5, "sobota" => 6, "nedele" => 7);a preklad je jednoduse vyhledani klice
$nazevdne = "pondeli"; $cislodne = $name2num[$nazevdne];Pokud potrebujes pro kazde slovo delat neco jineho, musis prochazet pole rucne cyklem (pres foreach je to jednodussi nez for a cisleny index) nebo udelat switch, jak bylo receno vyse.
$name2num = array( "pondeli" => "funkce1", "utery" => "funkce1", "streda" => "funkce1", "ctvrtek" => "funkce2", "patek" => "funkce2", "sobota" => "funkce3", "nedele" => "funkce3" ); $nazevdne = "pondeli"; function funkce1($param){ var_dump(__FUNCTION__); var_dump($param); } function funkce2($param){ var_dump(__FUNCTION__); var_dump($param); } function funkce3($param){ var_dump(__FUNCTION__); var_dump($param); } if (isset($name2num[$nazevdne]) && is_callable($name2num[$nazevdne])) call_user_func($name2num[$nazevdne],$nazevdne);
Tiskni
Sdílej: