Elon Musk na akci We, Robot (YouTube, 𝕏) představil Robotaxi, Robovan a vylepšeného Tesla Bota (Optimus).
Internet Archive je offline (𝕏, Bluesky, Mastodon). Unikly údaje 31 milionů uživatelů. Probíhal / probíhá na něj DDoS útok.
Alyssa Rosenzweig se v příspěvku na svém blogu rozepsala o hraní AAA her na Asahi Linuxu. Na YouTube je záznam její včerejší přednášky na XDC 2024 (X.Org Developer's Conference).
Vláda schválila Národní polovodičovou strategii: Česká republika má velký potenciál stát se významným hráčem v oblasti výroby čipů, zejména v evropském měřítku. Využít tento potenciál je cílem Národní polovodičové strategie, kterou připravilo Ministerstvo průmyslu a obchodu ve spolupráci s experty, a která navazuje na evropský Akt o čipech.
V lete vyšiel Aeonwave 4.0, ktorý niekoľkonásobne menej vyťažuje procesor pri interpretácií priestorového zvuku než OpenAL Soft. Autor hľadá prispievateľov do knižnice libaaxopenal za účelom pridania ALC_EXT_EFX rozšírení využívaných napr. v hre Doom 3 cez port Dhewm3 v Linuxe.
Linuxová distribuce Ubuntu 24.10 „Oracular Oriole“ byla vydána. Jde o průběžné vydání s podporou 9 měsíců. Obsahuje mj. Linux 6.11 či GNOME 47 s několika odkazy na první vydání Ubuntu (4.10 „Warty Warthog“) před 20 lety. K dispozici jsou také oficiální deriváty s odlišnými výchozími desktopovými prostředími anebo balíky aplikací.
Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové major verzi 2.0 (YouTube). Důležité změny v Migration Guide.
Apache Tomcat (Wikipedie) slaví 25 let. Při té příležitosti byla vydána nová verze 11.0. Přehled novinek v poznámkách k vydání.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 24.09.0. Přehled novinek v poznámkách k vydání. O3DE má nového maskota: Odie.
Kdo chce podpořit společnost Nintendo v jejím boji proti open source softwaru (Ryujinx, yuzu, …), může si koupit Nintendo budík Alarmo za 100 dolarů. Za jak dlouho bude na budík naportován Doom?
class Class1 { public function set($key, $value){ $this->data[$key] = $value; } public function get($key){ return $this->data[$key]; } } class Class2 { function __construct($obj1){ $array['aaa']['foo1'] = 'foo1'; $array['aaa']['foo2'] = 'foo2'; $array['aaa']['foo3'] = 'foo3'; $obj1->set('aaa', $array); } } class Class3 { function __construct($obj1){ $array['aaa']['bar1'] = 'bar1'; $array['aaa']['bar2'] = 'bar2'; $array['aaa']['bar3'] = 'bar3'; $obj1->set('aaa', $array); } } $obj1 = new Class1(); $obj2 = new Class2($obj1); $obj3 = new Class3($obj1); var_dump($obj1->get('aaa')); Výsledek: array(1) { ["aaa"]=> array(3) { ["bar1"]=> string(4) "bar1" ["bar2"]=> string(4) "bar2" ["bar3"]=> string(4) "bar3" } } var_export($obj1->get('aaa')); Výsledek: array ( 'aaa' => array ( 'bar1' => 'bar1', 'bar2' => 'bar2', 'bar3' => 'bar3', ), )
get
a set
, ale __get
a __set
.
Jinak celé je to úplně zmatené. Ve třídě Class1 chybí deklarace pole $this->data, konstruktor Class2 pracuje s nějakým neznámým polem $array. To pole v $obj1 se prostě přepíše novými hodnotami.
function __construct($obj1){
$array['aaa']['bar1'] = 'bar1';
$array['aaa']['bar2'] = 'bar2';
$array['aaa']['bar3'] = 'bar3';
$obj1->set('aaa', $array);
}
fungovalo by
function __construct($obj1){
$array['bbb']['bar1'] = 'bar1';
$array['bbb']['bar2'] = 'bar2';
$array['bbb']['bar3'] = 'bar3';
$obj1->set('bbb', $array);
}
Tiskni Sdílej: