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

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | IT novinky

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

    Ladislav Hagara | Komentářů: 0
    dnes 11:00 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Bezpečnostní upozornění

    npm balíčky @redhat-cloud-services byly kompromitovány.

    Ladislav Hagara | Komentářů: 5
    včera 22:22 | Bezpečnostní upozornění

    Byly publikovány informace o zranitelnosti CVE-2026-46243 pojmenované CIFSwitch v Linuxu od roku 2007. Běžný uživatel může získat práva roota (lokální eskalaci práv). V upstreamu je již opraveno.

    Ladislav Hagara | Komentářů: 0
    včera 19:22 | IT novinky

    Nvidia na své konferenci NVIDIA GTC Taipei 2026 představila řadu novinek. Společně s Microsoftem představili superčip NVIDIA RTX Spark (až 6 144 jader GPU, 20 jader CPU, 1 petaflop AI výkonu v FP4 a 128 GB jednotné paměti). První notebooky a stolní počítače s tímto čipem od Nvidie místo Intelu nebo AMD by se měly na trh dostat na podzim letošního roku.

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

    Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Pozvánky

    Tento týden se bude vyznačovat zejména deštěm, a proto vás může zajímat, že již v úterý proběhne 63. Virtuální Bastlírna, která se bude odehrávat přímo v teple vašich domovů a bastlíren. Proto se připojte k této volné otevřené diskuzi bastlířů, techniků, vědců, ve které se probírají novinky a zajímavá témata z techniky. Mezi největší novinky bude tentokrát patrně patřit oznámení hackerského nástroje Flipper One. Zároveň úspěšně probíhá

    … více »
    bkralik | Komentářů: 0
    včera 03:22 | Nová verze

    86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.

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

    Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1799 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Vyhledávání dopravních spojení počtvrté a naposledy?

    26.7.2008 12:27 | Přečteno: 1328× | poslední úprava: 26.7.2008 13:51

    Po krátké době další zápisek ohledně mého skriptu na vyhledávání dopravních spojení. Tentokrát to ale nebude jen o úpravách skriptu samotného, ale i o aplikaci do mobilu a CGI skriptu, který to oboje propojí. To bude do jisté míry završení mého úsilí.

    Začneme tradične s popisem změn v původním skriptu pro CLI. Doplnil jsem do skriptu alespoň jakés takés komentáře. Odstranil jsem zbytečné fragmenty kódu, které zůstaly ze starších verzí a již nebyly potřeba. Také jsem využil generátorů (díky JS za nakopnutí), což vedlo k malémů zkrácení skriptu, ale hlavně jej to snad učinilo krapet přehlednějším. Snad jsem na nic důležitého nezapomněl. Skript se tak dostává do verze 0.41.

    Novinkou je zveřejnění i mé Java aplikace do mobilu, jejímž smyslem existence bylo stát se mobilní variantou skriptu pro CLI. Neručím za přehlednost či krásu kódu (ikdyž jsem se snažil). Nejsem zrovna fanouškem Javy, tudíž jediným kritériem bylo, aby to fungovalo na mém obstarožním mobilu. Z toho důvodu jsem také použil pouze MIDP 1.0. Nemůžu zaručit, že to bude funkční zrovna na Vašem telefonu.

    Aplikace samotná je vcelku jednoduchá a věřím, že ji není nutné blíže popisovat. Zmíním pouze možnosti nastavení, které mají zajistit jistit, aby nebylo nutné kompilovat a nahrávat do mobilu novější verzi kdykoliv je předchozí skript obohacen o novou dovednost (vyhledávání dopravních spojení v dalším městě). V menu lze nastavit tři údaje. Prvním je seznam položek, které se objeví v hlavním menu. To proto, že někdo může preferovat krátké a přehledné menu před větším množstvím položek, které nepotřebuje. Druhým je seznam vyhledávacích kódů. Jedná se o dvojice "Položka v menu":"vyhledávací kód", přičemž vyhledávací kód je předáván CGI skriptu, jež je jakýmsi prostředníkem mezi Java aplikací a skriptem pro CLI. Třetí nastavitelnou položkou je práve adresa tohoto CGI skriptu.

    Komunikace tedy probíhá následovně:

    1. V Java aplikaci zadáme údaje o spojení a spustíme vyhledávání.
    2. Aplikace se spojí s CGI skriptem a předá mu požedované parametry.
    3. CGI skript spustí skript pro hledání v CLI, odstraní z výstupu diakritiku pomocí cstocs a výsledek předá zpět Java aplikaci, jež jej zobrazí uživateli. Pokud nebyl počáteční či koncový bod jednoznačně určen, dostane Java aplikace seznam možností, z nichž si uživatel vybere a celý proces se ještě jednou zopakuje.
    Komunikaci se serverem Idos obstarává CLI skript, jež jsem tu popisoval v předcházajících zápiscích. Výhodou této komunikace je minimální objem dat přenášených přes GPRS a tedy i "náklady", jež činí něco mezi 10 a 20 haléři.

    Tohle chci taky! Co je k tomu potřeba?

    1. Skript pro vyhledávání v CLI, momentálně je k dispozici verzi 0.41.
    2. Java aplikaci do mobilu (momentálně verze 0.4), tj. JAR a JAD soubory, k dispozici je i zdrojový kód.
    3. CGI skript, jež bude prostředníkem mezi Java aplikací a skriptem pro CLI. Uvedená verze je funkční, nicméně za její bezpečnost neručím. Tento CGI skript také potřebuje program cstocs na odstranění diakritiky (nejspíše budete muset u konverze změnit kódování).
    4. Ověřit funkčnost CLI a CGI skriptů.
    5. Spustit v mobilu Java aplikaci a v nastavení zadat URL Vašeho CGI skriptu.

    To by mělo být vše. Vyzkoušejte a uvidíte. Doufám, že budete s tímto dílkem spokojeni a pokud se Vám zalíbí, přihlašte se v anketě. Rád bych měl alespoň přibližnou představu o počtu uživatelů. V diskuzi samozřejmě uvítám Vaše komentáře, případně mě můžete kontaktovat mailem. Díky.

           

    Hodnocení: 91 %

            špatnédobré        

    Anketa

    Používáte můj program?
     (11 %)
     (22 %)
     (0 %)
     (0 %)
     (67 %)
    Celkem 27 hlasů

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

    Komentáře

    Vložit další komentář

    thingie avatar 26.7.2008 12:33 thingie | skóre: 8
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    No, já bych byl třeba rád, kdyby to umělo zobrazit plánované výluky, ukázalo odkaz na koupení jízdenky, řazení vlaku a další fičury :-)
    Růžové lži.
    26.7.2008 12:54 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    No, to by opravdu byly ficury, nicmene takovou komplexnost jsem pro program nikdy neplanoval. Predpokladane vyuziti bylo spise neco jako "Stihnu jeste jedno pivko nez mi pojede vlak?". :-)
    26.7.2008 12:56 JS
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Jeste jednu poznamku k tem generatorum: Funkci generator_dat byste vubec nepotreboval, staci misto ni pouzit enumerate(self.DATA.splitlines()). Bohuzel funkce splitlines() vraci seznam, bylo by imho mnohem lepe, kdyby take vracela jenom iterator, ale pro funkcnost programu to neni podstatne.
    26.7.2008 13:13 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Mam dotaz trochu mimo. Da se v Pythonu nejak docilit toho, abych v jednom kroku provedl prirazeni a zaroven i otestoval uvedenou hodnotu? Tj. misto dvou prikazu: r = funkce(), if r:, by byl jen jeden prikaz, podobne jako to jde (myslim) v C.
    thingie avatar 26.7.2008 13:21 thingie | skóre: 8
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Přiřazení by se mělo zrušit :-)
    Růžové lži.
    26.7.2008 13:49 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    No, mne jde konkretne o kus kodu, ktery jsem zapsal jako:
    r = 0
    while not r:
        radek = gen.next()
        r = re.search(u'<td align="right">(.{,6}?)<', radek)
    spoj_datum = r.group(1)
    
    Kdy bych rad presunul vyhledavani regularniho vyrazu do podminky, nicmene potrebuji dale pracovat i s tim vracenym objektem (v pripade nalezu). Takhle, jak to mam, se mi to moc nelibi.
    26.7.2008 16:39 JS
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    V Pythonu prirazeni a test podminky soucasne nejde. Prirazeni zkratka neni vyraz, narozdil od C.
    26.7.2008 16:42 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    To vim, ja jen, jestli neni nejaky elegantni zpusob, jak to resit.
    26.7.2008 21:14 JS
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Konkretne v tom priklade by bylo mozne pouzit "poor man's until":
    while True:
      .. neco delej
      r=vysledek regularniho vyrazu
      if not r: break
      .. jeste treba neco delej
    
    Tenhle idiom obcas pouzivam, ma tu vyhodu, ze si muzu koncovou podminku smycky dat presne kam potrebuji.
    27.7.2008 00:33 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Hm, prijde mi to jako z blata do louze. :-) Ale asi to bude tak, ze kde nic neni...
    27.7.2008 08:57 JS
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Na druhou stranu, musim uznat, ze mi ta soucasna situace vyhovuje. Napsat = misto == v podmince je asi nejcastejsi chyba, kterou v Pythonu delam.
    26.7.2008 14:24 Kappi-tux | blog: kappiho_tuxik
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Asi si začnu hrát s conky aby mi pořád ukazoval aktuální časy odjezdů :-) měl by někdo nápad jak to udělat?
    Zkušenost je věc, kterou získáš až potom, cos ji potřeboval.
    26.7.2008 14:28 bibri | skóre: 33 | Olomouc
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Rozparsovat externím skriptem nějaký wget...
    26.7.2008 14:38 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    No, zkuste kouknout na ten CLI skript, myslim, ze ta data nebude problem z vystupu ziskat.
    31.7.2008 00:33 miro
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?

    Díky za inspiraci, už se mi to povedlo. Cron spustí skript a výstup přesměruje do txt souboru (ještě ho před tím přegrepuju, aby v conky zbytečně nezabíral místo řádek "Datum" a řádek s výší jízdného). Do ~/.conkyrc pak už jen stačí dát na správné místo řádek ${offset 0}${color}${exec cat /cesta/k/souboru.txt}

    Občas by se mohla hodit i volba času příjezdu do cílové stanice, nešlo by to přihodit do wishlistu? BTW po programátorské stránce to sice ocenit neumím, ale jako nanejvýš spokojený koncový uživatel vám tleskám.

    31.7.2008 10:41 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Vida, zapomnel jsem odpovedet na Vas dotaz. Ted uz je to s krizkem po funuse, nicmene... Ja si s tim grepovanim hral a pro odjezdy tramvaji jsem pouzival treba
    ./spoje.py -s 10 brno cervinkova skacelova | grep tramvaj | awk '{print $2 " " $3 " " $5 " "$6}' | head -n 3
    Pro konkretni spoj jen zadam treba nasledujici dve zastavky, "-s 10" mi zajisti dostatek nalezenych spojeni, ze kterych pak vyhazi ty co me nezajimaji a ze zbytku vezmu jen prvni tri. V awku se moc nevyznam, asi to jde udelat i lepe... A dal to s tim cronem a conky jste uz popsal.

    Co se tyce casu prijezdu, tak jsem na to koukal uz drive, ale pak jsem to z nejakeho duvodu (asi neprehlednost kodu) zavrhl. Jeste na to kouknu, mozna to ted uz bude lepsi. Momentalne dokoncuji vypis zastavek na trase, co by rad David Watzke, tak snad pak.
    26.7.2008 20:29 zruda
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Skript dobrý. Dokonce jsem díky němu přišel, že už asi opravili nepříjemnou chybu, která způsobovala, že při zadání Liptovský Mikuláš to nehledalo autobusy, protože ty tam měly zastávku danou jako Lipt. Mikuláš :-)
    27.7.2008 12:37 nula | skóre: 22 | blog: archaic
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Díky moc - zkusil jsem ten skipt v pythonu a naprosto se mi to líbí. Asi si to dám na všechny pomalejší počítače :-)

    Javu v mobilu bohužel ani nevyzkouším.
    multi avatar 28.7.2008 14:10 multi | skóre: 38 | blog: JaNejsemOdsut
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    super web idos.cz se me vubec neliby, todle je dokonale rozhrani
    David Watzke avatar 28.7.2008 22:46 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Tak jsem to zkusil a je to skvělý, díky. Jsem nadšenej z toho, že to nemá žádný Pythoní závislosti. Pak to snad zkusím i na mobilu. Feature request: bylo by hezký, kdyby to umělo vypsat detaily spojení.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    29.7.2008 06:42 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Co presne myslis temi detaily spojeni? Detail o konkretnim vlaku/busu (pres ktere zastavky jede)? A nebo to, co se v novem rozhrani idosu jmenuje "detail spojeni", otevre se v novem okne a je tam prakticky napsane to, co bylo uz na strance predchozi? To prvni by mozna i slo, ikdyz me nenapada, jak to prehledne zakomponovat do toho CLI rozhrani. To druhe pujde tezko, jelikoz skript nepracuje skrz to nove idos rozhrani a tudiz zadnou takovou nabidku nemam. A nebo treti moznost a myslis ty priznaky jako "preprava kol, jidelni vuz,..."?
    David Watzke avatar 29.7.2008 10:14 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Myslím ten detail spojení, jak je tam přes který zastávky jede a kdy tam je... je to to okno co vyskočí.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    29.7.2008 11:08 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Aha. No, zkusim vymyslet jak to zakomponovat do te aplikace. Ty vypisy byvaji dost dlouhy, tak aby to neprekazelo. Nejspis bych vypisoval jen ty zastavky, ktere se tykaji hledane trasy. Ale stejne se to natahne. Nejaky napad? Jak bude cas (a vule :-)), tak se do toho pustim.
    David Watzke avatar 29.7.2008 12:05 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Napadá mě vypisovat je jenom na požádání (přepínač) nebo jenom když -s 1.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    29.7.2008 12:46 kkaarreell | skóre: 6 | blog: perkele
    Rozbalit Rozbalit vše Re: Vyhledávání dopravních spojení počtvrté a naposledy?
    Jasny, prepinac je samozrejmost. A snad bude i stacit. Tak vyckej casu a nech se prekvapit. :-)

    Založit nové vláknoNahoru

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