Virtualizační softwary VMware Workstation Pro a VMware Fusion Pro jsou nově pro osobní použití zdarma. Softwary VMware Workstation Player a VMware Fusion Player končí.
Linuxová distribuce Endless OS (Wikipedie) byla vydána ve verzi 6.0.0. Přehled novinek i s náhledy v příspěvku na blogu, poznámkách k vydání a také na YouTube.
Byl vydán Mozilla Firefox 126.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vylepšena byla funkce "Zkopírovat odkaz bez sledovacích prvků". Přidána byla podpora zstd (Zstandard). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 126 je již k dispozici také na Flathubu a Snapcraftu.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 11.0. Přehled novinek v aktualizované dokumentaci.
Byla vydána nová verze 24.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Wynsdey. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Byla představena oficiální rozšiřující deska Raspberry Pi M.2 HAT+ pro připojování M.2 periferii jako jsou NVMe disky a AI akcelerátory k Raspberry Pi 5. Cena je 12 dolarů.
V Praze o víkendu proběhla bastlířská událost roku - výstava Maker Fair v Praze. I strahovští bastlíři nelenili a bastly ostatních prozkoumali. Přijďte si proto i vy na Virtuální Bastlírnu popovídat, co Vás nejvíce zaujalo a jaké projekty jste si přinesli! Samozřejmě, nejen českou bastlířskou scénou je člověk živ - takže co se stalo ve světě a o čem mohou strahováci něco říct? Smutnou zprávou může být to, že provozovatel Sigfoxu jde do
… více »Kam asi vede IllllIllIIl.llIlI.lI? Zkracovač URL llIlI.lI.
Společnost OpenAI představila svůj nejnovější AI model GPT-4o (o jako omni, tj. vše). Nově také "vidí" a "slyší". Videoukázky na 𝕏 nebo YouTube.
Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.
Minule jsem lehce nastínil, co je to Root a na jednoduchém příkladě ukázal jednu z mnoha věcí, ke kterým by se dal použít. Jak bylo řečeno, Root slouží k analýze dat. Obvykle ale chceme analyzovat i něco jiného než náhodná čísla vygenerovaná v Rootu. Dnes se tedy pokusím popsat, jakými způsoby lze data do Rootu načítat a ukládat.
Jelikož Root je framework v C++, lze pochopitelně k vstupům i výstupům použít standatní prostředky C++. V Rootu samotném jsou pak např. implementovány třídy pro usnadnění manipulace s daty v XML (a to jak SAX tak DOM parser), tak pro komunikaci se SQL serverem. Toto velmi usnadní práci zvláště když chceme uložit nějaký celý rootovský objekt, např. uložení plátna c1
do databáze lze jednoduše provést takto:
gBenchmark->Start("writeSQL");
c1->Write("Canvas");
Tento a další příklady lze najít v $ROOTSYS/tutorials/sql
(resp. tutorilas/xml
). Když už jsem zde dal za příklad ukládání plátna, ještě zmíním, že objekty jako plátno jdou velmi snadno (c1->Print("graf.eps")
) ukládat do formátů ps, esp, jpg a mnoha dalších. Formát se se volí automaticky podle koncovky souboru (v našem případě grafy.esp
tedy eps formát).
Pokud explicitně nezvolíme způsob uložení objektu (např. do databáze) a zavoláme na objektu (těmito objekty jsou v Rootu nejčastěji rootvské stromy - TTree
) metodu Write()
(musíme mít ale otevřeny nějaký rootovský soubor TFile
), objekt se zapíše ve vlastním formátu Rootu (no, lépe řečeno, jedná se o serializaci objektů. Jak se píše v Root user's guide, rootovský soubor je jako UNIXový adresář, může obsahovat adresáře a objekty v neomezeném množství úrovní. Obsah takovéhoto souboru pak můžeme zobrazit a procházet např. pomocí TBrowser
(v příkazové řádce Rootu napíšeme new TBrowser()
a spustí se, jak již název napovídá, grafický browser, kterým můžeme procházet obsah souboru nebo otvírat další soubory). Pokud chceme načíst nějaký objekt v programu, patrně nejsnadněji toho dosáhneme zavoláním metody Get("object_key")
na objektu typu TFile
(myTFile->Get(object_key)
), kde klíč objektu obvykle zadáváme při jeho vytvoření (typicky první parametr konstruktoru) nebo při ukládání objektu(object->Write("new_key")
). Seznam všech klíčů objektů uložených v souboru získáme pomocí myTFile->GetListOfKeys()
. Výpis adresářů v souboru zas pomocí myTFile->ls()
a do adresáře se přesuneme pomocí myTFile->cd()
.
Jak již bylo řečeno, ukládání probíhá serializací objektů. O to se starají streamry. O streamrech a podrobnostech ukládání objektů se můžete dočíst v manuálu. Další zajímavou funkcí IO systém Rootu je možnost vzdáleného přístupu k rootovským souborům. Soubor, který chceme ukládat přes síť, musí být typu TNetFile
. Chová se stejně jako TFile
(také je to jeho potomek), akorát místo na disk přesměruje výstup na demona rootd (který pochopitelně musí běžet. Jména souborů jsou jako URL adresy s protokolem root
(např. root://cosi.kdesi.cz/root/test.root
). Podrobnosti (a jak rozběhnout demona) opět viz manuál. Soubory lze zpřístupnit i přes web sever. Soubor pak musí být typu TWebFile
a z Root pak k němu přistoupit přes protokol HTTP:
TWebFile webFile("http://cosi.kdesi.cz/rootFile.root");
webFile.ls()
Tiskni Sdílej: