Portál AbcLinuxu, 16. května 2024 13:10


Předpověď počasí v terminálu a Relační roury

Článek Předpověď počasí v terminálu & Relační roury na jednoduchém příkladu ukazuje, jak si načíst strukturovaná data v XML, udělat nad nimi pár transformací a zobrazit si je včetně sloupcového grafu v textovém terminálu. Článek se dále věnuje některým myšlenkám, které jsou za projektem Relational pipes (složitost M×N×O vs. M+N+O, volitelná komplexita, rozdělení rolí) a ukazuje i výhody Makefile oproti klasickým shellovým skriptům.

14.8.2021 09:00 | xkucf03 | Zajímavý článek


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

Komentáře

Nástroje: Začni sledovat (4) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

otasomil avatar 14.8.2021 11:14 otasomil | skóre: 39 | blog: puppylinux
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Odpovědět | Sbalit | Link | Blokovat | Admin
To je pekne. Webove vyuziti treba zde
K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
14.8.2021 12:54 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Zpracováváš to taky v příkazové řádce nebo v PHP?
Gréta avatar 14.8.2021 14:40 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
otasomil avatar 15.8.2021 16:02 otasomil | skóre: 39 | blog: puppylinux
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Nezpracovavam nijak. Pokud chcete textovy vystup tak zde
K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
14.8.2021 12:17 Kancelář pro uvádění románových příběhů na pravou míru
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Odpovědět | Sbalit | Link | Blokovat | Admin
Relační roury nejsou relační.
14.8.2021 12:23 luky
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Odpovědět | Sbalit | Link | Blokovat | Admin
relpipe-tr-sed je docela misnomer - vubec to nezpracovava jazyk sedu (kterej je turing complete), ale pouze to dela nahradu podle regexpu.
xkucf03 avatar 14.8.2021 16:31 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše relpipe-tr-sed vs. sed

Časem by to mohlo fungovat jako relpipe-tr-awk (ten uvnitř volá skutečný awk instalovaný v systému) a kromě toho nahrazování textu by to tak mohlo umět libovolné výrazy sedu. Ale primárně je to pojmenované podle toho nejčastějšího použití sedu (nahrazování regulárních výrazů) s vědomím toho, že to neumí vše co ten klasický sed. Je to velký problém?

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
14.8.2021 23:46 luky
Rozbalit Rozbalit vše Re: relpipe-tr-sed vs. sed
Tak mohlo se to jmenovat treba relpipe-tr-re, kdyz to pracuje s regexpy, u kterych se navic i pouziva jina syntaxe nez v sedu. V sedu treba & expanduje na celej match, kdezto v C++ regex_match se to musi explicitne uzavorkovat a referencovat cislem.
14.8.2021 12:49 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Odpovědět | Sbalit | Link | Blokovat | Admin
Hledám něco takového pro OpenWeatherMap, které má taky XML a JSON API. Ale potřeboval bych to na web a nemám úplně info, co admin webu umí a co web technicky dovoluje. Mají sice oficiální widgety, jejichž použití na webu je jednoduché, ale nepřišel jsem na to, jak je lokalizovat.
Heron avatar 14.8.2021 13:19 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Fungují na SPŠE nějaké programátorské kroužky? Tohle by mohl být prima úkol pro začátečníky.
14.8.2021 13:26 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Od 3. ročníku učíme Python a v kroužku je C. Tohle právě není do školy.
14.8.2021 13:22 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
17.8.2021 21:55 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
14.8.2021 17:55 Ľubomír Mlích
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Odpovědět | Sbalit | Link | Blokovat | Admin
Pro zjištění počasí z příkazového řádku obvykle používám kratší:

curl wttr.in/Opava

ale ten odkazovaný článek i skript jsou hezké :-)
16.8.2021 01:28 Olaf
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
To je hezké, to jsem neznal. Dík. ;-)
Ruža Becelin avatar 15.8.2021 00:23 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Odpovědět | Sbalit | Link | Blokovat | Admin
Vypada to super.

