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 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

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

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

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

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    dnes 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 4
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    včera 03:55 | Nová verze

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Design programů pro OS linux

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

    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.