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:22 | Humor

    Na novoroční inauguraci starosty New Yorku Zohrana Mamdaniho bylo zakázáno si s sebou přinést Raspberry Pi anebo Flipper Zero. Raspberry Pi i Flipper Zero jsou explicitně uvedeny v seznamu zakázaných věcí jak na na veřejné pozvánce, tak i na oficiálních stránkách města.

    NUKE GAZA! 🎆 | Komentářů: 14
    dnes 11:33 | Nová verze

    OpenTTD (Wikipedie), tj. open source klon počítačové hry Transport Tycoon Deluxe, byl vydán v nové stabilní verzi 15.0. Přehled novinek v seznamu změn a také na YouTube. OpenTTD lze instalovat také ze Steamu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:11 | Nová verze

    Správce oken IceWM byl vydán ve verzi 4.0.0, která např. vylepšuje navigaci v přepínání velkého množství otevřených oken.

    |🇵🇸 | Komentářů: 1
    dnes 01:33 | Zajímavý projekt

    Od 1. ledna 2026 jsou všechny publikace ACM (Association for Computing Machinery) a související materiály přístupné v její digitální knihovně. V rámci této změny je nyní digitální knihovna ACM nabízena ve dvou verzích: v základní verzi zdarma, která poskytuje otevřený přístup ke všem publikovaným výzkumům ACM, a v prémiové zpoplatněné verzi, která nabízí další služby a nástroje 'určené pro hlubší analýzu, objevování a organizační využití'.

    NUKE GAZA! 🎆 | Komentářů: 4
    včera 16:44 | IT novinky

    S koncem roku 2025 skončila standardní podpora operačního systému HP-UX (Hewlett Packard Unix).

    Ladislav Hagara | Komentářů: 10
    včera 14:33 | Nová verze

    K 1. lednu 2026 končí 70leté omezení majetkových autorských práv děl autorů zesnulých v roce 1955, viz 2026 in public domain. V americkém prostředí vstupují do public domain díla z roku 1930, viz Public Domain Day.

    |🇵🇸 | Komentářů: 1
    31.12. 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 12
    31.12. 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    31.12. 12:11 | Zajímavý článek

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

    Ladislav Hagara | Komentářů: 6
    31.12. 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (0%)
     (2%)
     (0%)
     (17%)
     (34%)
     (17%)
     (5%)
     (7%)
     (10%)
     (24%)
    Celkem 41 hlasů
     Komentářů: 1, poslední dnes 06:15
    Rozcestník

    Relational pipes v0.14

    Byla vydána nová vývojová verze datového formátu a souvisejících nástrojů Relational pipes. Novinkou verze v0.14 jsou skripty pro Bash completion (napovídání parametrů v shellu), vylepšení SQL a AWK modulů a změna verze licence z GNU GPLv3+ na GNU GPLv3. Na stránce s příklady nově nalezneme několik ukázek týkajících se SQL a XMLTable – mj. jak načíst seznam nadpisů nebo obrázků z XHTML stránky nebo jak na svém disku najít největší spustitelné soubory nebo nejčastěji používané dynamické knihovny.

    30.10.2019 19:11 | xkucf03 | Nová verze


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

    Komentáře

    Vložit další komentář

    30.10.2019 20:26 Marek the Brave
    Rozbalit Rozbalit vše Re: Relational pipes v0.14
    Kolik lidí to používá?
    xkucf03 avatar 30.10.2019 20:55 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Relational pipes v0.14

    Vzhledem k tomu, že je to nestabilní1 vývojová verze, tak kromě mě asi moc lidí ne :-)

    [1] nestabilní z pohledu API – a cílem těchto verzí je právě to API (parametry příkazové řádky, formát, C++ rozhraní) odladit – budu rád, když se na to podívá někdo další (víc očí, víc vidí)

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    31.10.2019 10:23 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Relational pipes v0.14
    Stále mi není jasný, na co to vlastně je. Když koukám na příklady, u těch jednoduších si říkám, že by na to stačil shell, u těch složitějších, že bych vzal python. Např. ten příklad s nejpoužívanější knihovnou mi nepřijde, že by byl v shellu složitější:

    find /usr/bin -type f -exec ldd {} \; | sed -e 's/ =>.*//' -e 's/(.*//' | sort | uniq -c | sort -nr | head -n 20

    Neměřil jsem to, ale hádám, že ani nebude pomalejší, protože bottleneck je stejně volání ldd ...

    Jinak abych nebyl jen negativní, je cool, že se ti podařilo dát projekt dohromady a v jazyce, který je pro tebe nový...
    xkucf03 avatar 31.10.2019 12:30 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Relational pipes v0.14
    Když koukám na příklady, u těch jednodušších si říkám, že by na to stačil shell, u těch složitějších, že bych vzal python.

    Je to právě někde mezi tím. Jde o mírné vylepšení unixového shellu tak, aby se odstranily jeho problémy, ale zachovalo se to dobré a pořád jsi mohl zůstat v shellu. Tzn. můžeš tu rouru poskládat ad-hoc na příkazové řádce (teď s tím Bash completion se to konečně dá používat :-), zpracovat nějaká data a zahodit ji (resp. zůstane ti v historii shellu, takže se k ní můžeš vrátit) tzn. něco jako Perl onelinery. A když zjistíš, že se ti to líbí a chtěl bys to používat opakovaně, tak to prostě jen uložíš do .sh souboru a používáš. Zatímco kdybys to musel od samého začátku programovat (tzn. založit si nový soubor, pak ho zase mazat nebo dávat do nějaké správné složky, přepínat okna, spouštět interpret/kompilátor atd.), tak by ses na to asi vykašlal. Mně se celkem často stává, že mám otevřený terminál, jsem v nějaké složce, chci tam něco řešit… ale nestojí mi to za to, abych kvůli tomu začal programovat (vím, že to zní trochu divně, když se programováním živím, ale snad chápeš, co tím chci říct).

    Spousta lidí umí SQL (Scheme, AWK, XPath, Python atd.) a je to pro ně přirozený jazyk, ale nikdy by je nenapadlo řešit pomocí něj jednoduché úlohy, protože by si kvůli tomu museli zakládat schéma a tabulky na nějakém serveru, pak to uklízet, řešit hesla… takže to radši nějak zmastí pomocí příkazů typu grep, cut, sed, sort… přitom by to šlo řešit elegantně třeba pomocí GROUP BY nebo window či jiných funkcí atd. Jeden z principů těch Relačních rour je nevytvářet nic moc nového, ale jen zpřístupnit a propojit stávající technologie (programovací/dotazovací jazyky, shelly, formáty…).

    Pak jde o násobení možností, které nastává díky tomu jednotnému datovému modelu (relace, místo stromových struktur či grafů obvyklých v objektových programovacích jazycích). Když se podíváš na Big picture na titulní stránce, tak je tam 8 vstupních formátů, 8 výstupních, takže to dává 8×8 možností × počet transformací a s každým dalším modulem se to násobí. To mi na tom přijde zajímavé – že dopíšeš malý jednoduchý modul a najednou jde použít v mnoha různých kontextech, mnoha způsoby.

    Klasické unixové roury jsou přesně to samé a hrozně se mi kvůli tomu líbí, ale vždycky mne na nich rozčilovalo to, že jim chybí malý kousek k dokonalosti – ten dobře definovaný společný formát, kterým by se předávala strukturovaná data. Proto to chci k tomu dobře definovanému formátu dotáhnout. V současnosti ta implementace nástrojů předbíhá definici toho formátu (formální specifikace dosud není vydaná), ale to proto, abych mohl praktickým používáním odladit ten formát a nebyl to jen teoretický návrh, který vypadá dobře na papíře, ale pak se v praxi ukáže, že tomu něco chybí nebo přebývá.

    Jako Pythonista bys mohl pomoci s návrhem toho modulu relpipe-tr-python – dlouho jsem na to nesáhl a mezi tím jsem pokročil mnohem dál s Guile a AWK moduly, se kterými jsem teď celkem spokojený. Jde v nich filtrovat i upravovat záznamy, přidávat nebo ubírat atributy, měnit jejich typ nebo i přidávat záznamy. V podstatě tam jde dělat totéž co v SQL, akorát to píšeš v jiném jazyce. Totéž bych chtěl pro ten Python, ale je potřeba nějak vyřešit kolize mezi názvy atributů a klíčových slov (v Guile jsem tam dal $ prefix; v AWKu jsem tam dal seznam rezervovaných jmen, která se escapují, když je kolize). Tu syntaxi --where--for-each bych tam ideálně chtěl zachovat, ať je to jednotné. Může to fungovat i tak, že budeš hodnoty těch atributů tahat z nějaké mapy, ale to mi přijde nepohodlné na psaní (klíče by byly jako textové řetězce v uvozovkách, takže by se v Pythonu ty filtry/transformace nepsaly tak hezky, jako v AWK nebo Guile).

    $ relpipe-in-fstab | relpipe-tr-awk --debug-variable-mapping --relation '.*' --where 'device == "proc"' | relpipe-out-tabular 
    fstab.variableMapping:
     ╭────────────────────┬───────────────────╮
     │ attribute (string) │ variable (string) │
     ├────────────────────┼───────────────────┤
     │ device             │ device            │
     │ dump               │ dump              │
     │ mount_point        │ mount_point       │
     │ options            │ options           │
     │ pass               │ pass              │
     │ scheme             │ scheme            │
     │ type               │ type              │
     ╰────────────────────┴───────────────────╯
    Record count: 7
    fstab:
     ╭─────────────────┬─────────────────┬──────────────────────┬───────────────┬─────────────────────┬────────────────┬────────────────╮
     │ scheme (string) │ device (string) │ mount_point (string) │ type (string) │ options    (string) │ dump (integer) │ pass (integer) │
     ├─────────────────┼─────────────────┼──────────────────────┼───────────────┼─────────────────────┼────────────────┼────────────────┤
     │                 │ proc            │ /proc                │ proc          │ noexec,nosuid,nodev │              0 │              0 │
     ╰─────────────────┴─────────────────┴──────────────────────┴───────────────┴─────────────────────┴────────────────┴────────────────╯
    Record count: 1
    
    
    
    $ relpipe-in-fstab | relpipe-tr-guile --debug-variable-mapping --relation '.*' --where '(string= $device "proc")' | relpipe-out-tabular 
    fstab.variableMapping:
     ╭────────────────────┬───────────────────╮
     │ attribute (string) │ variable (string) │
     ├────────────────────┼───────────────────┤
     │ device             │ $device           │
     │ dump               │ $dump             │
     │ mount_point        │ $mount_point      │
     │ options            │ $options          │
     │ pass               │ $pass             │
     │ scheme             │ $scheme           │
     │ type               │ $type             │
     ╰────────────────────┴───────────────────╯
    Record count: 7
    fstab:
     ╭─────────────────┬─────────────────┬──────────────────────┬───────────────┬─────────────────────┬────────────────┬────────────────╮
     │ scheme (string) │ device (string) │ mount_point (string) │ type (string) │ options    (string) │ dump (integer) │ pass (integer) │
     ├─────────────────┼─────────────────┼──────────────────────┼───────────────┼─────────────────────┼────────────────┼────────────────┤
     │                 │ proc            │ /proc                │ proc          │ noexec,nosuid,nodev │              0 │              0 │
     ╰─────────────────┴─────────────────┴──────────────────────┴───────────────┴─────────────────────┴────────────────┴────────────────╯
    Record count: 1

    Jde o to, aby člověk mohl jednoduše napsat pár výrazů ve svém oblíbeném jazyce do toho --where--for-each a jinak to bylo stejné.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    1.11.2019 00:29 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Relational pipes v0.14
    Jako Pythonista bys mohl pomoci s návrhem toho modulu relpipe-tr-python
    Na to nejsem ten správnej člověk, proti relacím a SQLku nic nemam, ale nadšenec taky nejsem.

    A python už teď taky moc nedělám. Spíš jsem ho zmiňoval proto, že to je imo takaová lingua franca na tyhle věci...
    26.2.2022 12:10 upozorneni
    Rozbalit Rozbalit vše Re: Relational pipes v0.14
    UPOZORNÉNÍ --- Autor tohoto softwaru je ruský kolaborant, podobruje šíření ruských desinformací ve válce o Ukrajinu.

    Založit nové vláknoNahoru


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