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 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    22.3. 21:55 | Nová verze

    Byla vydána verze 11.0 s kódovým jménem Aramo linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 22.04 LTS a podporována bude do roku 2027. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    22.3. 16:55 | IT novinky

    Mozilla založila startup Mozilla.ai a vložila do něj 30 milionů dolarů. Cílem je vývoj důvěryhodné, nezávislé a open source AI.

    Ladislav Hagara | Komentářů: 2
    22.3. 16:33 | Nová verze

    Po půl roce vývoje od vydání verze 43 bylo vydáno GNOME 44 s kódovým názvem Kuala Lumpur. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube.

    Ladislav Hagara | Komentářů: 22
    22.3. 13:33 | IT novinky

    Letošní Turingovou cenu (2022 ACM A.M. Turing Award) získal Bob Metcalfe za vynalezení, standardizaci a komercializaci Ethernetu.

    Ladislav Hagara | Komentářů: 0
    22.3. 07:00 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána ve verzi 5.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    21.3. 18:22 | Nová verze

    Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.

    Ladislav Hagara | Komentářů: 7
    21.3. 16:44 | IT novinky

    Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 301 hlasů
     Komentářů: 3, poslední včera 12:45
    Rozcestník


    Dotaz: Design programů pro OS linux

    25.1.2009 03:56 Huge
    Design programů pro OS linux
    Přečteno: 508×

    Zdravím všechny programátory pod Linuxem, mám takovouto otázku:

    Můj spolužák mi tvrdí, že programy pro linux jsou kvalitní v tom, že existuje spousta utilit, které stačí vhodně propojit pomocí pipe a podobně a ušetří se tak práce vývojáře.

    Mějme příklad, chci udělat aplikaci, který zadám url a slovo a tato aplikace prohledá textový obsah zadané stránky a přečte mi větu ve které se dané slovo nachází. Jde to skutečně tak ideálně, že:

    Pomocí jádra internetového prohlížeče načtu a naparsuju obsah stránky, pomocí grap-u, či awk nebo kdovíčeho vyhledám větu a pomocí Opensource frameworku / knihovny Festival ji nechám přečíst (případně nějaký děj při nenalezení).

    Nebo jsou toto jen propagační výplody přátel Linuxového stolu? Pokud by to byla pravda, mohl by to být skutečně pádný argument proč přejít programovat pod OS Linux.

    Díky za odpovědi (prosím bez urážek).

    Odpovědi

    25.1.2009 05:12 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Design programů pro OS linux

    Hm, kdybys to chtěl udělat jako shellový one-liner (tzn. propojení utilit pomocí pipe, jak říkáš), asi by ses hodně zapotil, ale myslím, že by to šlo; jen to parsování a hledání v HTML by byl oříšek, XSLT by to snad umělo (grep nebo awk bych nepoužil, protože HTML není obyčejný text).

    Vtip je v tom, že stránky se nenačítají ani neparsují "jádrem internetového prohlížeče" (např. Firefoxu), třeba na stažení něčeho z webu slouží obvykle wget nebo curl. Podívej se na man stránku wgetu, ať máš lepší představu, co v GUI (ani ve Windows) prostě nenaklikáš.

    Konkrétně u tvého příkladu bych si dokázal mnohem lépe představit několikařádkový skript třeba v Pythonu.

    Vtipné je, že pod jinými operačním systémy lze programovat úplně stejně jako v Linuxu, protože ty nástroje jsou open-source a když se s trochou snahy zkompilují pro Windows, tak běží i ve Windows (a ony už zkompilované jsou, stačí najít a stáhnout). Ale asi bude lepší použít "původní" platformu :-) Tím mám na mysli unix-like, jestli to bude Linux, BSD nebo něco jiného (Mac?) už nechám na tobě :-)

    Tedy, nijak jsi nezmínil ten operační systém, který chceš s Linuxem porovnávat, ale předpokládám, že to jsou právě Windows. (Kdo jiný by se mohl takhle ptát...)

    Osobně si myslím, že pokud člověk není beznadějně srostlý s Visual Studiem, měl by alespoň zkusit nenechat se omezovat Windowsy. Řečeno samozřejmě s nadsázkou. Koneckonců, kdo se chce stát programátorem, jistě se někdy s Linuxem nebo podobným systémem setká a měl by aspoň tušit, o čem to celé je.

    25.1.2009 09:26 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Design programů pro OS linux
    jen to parsování a hledání v HTML by byl oříšek, XSLT by to snad umělo (grep nebo awk bych nepoužil, protože HTML není obyčejný text)

    Jenom doplním, existuje AWK pro parsování XML (xgawk), pomocí kterého by to šlo asi tak na 2 řádky.

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    25.1.2009 22:48 Franta Hanzlik
    Rozbalit Rozbalit vše Re: Design programů pro OS linux

    A browsery lynx, elinks a nejspíš i další mají dump mód, při kterém na stdout vypíší formátovaný text bez html značek, takže parser už se jimi nemusí zabývat:

    lynx -dump URL|parser|...

    Ale v řadě případů (např. čtení z tabulek apod.) bude lepší parsovat HTML zdroják.

     

    26.1.2009 03:56 luky
    Rozbalit Rozbalit vše Re: Design programů pro OS linux
    Argumentem muze byt rozsahlost standardni vybavy, ale ne samotna moznost spojovani, protoze to podobne jde skoro vsude. A taky zalezi na tom, co si predstavujete pod pojmem programovat.
    26.1.2009 19:48 Huge
    Rozbalit Rozbalit vše Re: Design programů pro OS linux

    Já jsem si vědom, že většina uxinových utilit lze (někdy s jistými potížemi) portovat i na OS jiných typů (Win).

    Ten rozdíl měl být spíše v tom, že pokud na Windows bude chtít program používat nějaké utility, budou zabalené v instalačním souboru a nainstalují se pro každý program zvlášť do jeho složky. Zatím v Linuxu v aplikaci zůstane jen jádro a zbylé části se instalují pomocí balíčkovacího systému, čímž se zabrání několikanásobné instalaci.

    26.1.2009 19:57 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Design programů pro OS linux
    No, ale to dělá pod windows téměř každý program.

    Jinak: pokud si např. nainstalujete cygwin, tak ten téměř vynucuje aby byl v systému jen jeden.
    In Ada the typical infinite loop would normally be terminated by detonation.
    26.1.2009 22:25 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Design programů pro OS linux
    Ano tento rozdíl Lin-Win také existuje.
    26.1.2009 06:52 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Design programů pro OS linux
    Pletete programovací nástroje a programovací platformu. Jak bylo řečeno, nástroje jsou poněkud univerzální a měly by jít použít víceméně na jakékoli platformě. Že mají tyto nástroje kořeny spíš na unixových OS je věcí tradice. Každopádně Váš příklad není propagační ale jde udělat jednoduše v jakémkoliv vysokoúrovňovém jazyce, snad i v microsoftím power shellu.
    In Ada the typical infinite loop would normally be terminated by detonation.
    26.1.2009 08:04 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Design programů pro OS linux
    Tvoja otazka je spravna a uplne na mieste, neviem preco by mala niekoho urazat. Je vsak velmi vseobecna a rovnako vseobecne mozu byt aj odpovede. Napokon, tyka sa iba jedej malej -- hoci vyznamnej - casti progranovania v unixe. Ak Ta tato tema skutocne zaujima, kup si skvelu knihu Umeni programovani v Unixu, obohati Ta bez ohladu na to v akom progranovacom jazyku ci operacnom systeme vyvijas.

    Co sa tyka pouzitia jednoucelovych toolov pomocou rur, resp. ich spajanie v shellovych skriptoch, najuzitocnejsie su (aspon pre mna) nie tak na samotne "kodovanie", ako na kopec prilezitostnych uloh okolo. Jedna ilustracia: nedavno som potreboval zistit 10 najvacsich balikov v Java programe, skoncilo to takto:
    for X in `find . -type d | fgrep -v .svn` ; do echo `cat ${X}/*.java 2>&1 | wc -c`": $X" ; done | grep -wv 0 | sort -r -n -k 1,1  | head | nl
    

    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.