BTW co je Koala XML Editor?

Diky
xkucf03 avatar 15.8.2021 11:25 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Koala XML editor

Díky.

To je editor, který si píši, zatím je to spíš takový prototyp. Časem to chci vydat veřejně, ale před tím chci dotáhnout ty Relační roury, jedno po druhém… Jinak myšlenka je asi zřejmá z toho obrázku – edituje se strom, nikoli text, a přesto by ty změny měly být nedestruktivní (zachovat formátování toho, co jsem neměnil, aby to šlo např. smysluplně verzovat). Nad tím stromem se pak dají dělat různé operace, které by nad textem dělat nešly, nebo by byly hrozně těžkopádné a implementačně náročné.

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
Josef Kufner avatar 15.8.2021 21:03 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Koala XML editor
To by jsi se pak mohl posunout od XML k obecnému Abstract Syntax Tree a pracovat nad libovolnými dokumenty a zdrojáky. Pak bys mohl přidat různé možnosti editace a vizualizace, takže bys třeba mohl části zdrojáků kreslit, či vyplňovat v tabulce. A vůbec, koukni na Jetbrains MPS.
Hello world ! Segmentation fault (core dumped)
xkucf03 avatar 15.8.2021 21:31 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Koala XML editor
Přílohy:
To by jsi se pak mohl posunout od XML k obecnému Abstract Syntax Tree a pracovat nad libovolnými dokumenty a zdrojáky.

To by měl být cílový stav. Viz můj další prototyp alt2xml. Takhle v Koale např. vypadá YAML konfigurace Netplanu nebo X.509 certifikát (viz příloha).

Ještě je otázka, jestli se držet +/- DOMu nebo jako model použít nějaký obecnější strom, ale zatím se DOM (případně trochu rozšířený o nějaká další metadata) zdá být dostatečně obecný (a zároveň pasuje na stávající nástroje z XML ekosystému).

Na to MPS jsem někdy koukal – zajímavé. Ale radši bych něco lehčího, co nevyžaduje velké IDE a výhledově poběží třeba i v TUI.

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
Josef Kufner avatar 15.8.2021 21:46 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Koala XML editor
DOM je zbytečně komplikovaná věc. Sice asi bude stačit na všechno, ale může svou obecností trochu překážet či být neefektivní. Na druhou stranu, když už ho máš a funguje, tak to použij.

Otázkou spíš je, zda neumožnit použití datových struktur, které nejsou stromem. Slušné nástroje na editaci obecných grafů prakticky neexistují. Editovat stavové automaty, různé (třeba i nerelační) pipeline a podobné věci obvykle znamená smířit se s nějakou nepřehlednou textovou reprezentací. Z těch screenshotů tak trochu tuším, že by to mohlo být celkem snadno implementovatelné – jen další pohled na tu datovou strukturu.
Hello world ! Segmentation fault (core dumped)
xkucf03 avatar 15.8.2021 22:40 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Koala XML editor + Dunnart a obecné grafy
Otázkou spíš je, zda neumožnit použití datových struktur, které nejsou stromem. Slušné nástroje na editaci obecných grafů prakticky neexistují. Editovat stavové automaty, různé (třeba i nerelační) pipeline a podobné věci…

Tohle bych taky potřeboval, a taky už jsem nad tím uvažoval. Ale nenapadlo mě to spojovat dohromady s tím stromovým editorem. Přiznám se, že jsi mi nasadil trochu brouka do hlavy. Protože strom je jen speciální případ obecného grafu. Jen si říkám, aby to už nebylo moc obecné/abstraktní a jak by to ovlivnilo pracnost…

Mimochodem, znáš Dunnart? To je víceméně ono. Akorát když jsem to zkoušel (cca před třemi lety), tak tam byly trošku problémy se stabilitou… ale třeba by to stačilo lehce dopilovat a bylo by to použitelné.

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
Josef Kufner avatar 15.8.2021 23:45 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Koala XML editor + Dunnart a obecné grafy
Na první pohled mi přijde, že Dunnart se soustředí na popis, jak má diagram vypadat pomocí sady omezení co kde je. Ta vizuální část je ale docela nepodstatná, to může udělat Graphviz automaticky. Jde hlavně o tu sémantickou část, která říká co je s čím propojeno, jaké to má atributy a tak podobně.

