Intel vydal 41 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20240514 mikrokódů pro své procesory řešící INTEL-SA-01051, INTEL-SA-01052 a INTEL-SA-01036.
Společnost Raspberry Pi patřící nadaci Raspberry Pi chystá IPO a vstup na Londýnskou burzu.
Google na své vývojářské konferenci Google I/O 2024 představil řadu novinek. Keynote byl věnován umělé inteligenci (DeepMind, Gemini, Responsible AI).
V Gitu bylo nalezeno 5 zranitelností. Opraveny jsou ve verzích 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 a 2.39.4. Útočník může připravit repozitář tak, že při jeho klonování (git clone) může dojít ke spuštění libovolného kódu.
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ů.
Řešení dotazu:
#include <iostream> #include <string> #include <map> typedef std::map<std::string, std::string> osoba_t; int main() { osoba_t osoba; osoba["adresa"] = "mars colony"; osoba["jmeno"] = "Douglas Quaid"; std::cout << "jmeno = " << osoba["jmeno"] << ", adresa = " << osoba["adresa"] << "\n"; }
Pokud bys těch osob měl pár tisíc a chtěl to mít opravdu hezky, asi by stálo za to si udělat index, kde by byla hodnota, v jaké položce je a pointer na osobu do toho pole. Tan index by byl seřazen podle hodnoty a pomocí bsearch bys po tom pobíhal.s binarnim vyhledavanim bych byl opatrnej. Ono ma sice lepsi asymptotickou slozitost, ale pro maly n je pomalejsi. Hlavni duvod je pravdepodobne obtizna predikce skoku. Kdysi jsem s tim delal nejaky pokusy a binarni vyhledavani bylo rychlejsi nez sequencni hledani az pri asi n > 30 Pokud bych chtel max rychlost tak bych to udelal nejak takhle:
struct osoba_t { char *jmeno; char *adresa; ... } char *najdi_pole(osoba_t *o, char *pole) { if (!strcmp(pole, "jmeno")) { return o->jmeno; } else if (!strcmp(pole, "adresa")) { return o->adresa; } else { ... } }takhle bude mit vyhledavani v jedny funkci takze tam nebude zadna redundance a pokud v ty strukture nema moc polozek tak to bude i rychly. Ty if-y navic muze seradit tak aby ty nejcastejsi byly na zacatku.
Pokud bys těch osob měl pár tisíc a chtěl to mít opravdu hezky...
Tiskni Sdílej: