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 16:23 | Bezpečnostní upozornění

    Zranitelnost v aktualizačním mechanismu WordPress umožňuje útočníkovi zasáhnout do dočasného instalačního adresáře během aktualizace jádra systému. Před aktualizací veřejně dostupného WordPressu dočasně zablokovat HTTP přístup k wp-content/upgrade/, následně aktualizovat a zkontrolovat logy. Postižené verze: WordPress 4.7 až 7.1.3.

    vencour | Komentářů: 0
    dnes 16:11 | Bezpečnostní upozornění

    Alpine Linux zveřejnil podrobnosti o útoku na svůj GitLab a 30. října oznámil obnovení provozu. Útočník se 20.–21. října pokusil zneužít chybu v regulárních výrazech. Exploit způsobil opakované pády workerů a několikrát se dostal do pokročilé fáze. Úspěšné spuštění kódu však nebylo potvrzeno. Fix: Opravený GitLab a současně Ruby 3.3.13, 3.4.12 nebo 4.0.9+, pokud jde o vlastní sestavení či kontejner.

    vencour | Komentářů: 0
    dnes 15:44 | Pozvánky

    Konference OpenAlt 2026 proběhne tento víkend 7. a 8. listopadu na FIT VUT v Brně. Jedná se již o 21. ročník této konference, která propojuje otevřené technologie, svobodný software, hardware a lidi, kteří chtějí věci nejen používat, ale také jim rozumět a měnit je k lepšímu. Více o konferenci v příspěvku OpenAlt 2026: technologie, které dávají svobodu na blogu spolku OpenAlt.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | IT novinky

    Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 16 GB varianty Raspberry Pi o 80 dolarů a 16 GB varianty Raspberry Pi Compute Module 5 o 40 dolarů. Cena Raspberry Pi 500+ se nemění.

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

    Francouzské Národní shromáždění přijalo 30. října 2026 poměrem 11 hlasů pro, 10 proti a 14 abstencí pozměňovací návrh I-1358 ke státnímu rozpočtu na rok 2027, který zavádí daň z objemu dat doručovaných uživatelům internetu. Návrh socialistického poslance Laurenta Lhardita stanovuje sazbu 0,055 eura za gigabajt, tedy 55 eur za terabajt. Zatím nejde o platný zákon, ale o dílčí hlasování během prvního čtení rozpočtu. Daň by měli platit

    … více »
    vencour | Komentářů: 2
    včera 12:44 | IT novinky

    Nizozemská vláda ve snaze šetřit a zvyšovat efektivitu s využitím umělé inteligence (AI) hodlá zrušit asi 25.000 pracovních míst ve státní správě. Cílem je postupně dosáhnout ročních úspor až 3,5 miliardy eur (85,2 miliardy Kč). Na konci loňského roku ve státní správě pracovalo rekordních 160.000 lidí. „Nemůžeme pokračovat v tom, co jsme dělali dosud,“ uvedl státní tajemník pro efektivní fungování vlády Eric van den Burg. „Proto

    … více »
    Ladislav Hagara | Komentářů: 34
    včera 12:00 | IT novinky

    Příspěvek na blogu PRUSA 3D představuje fotoaparát CAIM1 (Counter Artificial Intelligence Machine 1). Uměle vytvořený obsah je každým dnem těžší rozeznat od skutečných záběrů či fotografií, což podrývá důvěryhodnost žurnalistiky, archivních materiálů i každodenní tvorby obsahu. Fotoaparát CAIM1 byl vyvinut právě k tomu, aby ověřoval původ fotografií a videí přímo během jejich pořizování. Uvnitř fotoaparátu se nachází hardwarová Web3 peněženka se zabezpečovacím čipem Tropic Square TROPIC01.

    Ladislav Hagara | Komentářů: 7
    včera 00:11 | Nová verze

    Jonathan Thomas oznámil vydání nové verze 4.1 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

    Ladislav Hagara | Komentářů: 0
    31.10. 23:33 | Zajímavý článek

    Při běžné migraci virtuálního stroje mezi hypervizory se jeho MAC adresa přesune na jiný leaf switch. EVPN tuto změnu distribuuje pomocí BGP Type-2 route a MAC mobility sequence number. Problém nastává, pokud útočník podvrhne zdrojovou MAC adresu jiného zařízení. Leaf může změnu interpretovat jako legitimní přesun MAC a rozšířit ji přes BGP do celé fabric. Výsledkem může být přesměrování provozu určeného původnímu zařízení. Autor článku rozebírá možnosti detekce pomocí sledování MAC moves, BGP route reflektorů a kontroly na přístupové vrstvě.

    vencour | Komentářů: 0
    31.10. 15:11 | Nová verze

    Vývojáři desktopového prostředí Enlightenment (Wikipedie) a souvisejících knihoven Enlightenment Foundation Libraries (EFL) vydali nové verze. Enlightenment byl vydán ve verzi 0.28.0 a Enlightenment Foundation Libraries ve verzi 1.29.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2965 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Aplikace pro přípravu a tisk štítků

    24.4.2014 21:57 | Přečteno: 2730× | Výběrový blog

    Před nedávnem jsem zprovoznil můj hobby projekt www.123stitky.cz pro on-line přípravu a tisk samolepících štítků. V tomto zápisku se pokusím popsat technologické zázemí této webové aplikace. Doufám, že někoho inspiruje, případně někomu pomůže při výběru technologií pro jeho projekt.

    www.123stitky.cz

    Tato služba slouží pro přípravu a tisk samolepicích dopisních štítků. Zajímavé je, že tuto problematiku řeší mnoho programů (např. PC Štítky, ale nenašel jsem žádné internetové řešení. Proto jsem vytvořil jednoduchou aplikaci, od které jsem chtěl:

    Generování štítků

    Z mého pohledu byla jasná volba programovacího jazyka na server - Python 2.7. Pro generování štítků jsem pak použil modul reportlab, který dokáže přímo generovat PDF. Kolem toho vznik jednoduchý modul pro převedení vstupního Python dictionary na PDF se štítky.

    Pro generování podacícho archu jsem si napsal vlastní řešení. Protože podací arch je nabízen Českou poštou volně ke stažení jako DOC, chtěl jsem jej použít jako vstup. Pro převod ideálně posloužily LibreOffice a to hned dvakrát:

    Vyplnění podacího archu je možné několika způsoby, buď klasické replace() nad řetězci, případně nad naparsovaným XML stromem. Nicméně já jsem využil šablonovací engine z web2py. Výhodou je automatické escapování symbolů jako & < a >, které se může objevit v datech od uživatele.

    Tento šablonovací engine je samostatně použitelný i mimo web2py framework následujícím způsobem:

    from gluon.template import render
    
    data = {'jmeno': 'Karel', 'prijmeni': 'Novak'}
    tmpl = 'Ahoj, jmenuji se {{=jmeno}} {{=prijmeni}}'
    print render(content=tmpl, context=data)
    Ahoj, jmenuji se Karel Novak
    

    V tomto okamžiku máme modul, který pomocí Reportlabu vygeneruje štítky (případně včetně QR kódu nebo EAN čárového kódu) a vyplní šablonu FODT, kterou převede unoconvem do PDF. Poslední krůček je pospojování více PDF do jednoho vícestránkového pomocí pdftk.

    Webová aplikace

    Pro vývoj samotné webové aplikace jsem použil výše zmíněný modul pro generování štítků. Zbývalo "jen" napsat webové GUI. Protože jsem znovu nechtěl vymýšlet kolo, zapojil jsem Bootstrap, který za mě udělá všechno to CSS a i nějaký ten JavaScript.

    Server běží na frameworku web2py, který mi přijde jako ideální rozšíření Pythonu, přestože některé věci by se daly z pohledu čistoty jazyka asi udělat lépe (například používání globálního namespace pro proměnné request, response, session apod.). Výborná je separace Model-View-Controller, což (mimo jiné) ztěžuje vytváření spaghetti-kódu.

    Přestože web2py disponuje vlastním webovým serverem, je tento vhodný pouze pro vývoj. Pro ostré nasazení na webu jsem použil web2py propojení s Apachem pomocí mod_wsgi (dokumentace).

    Pro renderování tabulky pro zadávání adres, popřípadě jiných údajů, používám Handsontable. Výhodou je možnost použití Control+C, Control+V například z MS Excel nebo z LibreOffice Calc.

    Pro ukládání stavu aplikace na straně klienta je použito Web Storage podporované napříč prohlížeči. Do aplikace je tak možné dopisovat průběžně další hodnoty, tak jak přibývají a před tím, než se jde na poštu je vytisknout na štítky a na podací arch. Aplikaci je tak možné používat bez registrace, bez přihlašování a na straně serveru dokonce bez udržování session.

    Databáze

    Pro ukládání vygenerovaných PDF je jistě možné použít lokální filesystém serveru, ale z mého pohledu mi přišlo řádově lepší použít databázový stroj. Po kladných zkušenostech s dokumentovou databází MongoDB a jeho Pythonovským driverem pymongo jsem se rozhodl použít i modul gridfs.

    Samotné GridFS je specifikace v rámci MongoDB, jak ukládat data větší než maximální velikost jednoho BSON dokumentu (16MB). Přestože generovaná PDF se do tohoto limitu vejdou, nabízí Python modul gridfs elegantní file-like rozhraní pro ukládání takových souborů do databáze.

    Postup při generování dat je pak následující:

    1. Vygenerování PDF štítků a podacího archu
    2. Vygenerování UUID version 4 pro identifikaci PDF (ObjectId jsem zavrhl, protože při vhodném časování tvoří číselnou řadu a bez udržování session by bylo možné získat štítky druhých lidí)
    3. Uložení PDF do GridFS pod UUID (pymongo transparentně řeší serializaci Python UUID objektu do databáze)
    4. Předání UUID pomocí AJAXu klientské aplikaci
    5. Stažení/zobrazení PDF v klientské aplikaci

    Protože GridFS soubor je v Pythonu file-like objekt, je možné jej jednoduše odstreamovat přímo z web2py. V modelu si udělám připojení k databázi a instanci GridFS:

    db = MongoClient(settings.db_uri).stitky123
    fs = gridfs.GridFS(db, 'files')
    
    V controlleru pak:
    def download():
        id = request.args[0]
    
        id = uuid.UUID(id)
        db_fr = fs.get(id)
    
        response.headers['Content-Type'] = db_fr.content_type
    
        return response.stream(db_fr, 1024)
    

    Vše dohromady

    Celé zprogramováno a nainstalováno na Amazon EC2 micro instanci s Debianem. Včetně klikání na AWS, Active24, StartSSL, konfigurace micro instance, Apache, HTTPS, web2py, psaní dokumentace a testování jsou www.123stitky.cz cca 20 hodin práce. Doufám, že někomu alespoň část této reportáže bude užitečná a použije kombinaci Python+web2py+MongoDB+GridFS v některém svém projektu.        

    Hodnocení: 90 %

            špatné • dobré        

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

    Komentáře

    Vložit další komentář

    24.4.2014 22:34 franta
    Rozbalit Rozbalit vše Re: Aplikace pro přípravu a tisk štítků
    Otázka zní, zda vůbec používat webové aplikace, tz. posílat data někam...
    25.4.2014 20:30 Jan Švec | skóre: 2 | blog: honzas | Plzeň
    Rozbalit Rozbalit vše Re: Aplikace pro přípravu a tisk štítků
    Ono s online službami je to obdobné jako se služebnictvem - buď jim člověk dá důvěru a něco si ulehčí, nebo nedá a vše si dělá sám. Ta volba je možná vždy.
    24.4.2014 23:29 Jiří
    Rozbalit Rozbalit vše Re: Aplikace pro přípravu a tisk štítků
    Na štítky a vizitky používám vizitkový guru. Na netu jde dohledat i starší verze, co běží jenom v Javascripu.
    25.4.2014 06:37 Normotron | skóre: 4 | blog: truhlarina
    Rozbalit Rozbalit vše Re: Aplikace pro přípravu a tisk štítků
    Popravdě jsem si nejdříve pohrával s myšlenkou, že bych něco takového do budoucna potřeboval pro pripravto.cz do budoucna (hlavně do výrobní části). Jenže pak jsem zjistil, že pro mně je důležitá upravitelnost šablony výsledného výstupu.

    Pěkné a zrovna to Handsometable se i docela líbí, má to integraci s HTML5 kontrolou pro input? tzn s pattern="" a type="" ? Nebo to je potřeba dodělat ručně?
    Navrhování a příprava výroby nábytku - připravto.cz
    25.4.2014 20:24 Jan Švec | skóre: 2 | blog: honzas | Plzeň
    Rozbalit Rozbalit vše Re: Aplikace pro přípravu a tisk štítků
    Handsontable je čistý JavaScript, takže integrace s HTML5 není. Nicméně validace se dá naprogramovat v JS, příklad.
    25.4.2014 07:09 Filip Jirsák
    Rozbalit Rozbalit vše Re: Aplikace pro přípravu a tisk štítků
    Máte ověřené, jak je to s ochranou osobních údajů, když ta vygenerovaná PDF ukládáte na serveru? Potažmo i když tam ty adresy jen zpracováváte. Já chápu, že vy jen poskytujete službu a žádné osobní údaje zpracovávat nechcete, ale ÚOOÚ by se na to mohl dívat jinak (možná, nevím, z mého pohledu se ÚOOÚ bohužel chová nepředvídatelně).
    25.4.2014 21:14 Jan Švec | skóre: 2 | blog: honzas | Plzeň
    Rozbalit Rozbalit vše Re: Aplikace pro přípravu a tisk štítků
    Můj laický úsudek říká, že z pohled zákona jsou www.123stitky.cz na úrovni zpracovatele OÚ a registrace na ÚOOÚ není nutná. PDF jsou ukládána kvůli zpracování a jejich ID jsou (pseudo)náhodná (viz UUID 4), což spolu s HTTPS zamezuje jejich odposlechnutí/uhodnotí třetí stranou. Navíc jsou po 30 minutách odstraněny z databáze.
    26.4.2014 08:37 Filip Jirsák
    Rozbalit Rozbalit vše Re: Aplikace pro přípravu a tisk štítků
    Pokud byste byl "jen" zpracovatel, musel byste mít se správcem údajů uzavřenou písemnou smlouvu. To, že jsou ta PDF po půl hodině odstraněna z databáze by ÚOOÚ asi nezajímalo. Mně by jenom přišlo hloupé, kdybyste kvůli něčemu, co dáte zadarmo k dispozici ostatním, měl ještě problémy s ÚOOÚ.
    Petr Tomášek avatar 25.4.2014 12:00 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Aplikace pro přípravu a tisk štítků
    Kua, jaká aplikace? Nějaká blbá webová stránka :-(
    multicult.fm | monokultura je zlo | welcome refugees!

    Založit nové vlákno • Nahoru

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