Nizozemská vláda ve snaze šetřit a zvyšovat efektivitu s využitím umělé inteligence (AI) hodlá zrušit asi 25.000 pracovních míst ve státní správě. Cílem je postupně dosáhnout ročních úspor až 3,5 miliardy eur (85,2 miliardy Kč). Na konci loňského roku ve státní správě pracovalo rekordních 160.000 lidí. „Nemůžeme pokračovat v tom, co jsme dělali dosud,“ uvedl státní tajemník pro efektivní fungování vlády Eric van den Burg. „Proto
… více »Příspěvek na blogu PRUSA 3D představuje fotoaparát CAIM1 (Counter Artificial Intelligence Machine 1). Uměle vytvořený obsah je každým dnem těžší rozeznat od skutečných záběrů či fotografií, což podrývá důvěryhodnost žurnalistiky, archivních materiálů i každodenní tvorby obsahu. Fotoaparát CAIM1 byl vyvinut právě k tomu, aby ověřoval původ fotografií a videí přímo během jejich pořizování. Uvnitř fotoaparátu se nachází hardwarová Web3 peněženka se zabezpečovacím čipem Tropic Square TROPIC01.
Jonathan Thomas oznámil vydání nové verze 4.1 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.
Při běžné migraci virtuálního stroje mezi hypervizory se jeho MAC adresa přesune na jiný leaf switch. EVPN tuto změnu distribuuje pomocí BGP Type-2 route a MAC mobility sequence number. Problém nastává, pokud útočník podvrhne zdrojovou MAC adresu jiného zařízení. Leaf může změnu interpretovat jako legitimní přesun MAC a rozšířit ji přes BGP do celé fabric. Výsledkem může být přesměrování provozu určeného původnímu zařízení. Autor článku rozebírá možnosti detekce pomocí sledování MAC moves, BGP route reflektorů a kontroly na přístupové vrstvě.
Vývojáři desktopového prostředí Enlightenment (Wikipedie) a souvisejících knihoven Enlightenment Foundation Libraries (EFL) vydali nové verze. Enlightenment byl vydán ve verzi 0.28.0 a Enlightenment Foundation Libraries ve verzi 1.29.
Cloudflare zjistil, že některé odpovědi modelu GLM-5.3 obsahovaly části dat z předchozích požadavků jiných zákazníků. Příčinou byla kombinace chybné konfigurace a chyby v inference enginu SGLang. Model podporoval kontextové okno 1 048 576 tokenů, ale GPU KV cache pool měl kapacitu pouze 681 280 tokenů. Při překročení kapacity docházelo k nesprávnému zpracování odmítnutého požadavku. Decode část systému následně pracovala se starými
… více »Vývojáři Knot Resolver vysvětlují, jak změnili rozhodování o tom, které DNS záznamy ponechat v cache a které odstranit. Článek obsahuje skutečná měření: devět hodin DNS provozu při 2 000 QPS, srovnání cache o velikosti 25 MB a 40 GB a také porovnání s BIND 9, kromě algoritmů obsahuje konkrétní doporučení pro konfiguraci a diagnostiku.
Největší kryptoměnová burza světa Binance se stala terčem útoku, při kterém podvodníci odcizili během několika minut kryptoměny v hodnotě přibližně 6,3 miliardy dolarů. Jedná se o největší kryptoměnovou krádež v historii, přibližně čtyřikrát větší než loňský útok na burzu Bybit. Binance se podařilo ve spolupráci s partnery zmrazit aspoň aktiva v hodnotě zhruba 3 miliard dolarů a slíbila, že veškeré ztráty pokryje z vlastních prostředků.
Zranitelnost CVE-2026-98432 s CVSS 9.8 odhalila AI od společnosti Anthropic. Jedná se o kritickou chybu v implementaci MPTCP (multipath TCP). Debian vydal patche 16.10. a 22.10., ale např. Ubuntu je zatím bez opravy. Více informací na The Hacker News.
Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?
Řešení dotazu:
Proč zrovna u++? Dodnes jsem o něm neslyšel a když se dívám, co vlastně je, to u++, zjišťuju, že to není programovací jazyk, ale jen framework, beztak v C++ napsaný. Pokud už chceš bezpointerový jazyk, zkus jazyky jako Java, C# nebo skriptovací jazyky jako Python.
A jen tak mimochodem -- existuje spousta postupů a knihoven, kterými lze pointer v C++ zabalit tak, že se vůbec nemusíš starat o dealokaci, stačí jen použít new, když vytváříš objekt smart pointeru a máš vystaráno.
To že pointre tvoria prevažnú časť chýb v kóde je štatistický fakt.
To není fakt, to je nesmysl. Chybu nedělá pointer, chybu dělá programátor.
Já jsem nikdy žádnou statistiku na tohle téma neviděl, ale odhaduju, že to vůbec nebude daleko od pravdy (zvlášť když se započítá ukazatelová aritmetika).
a spousta kódu s nimi počítá. Třeba standardní knihovna. Není tam ale ukazatelová aritmetika, takže to nebude tak hrozné.
To v praxi znamená, že do STL kontejneru je možné efektivně ukládat fundamentální typy, možná ještě tak řetězce a pár dalších jednoduchých typů. Všechno ostatní lze uložit pouze nepřímo pomocí ukazatele. Tím se ztrácí jedna ze základních výhod, kterou používaní kontejnerových šablon přináší - automatická správa paměti.
Náš názor je ten, že tento způsob řešení je zcela hloupý - vnáší zbytečný zmatek do všech rozhraní i implementací (jaký ukazatel má funkce vracet, chytrý, nebo normální?)
Správa paměti je implementační detail, na úrovni rozhraní nemá co dělat.Výňatky zrovna nespomínajú priamo chyby, ale nech si z toho každý zoberie čo chce.
delete je nízkoúrovňová operace, které by se měla používat co nejméně.
new má legitimní použití pouze ve velice speciálních případech, většinou souvisejících s polymorfií.
Chytré sdílené ukazatele jsou to nejhorší, co mohlo C++ potkat.
Pointer je totéž co ukazatel. Kdokoli píšete "pointer je", nahraďte si slovo pointer slovem ukazatel. Ono totiž "ukazatel je ukazatel" není tvrzení příliš nabité informacemi.Hledat nějaké tvrzení v polovině věty nedává moc smysl, bývá užitečné aspoň větu dočíst do konce. Rozcvičku „jak nadefinovat slovo ukazatel bez použití slova ukazatel“ si klidně udělejte, myslím ale, že tvrzení „ukazatel je ukazatel na místo v paměti“ každý rozumí.
Pointer není totéž co reference. Java, C# (kromě unsafe kódu), Python, Ruby apod. mají reference, ale nemají ukazatele. (Jenom co poznámka: významem ukazatele je adresa (přibližně). Významem reference je to, co je na té adrese.)To vaše odlišení je hodně neprůhledné, ale předpokládám, že podstatou je, že reference ukazují (ukazatel ukazuje…) na data, o kterých ale nevím, jakým způsobem jsou uložena, zatímco pointer ukazuje na data, o kterých ale zároveň vím, že jsou uložena v nějakém bloku bajtů, a já můžu pracovat i s touto nižší úrovní pohledu – mám tedy k dispozici pointerovou aritmetiku. Abych se vyhnul takovémuhle vysvětlování, použil jsme jen pojem „pointerová aritmetika“, který je pro tazatele snad srozumitelnější. Zároveň si nemyslím, že pointerová aritmetika je to, co tazatele trápí, protože úplně stejné chyby, jako u pointerové aritmetiky, mohou vznikat při jiných způsobech převádění mezi datovou strukturou a blokem bajtů (třeba práce se soubory nebo síťová komunikace).
Ano, všechny parametry v Javě se předávají hodnotou, ano, reference jsou implementovány použitím ukazatelůTak ciste formalne vzato, reference nemohou byt implementovany pomoci ukazatelu. To ze se tomu tak v Jave rika je druha vec.
ne, reference nejsou ukazatele.Na tom se shodneme, reference vazne ukazatele nejsou :)
Jak z takové javovské reference získáte tu adresu v paměti? (Nápověda: nezískáte, a ona se dokonce v čase mění!)Nijak. V Jave neni ukazatelova aritmetika, ktera by to umoznovala. Ale tento drobny nedostatek z toho porad formalne nedela referenci (coz je v podstate druhe jmeno pro nejakou promenou). Krom toho adresa kam ukazatel ukazuje se menit prave ze muze, zatimco u reference to neplati. Jde mi o tohle: i kdyz se v Jave pouziva pojem reference, jejich semantika odpovida ukazatelum. Nepritomnost ukazatelova aritmetiky na to nema vliv. Na druhou stanu to neznamena, ze by kvuli tomu Java programatori meli misto slova 'reference' zacit pouzivat 'ukazatel', akorat by se navzajem matli. Ovsem pokud mluvime o jazycich obecne a budeme je porovnavat, prijde mi lepsi drzet se nejake spolecne definice, at to porovnani ma smysl.
Pokud se dobře pamatuju, tak třeba Programming Language Pragmatics taky tvrdí, že reference je "lepší ukazatel" (velký uvozovky). Můžete dát link na nějaké jiné zdroje?
In programming language design, a "pointer" is a variable that indirectly tracks the location of some piece of data. The value of a pointer is often the memory address of the data you're interested in. Some languages allow you to manipulate that address; others do not. A "reference" is an alias to another variable. Any manipulation done to the reference variable directly changes the original variable.Prirovnal bych to k rozdilu mezi hardlinkem (reference) a softlinkem (ukazatel). Takova definice odpovida i tomu, co si pamatuju ze skoly z principu programovacich jazyku, i kdyz to tam Libor nema nikde explicitne uvedene ve stylu "ukazatel je tohle".
tak třeba Programming Language Pragmatics taky tvrdí, že reference je "lepší ukazatel" (velký uvozovky).S tim nemam problem. V jistem smyslu je to tak: jak ukazatel tak i reference nekam odkazuji - rozdil je v tom, ze ukazatel na to potrebuje extra promenou - coz v zavislosti na definici veci jako volani funkci v danem jazyku muze vykazovat jine chovani. Viz. treba strana 109 z slidu z principu, kdy je popsano volani odkazem. Btw mala perlicka na zaver: v jazyku Logo jsou referencni a dereferencni operatory pro bezne promene, presto tento jazyk nema ukazatele.
Všechno ostatní lze uložit pouze nepřímo pomocí ukazatele. Tím se ztrácí jedna ze základních výhod, kterou používaní kontejnerových šablon přináší - automatická správa paměti.Tie veci spolu súvisia. Myslím že jazyky čo nemajú (minimálne používajú) pointre, majú aj správu pamäte. Mne osobne ide o nepoužívanie pointrov, pointrovej matiky, práve kvôli zápisu, ktorý znižuje čitateľnosť kódu a samozrejme zvyšuje chybovosť. Správa pamäte je samozrejme ďalšia výhoda. Spravidla jazyky ktoré pointre nepožívajú, to vyzdvihujú ako fjučúru. (Slovo pointer som použil hlavne preto, aby sa niekto nezľakol slovenského ukazovateľa, hoci po česky je to podobné :)
V C. C++ ani Pascalu pointery používat nemusíte.Ta tečka za C je překlep, měla tam být čárka. Pár pixelů, a jak to úplně změní význam…
#!/usr/bin/env perl, bude to mít stejný efekt.
Je tu stále viac blbečkov.S tym sa neda, len suhlasit.
Je tu stále viac blbečkov.Také jsem si všiml.
Ten web máš úžasný zo 4klikovJe to možná mnohem víc než kolik si ty kdy udělal. A se stabilitou těžko něco udělám, nechce se mi platit hosting a všechny free web hostingy stojí za houby.
To v praxi znamená, že do STL kontejneru je možné efektivně ukládat fundamentální typy, možná ještě tak řetězce a pár dalších jednoduchých typů. Všechno ostatní lze uložit pouze nepřímo pomocí ukazatele. Tím se ztrácí jedna ze základních výhod, kterou používaní kontejnerových šablon přináší - automatická správa paměti.Která to se mi zdá zásadním nepochopením koncepce STL kontejnerů jako takových. STL kontejnery prostě ukládají, právě proto, aby fungovala automatická správa paměti, kopie objektů. To zda je to právě to co člověk zrovna chce je věc jiná. A ano máte pravdu, že std::auto_ptr je pro vkládání do kontejnerů zcela naprd, do kontejneru je třeba vkládat přímo kýžený objekt (ve skutečnosti kopii).
Ten blbec, který to vymyslel, naprogramoval taky kernel, díky kterému ti funguje počítač. Jak by asi vypadal kernel bez pointerů???
Asi jsem se špatně vyjádřil. Měl jsem se spíš ptát, jak by fungoval kernel bez pointerů. Na to už je jednodušší odpověď, protože na žádném dnešním hardware se kernel bez pointerů vytvořit nedá.
(Než zase někdo přijde s pohádkou o hardwarovém JVM, je dobré se zamyslet nad faktem, že na nejnižší úrovni se tak nebo tak s pamětí přímo pracovat musí.)
Že by pak pointer nebyl totéž co long? To je jistě realizovatelné, hodně tupě třeba vyhrazením 1/(délka slova) fyzické paměti na bitmapu, která bude říkat, ve kterých slovech jsou pointery. Jen mi není jasné, jak přesně by to zvýšilo efektivitu práce s pamětí. Implementace polí bude tak nebo tak vždy záviset na pointerové aritmetice.
Tiskni
Sdílej: