abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 04:00 | Nová verze

    FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.

    ʚĭɞ 🍉 | Komentářů: 0
    dnes 03:55 | Humor

    Další vlna kyberútoků zasáhla chladicí zařízení supermarketů v sedmi evropských zemích, Belgii, Lucembursku, Švédsku, Nizozemsku, Irsku, Estonsku a Finsku. Mrazáky se v některých prodejnách opět 'proměnily v trouby' a zahřály až na 50°C, což pochopitelně vedlo ke znehodnocení uskladněných potravin. Útoky navazují na podobný incident ve Francii z první poloviny října letošního roku, pachatel stále není znám.

    👻 | Komentářů: 7
    včera 17:52 | Zajímavý projekt
    WorldTUI je experimentální LLM o 360 milionech parametrů, který napodobuje terminál. Podle stisknutých kláves se snaží předpovídat změny na obrazovce a zvládá tak vyonávat rozličné příkazy, například Vim, tmux i jednoduchou hru Snake. Nejedná se o skutečný příkazový řádek, jeho 'soubory' i příkazy jsou pouze simulované a model může samozřejmě různě chybovat. WorldTUI vychází z jazykového modelu Qwen2.5-Coder-0.5B, který autor … více »
    👻 | Komentářů: 2
    včera 17:48 | Zajímavý článek
    Josef Bacik navrhuje novou abstrakci cell, která by celý kontejner reprezentovala jako jeden kernelový objekt. Proces by vznikl přímo uvnitř cell a nemohl by ji opustit. Oprávnění ke správě by se odvozovala od držení cellfd. … více »
    vencour | Komentářů: 9
    včera 16:23 | Bezpečnostní upozornění

    Zranitelnost v aktualizačním mechanismu WordPress umožňuje útočníkovi zasáhnout do dočasného instalačního adresáře během aktualizace jádra systému. Před aktualizací veřejně dostupného WordPressu dočasně zablokovat HTTP přístup k wp-content/upgrade/, následně aktualizovat a zkontrolovat logy. Postižené verze: WordPress 4.7 až 7.1.3.

    vencour | Komentářů: 0
    včera 16:11 | Bezpečnostní upozornění

    Alpine Linux zveřejnil podrobnosti o útoku na svůj GitLab a 30. října oznámil obnovení provozu. Útočník se 20.–21. října pokusil zneužít chybu v regulárních výrazech. Exploit způsobil opakované pády workerů a několikrát se dostal do pokročilé fáze. Úspěšné spuštění kódu však nebylo potvrzeno. Fix: Opravený GitLab a současně Ruby 3.3.13, 3.4.12 nebo 4.0.9+, pokud jde o vlastní sestavení či kontejner.

    vencour | Komentářů: 0
    včera 15:44 | Pozvánky

    Konference OpenAlt 2026 proběhne tento víkend 7. a 8. listopadu na FIT VUT v Brně. Jedná se již o 21. ročník této konference, která propojuje otevřené technologie, svobodný software, hardware a lidi, kteří chtějí věci nejen používat, ale také jim rozumět a měnit je k lepšímu. Více o konferenci v příspěvku OpenAlt 2026: technologie, které dávají svobodu na blogu spolku OpenAlt.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | IT novinky

    Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 16 GB varianty Raspberry Pi o 80 dolarů a 16 GB varianty Raspberry Pi Compute Module 5 o 40 dolarů. Cena Raspberry Pi 500+ se nemění.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | IT novinky

    Francouzské Národní shromáždění přijalo 30. října 2026 poměrem 11 hlasů pro, 10 proti a 14 abstencí pozměňovací návrh I-1358 ke státnímu rozpočtu na rok 2027, který zavádí daň z objemu dat doručovaných uživatelům internetu. Návrh socialistického poslance Laurenta Lhardita stanovuje sazbu 0,055 eura za gigabajt, tedy 55 eur za terabajt. Zatím nejde o platný zákon, ale o dílčí hlasování během prvního čtení rozpočtu. Daň by měli platit

    … více »
    vencour | Komentářů: 10
    1.11. 12:44 | IT novinky

    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 »
    Ladislav Hagara | Komentářů: 41
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2968 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Kopie lokální datové struktury (pole, hash) do globální v Perlu

    2.4.2007 17:11 Xerces
    Kopie lokální datové struktury (pole, hash) do globální v Perlu
    Přečteno: 461×
    Ahoj, píšu teď něco v Perlu (ha ha ha :-) a celkem mi to jde, ale hodila by se mi rada zkušenějších ohledně jedné záležitosti.

    Ve funkci nahraj_kofiguraci načítám ze souboru nějaká data a parsuju si to do lokální struktury, která není jednoduché pole ale je to hash obsahující jako hodnotu klíče vždy pole, tedy dalo by se říci hash polí, respektive buďme přesní hash referencí na pole. Po naplnění této lokální brurus proměnné :-) bych ji chtěl na konci funkce nějak překlopit do globální proměnné, ale teď jak na to? Musím tu globální pomocí foreach nejdřív vyčistit a pak prvek po prvku opět naplnit? Jak je to s platností lokálních proměnných v tomto případě? Připomínám, že ty reference na pole v hashi jsou anonymní. Neexistuje na to nějaký prima trik?

    Děkuji.

    Jak už jsem uvedl jde o parsování a aktualizaci nějaké konfigurace, konkrétně běží program který je řízen touto konfiguraci a chci mít možnost mu za běhu podstrčit novou konfiguraci, ovšem nejprve ji chci načíst pro kontrolu do lokální proměnné a teprve v případě že je vše ok najednou přeplácnout do globálu. Toliko pro vysvětlení.

    Odpovědi

    2.4.2007 17:50 Xerces
    Rozbalit Rozbalit vše Re: Kopie lokální datové struktury (pole, hash) do globální v Perlu
    Tak jsem si uvědomil jak ten dotaz ještě zjednodušit :-)

    Existuje v perlu nějaké elegantní řešení pro tzv. deep copy složitých datových struktur (třeba když potřebuji kopii lokální proměnné do globální)? nebo se to musí poctivě nakódovat na základě znalosti té struktury?
    2.4.2007 22:30 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Kopie lokální datové struktury (pole, hash) do globální v Perlu
    A co takhle nepřeklápět celou tu strukturu, ale jen referenci na ni? Příliš jednoduché než aby to fungovalo? :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    2.4.2007 23:10 Xerces
    Rozbalit Rozbalit vše Re: Kopie lokální datové struktury (pole, hash) do globální v Perlu
    Dík za reakci to mě nejprve taky napadlo, ale .... Sice získám kopii reference, jenže jestli se nepletu, bude se odkazovat na stejný místo v paměti, tedy do lokálních struktur tzn. při opětovném vyvolání té funkce, když budu ukládat nový konfigurák do těch lokálních proměnných, tak si budu zároveň přepisovat ty globální, ne? Přiznám se, že už z toho mám zamotanou hlavu. Ufff radši to ještě jednou schematicky popíšu.
    #deklarace prazdne hash
    our %konfigurace;
    
    sub load_konfig() {
      # deklaruje lokalni promenne;
      my %konfigurace;
      # nacte ze souboru data a ulozi postupne do %konfigurace,
      # jenz ma strukturu { klic1=>[1,2,3,4],klic2=>[1,2],...}
      # jestlize doslo ke korektnimu naplneni lokalnich promennych,
      # zkopiruj my %konfigurace do our %konfigurace,
      # jinak skonci ale zachovej puvodni globalni konfiguraci.
    }
    
    # hlavni program
    load_konfig();
    # chvili neco dela na zaklade %konfigurace
    load_konfig();
    # chvili neco dela na zaklade nove %konfigurace
    load_konfig();
    # chvili neco dela na zaklade dalsi nove %konfigurace
    
    Chci programu menit konfiguraci za behu a chci mit moznost kontroly syntaxe te nove konfigurace aniz bych narusil aktualni beh aplikace.
    3.4.2007 08:02 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Kopie lokální datové struktury (pole, hash) do globální v Perlu
    Sice získám kopii reference, jenže jestli se nepletu, bude se odkazovat na stejný místo v paměti, tedy do lokálních struktur tzn. při opětovném vyvolání té funkce, když budu ukládat nový konfigurák do těch lokálních proměnných, tak si budu zároveň přepisovat ty globální, ne?
    Tak takhle snad nefungují lokální proměnné ani v Perlu, ne? Resp. je rozdíl mezi my a local, ale už si nepamatuju jaký, tak daleko jsem se v Perlu naštěstí nedostal :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    3.4.2007 13:14 mlz | skóre: 12 | blog: Obcas
    Rozbalit Rozbalit vše Re: Kopie lokální datové struktury (pole, hash) do globální v Perlu
    Asi jsem to nepochopil, ale
    our $konfigurace={} # reference na hash
    
    $konfigurace=load_konfig();
    
    #v load_konfig()
    
    my $ret=$main::konfig # puvodni hodnota
    
    /VSE v poradku s daty/ && $ret=konfig # lokalni v procedure
    
    return $ret;
    }
    
    
    IMO our %config a my %konfig je zbytecnost samoucelna, nesetrici pamet a znesnadnujici citelnost

    Povesit load_konfig na signal (HUP, USR1) by byl problem ?
    3.4.2007 14:26 Xerces
    Rozbalit Rozbalit vše Re: Kopie lokální datové struktury (pole, hash) do globální v Perlu
    > Povesit load_konfig na signal (HUP, USR1) by byl problem ?

    Ano to mam v umyslu, ale to primo nesouvisi s problemem tak jsem to nechtel vubec psat abych tim nematl ctenare.

    > /VSE v poradku s daty/ && $ret=konfig # lokalni v procedure

    Mozna v tom opravdu vidim problem jen ja, ale podle me je problem prave tady. Uvedomte si ze ta data ze souboru parsuju do hashe polí postupně a teprve když načtu vše mohu říci že vše je ok a provézt kopii struktury. Prostě jsou možné jen dva stavy, budˇjsou všechna načtená data ok, pak je překlopím do main struktury (protože někde si je mezitím ukládat musím), nebo tam došlo k chybě a pak chci, aby se to main struktury ani nedotklo. Jak to vidím já budu muset v závěru funkce po ověření správnosti načtené konfigurace provézt něco jako (psano velice schematicky):
    foreach ($key,$value) = $main::konfigurace { # maze globalni strukturu
      splice(@$value); # vymaze pole pod klicem v hashi
      delete($main::konfigurace{$key}); # vymaze prvek globalniho hashe;
    }
    
    foreach ($key,$value) = $konfigurace { # vytvari novou globalni strukturu z lokalni
      $main::konfigurace{$key} = [ @$value ] ; # vytvoř kopii pole a její anonymní referenci ulož jako hodnotu klíče globálního hashe
    }
    
    Tak za výše uvedené bych asi zasloužil oprátku, ale principiálně by to snad mělo být čisté.

    No ale taky je možné, že jsem jenom nepochopil jak je to s platností lokálních proměnných a lokálních referencí po opuštění bloku a princip chování garbage kolektoru v souvislosti s lokálnímy a globálnímy odkazy na anonymní pole vytvořené v rámci lokálního kontextu.
    3.4.2007 16:50 Xerces
    Rozbalit Rozbalit vše Re: Kopie lokální datové struktury (pole, hash) do globální v Perlu
    Tak jsem ještě něco početl a zdá se že jsem opravdu viděl problém někde kde není. Perl prostě dealokuje automaticky a zároveň pokud držím odkaz na strukturu byť bych si ho předával z lokálního kontextu do globálního tak ta data také udrží a stačí opravdu předávat reference. V okamžiku kdy potřebuju zkopírovat nová data stačí překopírovat referenci a odkazuji se na nová data byť by byla generována někde ve funkcy lokálně přičemž garbage collector zajistí dealokaci původní struktury na kterou již neexistuje reference. Aspoň to podle testů, které jsem provedl pomocí Data::Dumper vypadá. Díky za postřehy a Perlu zdar.

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.