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í
×
    včera 23:22 | Humor

    Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].

    Ladislav Hagara | Komentářů: 5
    včera 16:33 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.

    Ladislav Hagara | Komentářů: 1
    včera 16:00 | Nová verze

    Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.

    Ladislav Hagara | Komentářů: 3
    5.3. 21:11 | Nová verze

    Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.

    Ladislav Hagara | Komentářů: 7
    5.3. 17:33 | Komunita

    Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.

    Ladislav Hagara | Komentářů: 0
    4.3. 22:55 | Nová verze

    Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 8
    4.3. 18:11 | IT novinky

    Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.

    Ladislav Hagara | Komentářů: 57
    4.3. 12:22 | Komunita

    Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).

    Ladislav Hagara | Komentářů: 106
    4.3. 11:44 | Pozvánky

    Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.

    Petr Krčmář | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (11%)
     (28%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1029 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    26.11.2011 18:59 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    A použiješ je i na stejný účel jako v xkcd? :-D

    BTW hardlinkovat adresáře šlo krásně ve FAT. Tam se to někdy i povedlo nechtěně :-D.

    Goto v jádře je celkem normálka, v každým modulu jich je několik. Ono když se v sekvenci kontroluje třeba 10 věcí (neNULLový ukazatel na strukturu, návratová hodnota několika registračních funkcí...), tak v případě něčeho jako if, by odsazení v místě po všech kontrolách bylo extrémně vpravo :-D. Nebo by se musely použít funkce, co by to obalily a to by tam bylo zase 10 zbytečných funkcí.

    P.S. Grep v MC na .[cSh] a "goto" mě našel zatím 80000 hitů a stále roste :-D.
    26.11.2011 19:18 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Tak jasně, já to goto chápu :)
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    26.11.2011 19:29 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Njn to jsem celý já, vidím požadavek na informaci a hnedka vyhodím data :-D.
    26.11.2011 19:35 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Mimochodem, ke goto je tu tak jeden hezký strip.
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    David Watzke avatar 26.11.2011 20:15 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    True story. Od tý doby koktám :-D
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Bluebear avatar 26.11.2011 20:43 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Ale vývojáři kernelu mají od svatého Tuxe zvláštní povolení :-)

    V kernelu se goto používá jako escape continuation, v podstatě ekvivalent vyhození výjimky. To je ve skutečnosti (IMO) nejlepší způsob, jak výjimečné situace řešit; při množství věcí, které se mohou zku*vit, by skutečně muselo být skoro každé volání funkce obklopené několika úrovněmi if-ů a nevyznalo by se v tom ani to prase.
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    26.11.2011 21:18 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Od toho je ale přece v C longjmp. Nebo snad v klibc longjmp nemají?
    Bluebear avatar 26.11.2011 21:56 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    IMO v rámci jedné funkce je rozumnější použít goto než longjmp; u goto je na první pohled vidět, kam směřuje, je jednodušší udělat uvolnění naalokovaných prostředků, a stack je skoro vždy ve stejném stavu jako předtím, tudíž longjmp je overkill.
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    26.11.2011 23:32 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Jo tak v rámci jedné fce samozřejmě goto, to jo...
    27.11.2011 11:20 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    V C lze goto použít pouze v rámci funkce.
    26.11.2011 23:24 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    při množství věcí, které se mohou zku*vit, by skutečně muselo být skoro každé volání funkce obklopené několika úrovněmi if-ů a nevyznalo by se v tom ani to prase.

    Zvlášť při dodržení coding style, který předepisuje odsazování osmiznakovým tabulátorem a limit 80 znaků na řádek. Skalním odpůrcům goto doporučuji si nějakou funkci cvičně zkusit přepsat. Pokud by ani to nepomohlo, tak počkat půl roku a zkusit se v ní zorientovat.

    David Watzke avatar 27.11.2011 18:16 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Hehe. Na druhou stranu orientovat se v tuně goto taky není úplně jednoduchý.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    27.11.2011 18:38 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Záleží na způsobu použití. Pokud se používají jen k tomu, k čemu je v jádře obvyklé, tak si myslím, že kód zpřehledňují.
    26.11.2011 20:20 Kvakor
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Paamtuju, jak jsem přepsáním počátečního cluseru v adrsdářové struktuře FAT udělal disketu, na které bylo podle souborového manageru několik desitek megabytů (limit byl danný maximální délkou cesty v OS). Spolužákovy se to dokonce jednou povedlo udělat nějak omylem a když se to pokusil opravit Scandiskem, o všechna data v postiženém adresáři přišel.

    Jinjak ty goto v jádře typicky vypadají takto:
    pokus o alokaci prostředku 1;
    pokud selže goto 1;
    
    pokus o alokaci prostředku 2;
    pokud selže goto 2;
    
    pokus o alokaci prostředku 3;
    pokud selže goto 3;
    
    samotná akce;
    
    návěstí 3:
    uvolnění prostředku 3;
    
    návěstí 2:
    uvolnění prostředku 2;
    
    návěstí 1:
    uvolnění prostředku 1;
    
    Luk avatar 26.11.2011 21:49 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Jinjak ty goto v jádře typicky vypadají takto
    Přesněji takto:
    pokus o alokaci prostředku 1;
    pokud selže goto konec;
    
    pokus o alokaci prostředku 2;
    pokud selže goto uvolni1;
    
    pokus o alokaci prostředku 3;
    pokud selže goto uvolni2;
    
    ...
    
    
    uvolni2:
    uvolnění prostředku 2;
    
    uvolni1:
    uvolnění prostředku 1;
    
    konec:
    return;
    
    Je to mnohem čistší a hlavně přehlednější řešení, než kdyby se to dělalo bez goto pomocí vnořených ifů nebo pomocí opakování téhož kódu u každého selhání.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    26.11.2011 21:54 Sten
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Zlatý jakýkoliv jazyk, který umí výjimky :-D
    Bluebear avatar 26.11.2011 22:01 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    V zásadě bych i souhlasil, jenže kernel je dost specifická oblast.

    Výjimky zjednodušují kód jen v případě, že je k dispozici automatické uvolňování prostředků (což si v kernelu neumím moc představit); v opačném případě to stejně musíš někde vyřešit ručně. Přitom je to právě to uvolňování prostředků, co ten kód komplikuje. Kdyby nebylo potřeba nic extra uvolňovat, výjimečné případy by se vyřešily jedním returnem a po ftákách.

    Navíc výjimky komplikují práci se stackem, resp. více věcí se děje na stacku mimo dohled programátora, což v kernelu asi taky není to nejlepší.
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    27.11.2011 14:17 Sten
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Operačních systémů napsaných v C++ znám docela dost a výjimky podporují, protože automatické uvolňování prostředků při RAII je velmi jednoduché, při té nejprimitivnější implementaci stačí na stack přidat ukazatele na destruktory, lepší implementace mívají stacky dva. Dokonce to ani nepotřebuje plné RTTI, stačí upcast pro třídy výjimek (a v jádře by asi nebylo potřeba ani to, když stačí errno). V podstatě kompilátor jenom vytvoří něco podobného těm goto automaticky, díky čemuž není problém ani s orientací na stacku. Výjimky dokonce nejsou ani pomalejší, díky tomu, že víc věcí dělá kompilátor, tím lépe to zvládne optimalizovat. Když se podívám na implementaci výjimek v LLVM libstdc++ nebo GNU libstdc++, tak jediné, co je skutečně potřeba, je jazyk, který výjimky podporuje. Na druhou stranu chápu, proč v roce 1991 zvolil Linus C, tehdejší implementace výjimek byly strašné.
    Grunt avatar 27.11.2011 10:49 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Abych pravdu řekl, já
    if (find ("goto", kod))
      body -= 2;
    nikdy nepochopil a vždy jsem to bojkotoval. Já bohužel pamatuju ještě doby BASICu a pamatuju, že ani s GOTO a GOSUB to nebylo tak strašné když to nepsalo prase, které se v tom samo nezamotalo. Tendenci vnucovat programátorovi jak má psát a snažit se ho vyučovat jsem též nikdy nepochopil. Aneb nač dělat věci jednoduše, když si to můžeme zasvinit konstruktorama, destrukotama, excepšnama a bůh ví čím ještě. Vždyť GOTO se velice snadno dá přeložit na jmp instrukci, jednu z nejpřirozenějších instrukcí procesoru.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    27.11.2011 12:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Hardlink na adresáře

    No, ono když vidíte v kódu něco na způsob

      if (problém)
        goto label2;
    
      ...
    
    label1:
      úklid
      return 0;
    
    label2:
      něco
      goto label1;
    }
    

    tak na vás přímo dýchne tak doba BASICu na osmibitech…

    27.11.2011 14:09 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    To jako, že je v jádře goto label1 navíc (kdyby byl label2 před label1, tak se plynule přejde)? Možná to je kvůli ladění.
    27.11.2011 16:13 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Hardlink na adresáře

    Tohle není kód vanilla jádra, tenhle obrat jsem viděl v jednom modulu, který ve vanilla jádře není. Prohodit pořadí nejde, protože to, co je za label2, se nemá vykonat, pokud k němu dojdete přirozenou cestou nebo na něj skočíte odjinud. Správně by to mohlo být třeba takto:

      if (problém) {
        něco
        goto label1;
      }
    
      ...
    
    label1:
      úklid
      return 0;
    }
    

    Ale i v upstreamových projektech se občas najdou strašidelné věci. Máte-li dobrý žaludek, můžete zkusit prozkoumat třeba funkci send_dg() v implementaci resolveru v glibc.

    26.11.2011 20:00 Tomáš
    Rozbalit Rozbalit vše Mac to myslím používá
    Myslím, že Mac to používá kvůli zálohování pomocí Time Machine. Je s tím spousta omezení a normálnímu smrtelníkovi ta funkce není přístupná. Přeci jenom není lepší věc, než zacyklení mezi adresáři.
    26.11.2011 23:31 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    IMHO existuje spousta jednodušších způsobů, jak si rozbít filesystém…
    27.11.2011 01:53 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Ale on se nerozbil!
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    27.11.2011 03:01 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Ano, nerozbil se, rozbil jste si ho vědomě sám. :-) (Pokud to snad nebylo jasné z minulého příspěvku, tak zacyklené adresáře považuji za rozbitý filesystém.)
    27.11.2011 13:03 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Tak nikdo vás nenutí tam ty cykly vytvářet :)
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    27.11.2011 12:04 marbu | skóre: 31 | blog: hromada | Brno
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    A mezitím budu přemýšlet, k čemu je to vlastně dobré... :)
    Jako hracka vazne dobre :) Ale realne pokud potrebujes hardlink na adresar, resilo by se to pomoci bind mount:
    mount --bind /kdesi/cosi /nekde/jinde/cosi
    .
    There is no point in being so cool in a cold world.
    pavlix avatar 27.11.2011 15:15 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    A to právě nemá s hardlinkem nic moc společného (přesněji řečeno asi tolik co se symlinkem). Navíc vzhledem k odkazu na XKCD je celkem jasné, o co tu jde :).

    Mount --bind používejte opatrně, symlinky jsou ve většině případů stejně použitelné a mnohem bezpečnější (rm -rf končí symlinkem).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    29.11.2011 18:51 Sten
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    mount --bind neprochází přes mountpointy, takže nikdy nemuže vytvořit nekonečnou smyčku.
    pavlix avatar 29.11.2011 20:50 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Zajímavé. Prakticky ověřeno.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    30.11.2011 00:20 Tyf
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Existuje i mount --rbind. Ale zacykleni jsem nezkousel.
    30.11.2011 15:27 Sten
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    rbind to sice nabinduje rekurzivně, ale před tím bindem, takže cyklus to pořád nevytvoří:
    /
      [/bind je prázdné]
      /home
      /var
    
    rbind / do /bind:
    /
      /bind
        [/bind/bind je prázdné]
        /bind/home
        /bind/var
      /home
      /var
    
    27.11.2011 22:39 nyan
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Ja nikdy nepochopil *proc* nejde udelat hardlink adresaru. Vsude rikaji ze nejde... a nikde sem nevidel opravdove vysvetleni.
    27.11.2011 22:53 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Např. by pak byl problém s položkou "..", která má odkazovat na rodiče. Jenže tady by těch rodičů bylo víc, takže byste si musel některého vybrat, což zase bude dělat problémy, když zrovna tu adresářovou položku, jejíž to byl rodič, smažete.
    28.11.2011 00:11 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Např. by pak byl problém s položkou "..", která má odkazovat na rodiče. Jenže tady by těch rodičů bylo víc, takže byste si musel některého vybrat
    IMHO, vzhledem k tomu, že nic jako ".." ve FS ani není je to irelevantní - systém to vygeneruje na základě cesty, takže tenhle problém odpadá.
    což zase bude dělat problémy, když zrovna tu adresářovou položku, jejíž to byl rodič, smažete.
    No, zatím jsem nepřišel na to, jak odstranit hardlink na adresář bez smazání obsahu :)
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    28.11.2011 06:06 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    IMHO, vzhledem k tomu, že nic jako ".." ve FS ani není je to irelevantní - systém to vygeneruje na základě cesty, takže tenhle problém odpadá.

    Co prosím? Neusuzujte, prosím, jen na základě toho, jak se (defaultně) chová příkaz cd v bashi.

    zatím jsem nepřišel na to, jak odstranit hardlink na adresář bez smazání obsahu

    To není až tak překvapivé, vzhledem k tomu, že se s jejich existencí nepočítá. Musel byste si opatchovat syscall rmdir() nebo unlinkat() a když se zamyslíte jak, zjistíte, že není úplně triviální udělat to tak, aby to fungovalo.

    30.11.2011 10:38 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Ono to nejde asi hlavne proto, aby se zachovaly dobre strukturalni vlastnosti filesystemu. Proste je mnohem vyhodnejsi predpokladat, ze adresare tvori strom a diky tomu zjednodusit spoustu algoritmu, nez povolit hardlink adresaru a vsechno implementovat s predpokladem, ze adresare tvori obecny graf.
    30.11.2011 16:53 perdy | skóre: 5 | blog: stdout
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Kaslat na GOTO, skutocny muz pouzije COMEFROM.Samozrejme spolu s dalsimi ficurami INTERCALu, coz je skvela parodia na programovaci jazyk.
    ln -s vim emacs
    4.2.2012 01:42 linux_enthusiast
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Hmmmm, pekná debata sa tu okolo toho rozbehla. :-) Nieže by sa mi nechcelo hrať sa s jadrom, ale nechcem riskovať pád systému. Som rád, že mám Linux stabilný (veď za to ho už 3 roky používam) a nechcem riskovať nejakým blbým preklepom jeho pád.
    4.2.2012 01:50 linux_enthusiast
    Rozbalit Rozbalit vše Re: Hardlink na adresáře
    Tak ma teraz napadlo. keď chcem, aby sa mi spustil môj shell script pri otvorení konkrétneho adresára, kde to mám zapísať? :-)

    Založit nové vláknoNahoru

    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.