S tou pracností, no... potřebuješ dobrou myšlenku, jak ten graf postavit, jak ho reprezentovat a jak s ním pracovat. V DOM máš dvě relace: seznam potomků a odkaz na rodiče. Chybí však relace samotná, neboť je vyjádřena jen implicitně a nemá žádné vlastnosti krom existence. V obecném grafu máš objekty a relace mezi nimi, což jsou také objekty. To je asi největší rozdíl, že šipka je objekt. Například GraphML má elementy Node a Edge (a Hyperedge).

Pak můžeš mít ještě ternární relace, nebo i více -ární relace. To pak už je docela slušný guláš. A přitom ternární relace je v podstatě jen pojmenovaná šipka (tj. zdroj, cíl a název šipky). V SQL databázích je běžné, že relace mají další atributy. Ale není to zas nijak komplikovaná věc, pokud se na N-ární relace budeš dívat jako N-tice objektů (tuple), takže místo šipek máš seznam N-tic. Nakreslený graf je pak jen projekce. Koukni na Alloy (tutorial). Tady se docela hodí alespoň základní seznámení s teorií množin a teorií kategorií, případně i s tím související teorie typů. (Stačí trochu, aby se mozek procvičil a byl ochoten pracovat s nezvyklými koncepty.)
Hello world ! Segmentation fault (core dumped)
17.8.2021 09:00 MM
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Odpovědět | Sbalit | Link | Blokovat | Admin
Ahoj, chtěl jsem ty relační roury vyzkoušet, ale nepodařilo se mi to přeložit... Stáhl jsem vše přes hg clone podle tohoto ,pak jsem vstoupil do adresáře relpipe-in-cli.cpp a zadal cmake . skončilo to s fatal error: relpipe/writer/RelationalWriter.h: Adresář nebo soubor neexistuje Dělám něco špatně? Díky.
17.8.2021 10:03 MM
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
omlouvám se .cmake píše
Package 'relpipe-lib-writer.cpp', required by 'virtual:world', not found
Package 'relpipe-lib-cli.cpp', required by 'virtual:world', not found
fatal error: relpipe/writer/RelationalWriter.h: Adresář nebo soubor neexistuje
píše až make potom...
xkucf03 avatar 17.8.2021 14:37 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury

U jednotlivých vydání jsou instalační skripty, které jsou otestované v Debianu 10.2 – tam to stačí jen spustit. Taky to je otestované na Ubuntu 18.04 LTS. Jinde by to mělo fungovat taky, ale může být potřeba upravit názvy balíčků nebo verze.

Poslední verze je v0.17.1.

fatal error: relpipe/writer/RelationalWriter.h: Adresář nebo soubor neexistuje

Soubor RelationalWriter.h je v knihovně relpipe-lib-writer. Knihovny je potřeba zkompilovat před kompilací jednotlivých modulů, a pak se hledají pomocí pkg-config. Tohle řeší ten skript.

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
18.8.2021 08:44 MM
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Ahoj, díky, podle návodu/skriptu v odkazu výše to šlo. Nějak jsem návod předtím nemohl na stránkách najít - nenapadlo mě kliknout na verzi ze sekce Released versions. Možná by to v Download sekci šlo nějak zmínit něco jako "instalační skripty jsou u jednotlivých verzí níže", nebo tak něco...
xkucf03 avatar 18.8.2021 20:02 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury

Případně nejnovější skript release-v0.18.sh k dosud nevydané verzi. Viz komentáře pod článkem.

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
26.2.2022 12:11 upozorneni
Rozbalit Rozbalit vše Re: Předpověď počasí v terminálu a Relační roury
Odpovědět | Sbalit | Link | Blokovat | Admin
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, (c) 1999-2007 Stickfish s.r.o.