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 09:00 | Nová verze

Byla vydána nová verze 1.2.0 grafického správce diskových oddílů GParted (GNOME Partition Editor) a také verze 1.2.0 živé distribuce GParted Live, která obsahuje tohoto správce a další nástroje pro zálohování či obnovu dat. Novinkou je především podpora souborového systému exFAT díky exfatprogs.

Ladislav Hagara | Komentářů: 0
dnes 08:00 | Zajímavý software

Google v příspěvku na svém blogu věnovaném open source oznámil, že uvolnil zdrojové kódy aplikace Tilt Brush (Wikipedie) pro 3D malování ve virtuální realitě. K dispozici jsou na GitHubu pod open source licencí Apache 2.0.

Ladislav Hagara | Komentářů: 0
dnes 07:00 | Zajímavý software

Svobodný šachový server Lila, pohánějící mj. populární Lichess.org, nově implementuje dlouho očekávaný Puzzle Storm, kde má hráč za úkol v omezeném čase vyřešit co nejvíce taktických úloh o postupně narůstající obtížnosti. Jedná se o konkurenci vůči Puzzle Rushi od komerčního Chess.com, kde je tato funkce zpoplatněna.

… více »
Bherzet | Komentářů: 1
včera 13:33 | Nová verze

Laboratoře CZ.NIC vydaly novou verzi 4.16.0 aplikace Datovka, tj. svobodné multiplatformní desktopové 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. Nově je pro překlad aplikace potřeba použít knihovnu libdatovka. Ta byla vydána ve verzi 0.1.0.

Ladislav Hagara | Komentářů: 0
včera 09:00 | Zajímavý článek

Brian Exelbierd, zástupce Red Hatu v představenstvu distribuce CentOS, poskytl rozhovor webu The Register. Ukončení vydávání CentOS jako sestavení RHEL vysvětluje tak, že Red Hat ho odmítl nadále sponzorovat. Dále hovoří o roli a omezeních nového bezplatného vydání RHEL.

Fluttershy, yay! | Komentářů: 13
včera 06:00 | Bezpečnostní upozornění

Balíček s utilitou sudo byl vydán ve verzi 1.9.5p2. Řešena je bezpečnostní chyba CVE-2021-3156. Lokální uživatel může získat práva roota i když není uveden v souboru sudoers. Podrobnosti i s videoukázkou v příspěvku na blogu společnosti Qualys. Chyba byla do kódu sudo zanesena na konci července 2011 (commit 8255ed69). Týká se tedy verzí 1.8.2 až 1.8.31p2 a 1.9.0 až 1.9.5p1.

Ladislav Hagara | Komentářů: 18
26.1. 19:00 | Zajímavý článek

Společnost Backblaze zveřejnila statistiky spolehlivosti pevných disků používaných ve svých datových centrech za rok 2020. Ke konci roku vlastnila 165 530 pevných disků. V průběhu roku jich přibylo 39 792. Průměrná AFR (Annualized Failure Rate), tj. pravděpodobnost, že disk během roku selže, klesla na 0,93 %. V roce 2019 to bylo 1,89 %. V roce 2018 to bylo 1,25 %. V roce 2017 to bylo 1,77 %. V roce 2016 1,95 %.

Ladislav Hagara | Komentářů: 6
26.1. 18:11 | Nová verze

Dle plánu byl vydán Mozilla Firefox 85.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Přibyla ochrana před supercookies. Odstraněna byla podpora Flashe. Řešeny jsou také bezpečnostní chyby. Nejnovější Firefox je již k dispozici také na Flathubu.

Ladislav Hagara | Komentářů: 6
26.1. 12:44 | Nová verze

Byla vydána nová verze 4.15 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl aktualizován na verzi 10.0.9. Thunderbird byl aktualizován na verzi 78.6.0. Linux byl aktualizován na verzi 5.9.15.

Ladislav Hagara | Komentářů: 0
26.1. 12:33 | Komunita

Projekt Mozilly MDN Web Docs dokumentující webové standardy včetně jejich podpory v jednotlivých prohlížečích byl loňským propouštěním citelně zasažen. Poté, co se obsah MDN přesunul na GitHub, čímž se z určitého pohledu více otevřel pro přispívání z řad webových vývojářů, vznikla nová organizace Open Web Docs. Na Open Collective už má přes 60 finančních přispěvatelů a největší mezi nimi jsou Google, Microsoft a Coil. Dále se do projektu zapojuje samozřejmě Mozilla, Samsung a W3C [Mozilla.cz].

Ladislav Hagara | Komentářů: 0
Jestliže používáte distribuci CentOS, kterou náhradu plánujete vzhledem k oznámenému ukončení vydávání?
 (29%)
 (4%)
 (1%)
 (21%)
 (0%)
 (3%)
 (42%)
Celkem 213 hlasů
 Komentářů: 4, poslední 25.1. 03:13
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...

Založit nové vláknoNahoru


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