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 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 1
    dnes 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 2
    dnes 10:22 | Zajímavý software

    Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 1
    dnes 00:11 | Nová verze

    Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 16:11 | Humor

    Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.

    NUKE GAZA! 🎆 | Komentářů: 11
    včera 14:33 | Nová verze

    Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.

    Ladislav Hagara | Komentářů: 6
    včera 14:22 | Zajímavý projekt

    Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    včera 13:55 | Zajímavý software

    PCIem je linuxový framework, který vytváří virtuální zařízení PCIe pomocí technik, které umožňují hostitelskému operačnímu systému rozpoznat tyto syntetické 'neexistující' karty jako fyzické zařízení přítomné na sběrnici. Framework PCIem je primárně zamýšlen jako pomůcka pro vývoj a testování ovladačů bez nutnosti použít skutečný hardware. Dle tvrzení projektu si fungování PCIem můžeme představit jako MITM (Man-in-the-Middle), který se nachází mezi ovladači a kernelem.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 05:33 | Bezpečnostní upozornění

    Byla nalezena vážná bezpečnostní chyba v telnetd z balíčku GNU InetUtils. Týká se verzí GNU InetUtils od 1.9.3 z 12. května 2015 až po aktuální 2.7 z 14. prosince 2025. Útočník může obejít autentizaci a získat root přístup, jelikož telnetd nekontroluje předaný obsah proměnné prostředí USER a pokud obsahuje "-f root"…

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (5%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (36%)
    Celkem 567 hlasů
     Komentářů: 16, poslední 20.1. 17:04
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Ako rýchlo čítať adresár?

    8.9.2010 22:07 rastos | skóre: 63 | blog: rastos
    Ako rýchlo čítať adresár?
    Přečteno: 263×
    Potrebujem zistiť zoznam všetkých súborov v danom adresári, ich timestamp a veľkosť. Existuje rýchlejšia cesta ako opendir(), readdir(), stat(), closedir() ?

    Odpovědi

    8.9.2010 23:53 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Ako rýchlo čítať adresár?
    Tu sa popisuje inteligentnejsi readdir().
    Některé souborové systémy dokáží vrátit typ souboru se jménem ve volání readdir(), takže v mnoha situacích není nutné volat stat()
    Ale ci sa z toho da ziskat aj velkost a pod. to netusim.
    If you hold a Unix shell up to your ear, you can you hear the C.
    Heron avatar 9.9.2010 10:56 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Ako rýchlo čítať adresár?
    V podstatě neexistuje. Položka v adresářové struktuře jen ukazuje na inode a všechna metadata jsou až tam. Takže FS stejně musí sáhnout jak do adresářového stromu, tak do inode.

    Pomohl by index, který by sis ale musel udržovat sám. Pokud jsou ty soubory pouze pro čtení, tak by jeho udržování nebylo náročné.

    Případně, pokud je těch souborů opravdu hodně, tak zvážit jejich umístění do DB jako BYTEA, případně LONGBLOB. Metadata by byla přímo v tabulce, tedy rychle dostupná (a ještě k tomu snadno prohledávatelná, na rozdíl od FS) a data má DB interně uložena jinde (TOAST) a v tabulce je pouze pointer (pro uživatele je to transparentní a ten vidí data jakoby byla přímo v tabulce). IMHO je to nejlepší řešení pro mnoho souborů (nad několik set tisíc). Důrazně nedoporučuji soubory na disku a v DB jen cestu, to se rozsype po prvním ROLLBACK, případně ještě dřív.

    Co by mělo pomoci okamžitě je přidání paměti. Každý pořádný FS si drží adresářovou strukturu a metadata v paměti. Takže po prvním přečtení z disku už se na něj prakticky pro tyto údaje nesáhne (pokud tedy je připojen s volbou noatime).
    9.9.2010 12:37 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Ako rýchlo čítať adresár?
    Takže FS stejně musí sáhnout jak do adresářového stromu, tak do inode.
    To je jasné. Skôr mi ide o to, či nie je možné napr. prečítať pole direntry štruktúr jedným volaním, alebo z čítania adresára dostávať handle a na tie potom volať fstat() miesto stat() čo by snáď mohlo byť o chlp rýchlejšie.

    Celé ma to zaujíma kvôli tomu, že zisťovanie napr. time stampu a veľkosti súboru z Javy, sú viaceré volania na stat(). Chcem si napísať niečo efektívnejšie cez JNI.
    Případně, pokud je těch souborů opravdu hodně, tak zvážit jejich umístění do DB
    Ide o implementáciu backendu, ktorý má stanovený interface a za ním môžem mať napr. SQL databázu, ale v istých situáciách (počas vývoja, testovania, troubleshootingu, ...) je vhodné mať aj súborovú implementáciu. Zvláštne je, že napr. windowsové FindFirstFile() vracia WIN32_FIND_DATA kde už okrem nájdeného mena súboru je aj čas, veľkosť, atribúty ...

    Vďaka za odozvu.

    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.