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

    Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.

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

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

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Upozornění

    CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.

    Ladislav Hagara | Komentářů: 8
    včera 13:44 | Pozvánky

    Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.

    Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »
    bkralik | Komentářů: 0
    včera 04:44 | Zajímavý software

    Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.

    Ladislav Hagara | Komentářů: 1
    včera 02:00 | IT novinky

    Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    9.6. 21:44 | IT novinky

    Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …

    Ladislav Hagara | Komentářů: 1
    9.6. 20:44 | Komunita

    Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.

    Ladislav Hagara | Komentářů: 0
    9.6. 19:11 | Nová verze

    Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    9.6. 12:55 | IT novinky

    DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.

    Ladislav Hagara | Komentářů: 20
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 242 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Obecné miniaplikace II

    17.10.2009 16:19 | Přečteno: 1809× | poslední úprava: 17.10.2009 17:20

    Trochu jsem od minula pokročil a už mám plasmoid a nějaký ten (neuhlazený) obsah...

    Abych to jen přiblížil těm co nečetli první zápisek - chci vytvořit jednu obecnou miniaplikaci (plasmoid, screenlet...) a té jen budete cpát URL podle toho jaký obsah si budete chtít zobrazit. O získávání a zpracování obsahu se bude starat serverová část, ta by zas měla programátorům ulehčit přidávání dalšího obsahu (pod obsahem si představte nejspíš kus webové stránky).

    Získávání obsahu

    Serverová část je psána v Ruby on Rails. Zatím je to tak, že když chcete přidat další obsah tak vytvoříte nový model, který zdědí Content, jež obsahuje metody (funkce) které vám usnadní různé věci - zatím toho nemám moc, ale třeba tvoření XML výstupu nebo galerie - stačí mít URL na obrázky, ty nacpat do pole a zavolat na to funci create_gallery a ono se to obalí HTML a jquery humusem:)

    Takhle vypadá zatím šablona na zpracování obsahu:

      1 class Model < Content
      2    attr_accessor :name
      3
      4   def self.parse_raw_html
      5     @html = Hpricot(open(""))
      6
      7     save_me
      8   end
      9
     10   def self.parse_xml
     11     save_me
     12   end
     13
     14 end
    
    

    U některých stránek je to opravdu snadné, třeba ty kurzy měn co vidíte na obrázku jsou na dva řádky.

    @html = Hpricot(open("http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.jsp"))
    @html = @html.at("//table[@class='kurzy_tisk']")
    

    což si myslím že je pohoda, místo toho aby uživatel stahoval nový plasmoid...

    Moje smyšlené XMLko

    Řekl jsem si, že by se někdy mohlo hodit posílat XML místo HTML, pak si to může miniaplikace rozparsovat a použít nativní widgety, naformátovat jak chce... jenže problém je formát toho XML, zatím jsem vymyslel tohle: (dávám to sem bez zobáčků, nechce se mi to nahrazovat)

    document
      label Text labelu jedna /label
      image http://www.example.com/obrazek.jpg /image
      video http://www.example.com/video.avi /video
       label Text labelu dva /label
    /document
    

    Tohle jsem naučil ten plasmoid parsovat a dělat z toho nativní widgety (teda ještě na to video/phonon musím mrknout, ale zatím se mi nepodařil ani image:)) ale v XML se nevyznám, možná bych měl použít něco co už je, nějaké DTD a tak... samozřejmě QT i GTk mají svoje .ui/.glade soubory které v XML obsahují popis jaké widgety tam mají být, ale zkoušel jsem to QT a to se mi nedaří načíst za běhu a navíc je to dost specifické... tohle ještě musím promyslet.

    Push

    Další věc co by se mi hodně líbila by byla Push aktualizace obsahu (http://en.wikipedia.org/wiki/Push_technology) nebo jak se tomu říká. Že když budu v miniaplikaci mít počasí z googlu tak ho nebudu muset co 5 minut stahovat znovu ale počkám si na server ať mi řekne... nějaké nápady jak tohle implementovat? Otevřít si port a tam čekat až se mi někdo ozve?

    Na závěr povzdech, plasmoid píšu v ruby a dokumentace mi přijde nic moc... čtyři dny jsem hledal jak odstranit widget... nemá někdo nějaké tipy?

           

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Obecné miniaplikace II, obrázek 1

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

    Komentáře

    Vložit další komentář

    vlastikroot avatar 17.10.2009 16:54 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    Comet návrh by ti mohl pomoct s server pushem.
    We will destroys the Christian's legion ... and the cross, will be inverted
    Rezza avatar 17.10.2009 17:21 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    Libi ;-) Push neni spatny napad, to XML nevim, mozna by mohly stacit styly na strane klienta.
    Fluttershy, yay! avatar 17.10.2009 19:00 Fluttershy, yay! | skóre: 93 | blog:
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    OT: co je to za avatara?
    🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
    Rezza avatar 17.10.2009 19:29 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    Nemam tucha ;-)
    Salamek avatar 18.10.2009 02:51 Salamek | skóre: 22 | blog: salamovo
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    vypada to jak prdel v ni ruka a vsude kolem sracky :-D
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    Fluttershy, yay! avatar 18.10.2009 17:23 Fluttershy, yay! | skóre: 93 | blog:
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    Nebo dětská hlava se zasranou rukou zabodnutou v oku.
    🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
    Salamek avatar 18.10.2009 17:34 Salamek | skóre: 22 | blog: salamovo
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    jo to spis, kdyz se na to ted divam bliz
    Skutečně nemám v plánu zničit Microsoft. Bude to jen zcela neúmyslný vedlejší efekt.
    xkucf03 avatar 18.10.2009 13:21 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    • k té ČNB: vím, že by to bylo víc práce než jen vyzobnout tabulku z HTML, ale asi by bylo správnější používat ty jejich kurzy v textovém formátu, což je jakési jejich stabilní API, než se spoléhat na HTML stránku, kterou můžou kdykoli změnit.
    • k tomu push: mohl bys použít xmpp protokol (jabber), klienti (plasmoidy) by se přihlásili k odběru nějaké služby (třeba počasí, kurzy…) a server by jim v případě změny poslal zprávu s novým obsahem. Chtělo by to ale trochu sjednotit, aby každý plasmoid nemusel držet vlastní XMPP spojení (kdyby jich bylo víc), aby se používalo jedno společné. Možná by byla i integrace s nějakým IM klientem – tady by vlastně stačilo, aby IM klient při příjmu zprávy od určitého kontaktu uložil její obsah do HTML souboru na disk – plasmoid by si pak jen tenhle soubor hlídal a zobrazoval ho.
    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
    Rezza avatar 18.10.2009 16:14 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    No to se da docilit tim, ze by to byl Plasma::DataEngine, ze ktereho si muzou widgety brat data a pro ten data engine staci jedno spojeni. Ale nevim, jestli bych do toho to XMPP tlacil, mozna zbytecne komplikovane. I kdyz ty widgety by i za tohohle stavu mely mit spolecny data engine a z neho brat.
    18.10.2009 18:47 phax7 | skóre: 34 | blog: PhaX_blog
    Rozbalit Rozbalit vše Re: Obecné miniaplikace II
    ad ČNB, díky za info, ale já pochopil že by jak HTML tak TXT by mělo být "API" http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/faq_format_kurzy.html

    každopádně to TXT použiju taky, chtěl bych udělat applet kde by ty kurzy za sebou tak pěkně běhaly v jednom řádku...

    ad push XMPP, pak DataEngine... nechte mi taky něco na diplomku kluci, času už moc nezbývá;) Asi vyzkouším tohle: http://juggernaut.rubyforge.org/

    Ale určitě bych rád ve vývoji (GPL) pokračoval i po bakalářce...

    Založit nové vláknoNahoru

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