Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.
Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.
Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.
Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.
Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).
Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].
Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.
V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem
… více »V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Řešení dotazu:
Podmínkou zjistit jestli je číslo (počet bytů) větší než počet bytů o jeden řád větší, potom dosaď jednotky.
function hatatitla($byte){
if($byte<1000){$kolik=$byte;$jednotka="B";}
elseif($byte>=1000){$kolik=$byte/1000;$jednotka="kB";}
elseif($byte>=1000000){$kolik=$byte/1000000;$jednotka="MB";}
//atd atd
return "".$kolik." ".$jednotka.""; }
echo hatatitla(1000); //vrati 1kB
function fsize_unit_convert($bytes)
{
$units = array('b', 'kb', 'mb', 'gb');
$converted = $bytes . ' ' . $units[0];
for ($i = 0; $i < count($units); $i++) {
if (($bytes/pow(1024, $i)) >= 1) {
$converted = round($bytes/pow(1024, $i), 2) . ' ' . $units[$i];}
}
return $converted;
}
}
$i = (int) log($bytes, 2) / 10;
HMST: 5.052839040756 sec (HumanReadableSizeTest) HMS: 6.325034141540 sec (HumanReadableSize) FSC: 23.292122125626 sec (fsize_unit_convert) FSCL: 7.134121179580 sec (fsize_unit_convert_log)Zdrojový kód v příloze spuštěný z řádku
php -f test.php. :)
function fsize_unit_convert_log_optimized($bytes)
{
static $units = array(
array( ' B', 1),
array(' KiB', 1024.),
array(' MiB', 1048576.),
array(' GiB', 1073741824.),
array(' TiB', 1099511627776.),
);
$u = & $units[(int) log($bytes, 2) / 10];
return round($bytes / $u[1], 2).$u[0];
}
Test finished HMST: 4.99683594704 sec (HumanReadableSizeTest) HMS: 5.82857894897 sec (HumanReadableSize) FSC: 21.1713778973 sec (fsize_unit_convert) FSCL: 6.77399015427 sec (fsize_unit_convert_log) FSCL2: 4.63680100441 sec (fsize_unit_convert_log_optimized):-P
<?php
$def_blockSize_1000 = Array(Array(1.0,'B'),
Array(1000.0,'kB'),
Array(1000000.0,'MB'),
Array(1000000000.0,'GB'),
Array(1000000000000.0,'TB'));
$def_blockSize_1024 = Array(Array(1.0,'B'),
Array(1024.0,'KiB'),
Array(1024.0*1024.0,'MiB'),
Array(1024.0*1024.0*1024.0,'GiB'),
Array(1024.0*1024.0*1024.0*1024.0,'TiB'));
function HumanReadableSize($value, $ain,$decimal=2,$dec_points='.',$thousands_sep='')
{
if($value < 0)
return "?";
for($i = count($ain)-1;$i > 0;$i--)
{
if($value > $ain[$i][0])
return number_format((float)$value / $ain[$i][0],$decimal,$dec_points,$thousands_sep) . $ain[$i][1];
}
return $value . $ain[0][1];
}
echo "SI <br />\n";
echo "900B = " . HumanReadableSize(900,$def_blockSize_1000) ." <br />\n";
echo "1101B =" . HumanReadableSize(1101,$def_blockSize_1000) ." <br />\n";
echo "1200123B = " . HumanReadableSize(1200123,$def_blockSize_1000) ." <br />\n";
echo "1307895456B = " . HumanReadableSize(1307895456,$def_blockSize_1000) ." <br />\n";
echo "1571597537412B ≈ " . HumanReadableSize(1571597537412,$def_blockSize_1000) ." <br />\n";
echo "Binary <br />\n";
echo "900B = " . HumanReadableSize(900,$def_blockSize_1024) ." <br />\n";
echo "1101B = " . HumanReadableSize(1101,$def_blockSize_1024) ." <br />\n";
echo "1200123B = " . HumanReadableSize(1200123,$def_blockSize_1024) ." <br />\n";
echo "1307895456B = " . HumanReadableSize(1307895456,$def_blockSize_1024) ." <br />\n";
echo "1571597537412B ≈ " . HumanReadableSize(1571597537412,$def_blockSize_1024) ." <br />\n";
return;
?>
PS: pokud pracujete s velkými čísly (v terách a v 64bit Integer-u) udělejte to už na straně SQL.
Tiskni
Sdílej: