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 10:50 | Zajímavý software

Mozilla.cz informuje o dvou nových experimentálních funkcích v programu Firefox Test Pilot (zprávička). Snooze Tabs slouží k odkládání panelů na později. Pokud vám někdo pošle odkaz, ale vy nemáte čas si stránku hned přečíst, můžete si naplánovat otevření panelu na později. Stačí kliknout na tlačítko a vybrat, kdy chcete panel otevřít. Firefox panel schová a ve vybraný čas znovu otevře. Pulse umožňuje ohodnotit, jak dobře stránka funguje, např. jak rychle se ve Firefoxu načetla. Podle nasbíraných hodnocení pak bude Mozilla prohlížeč ladit.

Ladislav Hagara | Komentářů: 1
dnes 02:00 | IT novinky

V Barceloně probíhá veletrh Mobile World Congress 2017. Nokia na něm například představila (360° video na YouTube) novou Nokii 3310 (YouTube). BlackBerry představilo BlackBerry KEYone (YouTube) s QWERTY klávesnicí. LG představilo LG G6 (YouTube). Huawei HUAWEI P10 a P10 Plus. Samsung představil tablet Galaxy Tab S3.

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

Komunita kolem Linuxu From Scratch (LFS) vydala Linux Linux From Scratch 8.0 a Linux From Scratch 8.0 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází především s Glibc 2.25 a GCC 6.3.0. Současně bylo oznámeno vydání verze 8.0 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

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

Byla vydána verze 0.10.0 webového prohlížeče qutebrowser (Wikipedie). Přehled novinek v příspěvku na blogu. Vývojáři qutebrowseru kladou důraz na ovladatelnost pomocí klávesnice a minimální GUI. Inspirovali se prohlížečem dwb a rozšířeními pro Firefox Vimperator a Pentadactyl. Prohlížeč qutebrowser je naprogramován v Pythonu a využívá PyQt5. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU GPL 3.

Ladislav Hagara | Komentářů: 19
25.2. 16:22 | Nová verze

Po pěti měsících od vydání Waylandu a Westonu 1.12.0 oznámil Bryce Harrington (Samsung) vydání Waylandu 1.13.0 a Westonu 2.0.0.

Ladislav Hagara | Komentářů: 3
24.2. 13:37 | Bezpečnostní upozornění

Společnost Cloudflare (Wikipedie) na svém blogu potvrdila bezpečnostní problém s její službou. V požadovaných odpovědích od reverzní proxy byla odesílána také data z neinicializované paměti. Útočník tak mohl získat cookies, autentizační tokeny, data posílaná přes HTTP POST a další citlivé informace. Jednalo se o chybu v parsování HTML. Zneužitelná byla od 22. září 2016 do 18. února 2017. Seznam webů, kterých se bezpečnostní problém potenciálně týká na GitHubu.

Ladislav Hagara | Komentářů: 1
24.2. 08:22 | Nová verze

Byla vydána první beta verze Ubuntu 17.04 s kódovým názvem Zesty Zapus. Ke stažení jsou obrazy Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu GNOME, Ubuntu Kylin, Ubuntu Studio a Xubuntu. Dle plánu by Ubuntu 17.04 mělo vyjít 13. dubna 2017.

Ladislav Hagara | Komentářů: 56
23.2. 17:53 | Bezpečnostní upozornění

Google na svém blogu věnovaném počítačové bezpečnost informuje o nalezení "reálného" způsobu generování kolizí hašovací funkce SHA-1. Podrobnosti a zdrojové kódy budou zveřejněny do 90 dnů. Již dnes lze ale na stránce SHAttered nalézt 2 pdf soubory, jejichž obsah se liší a SHA-1 otisk je stejný (infografika).

Ladislav Hagara | Komentářů: 41
23.2. 17:51 | Nová verze

Vyšla nová verzia open source software na správu a automatizáciu cloudových datacentier Danube Cloud 2.4. Danube Cloud je riešenie postavené na SmartOS, ZFS, KVM a zónach. Obsahuje vlastnosti ako integrovaný monitoring, DNS manažment, zálohy, a samozrejme rozsiahlu dokumentáciu.

dano | Komentářů: 15
23.2. 17:46 | Pozvánky

V Plzni se 3. až 5. března 2017 uskuteční AIMTEChackathon. Je to akce pro vývojáře, grafiky, webdesignéry i veřejnost. Akci provází zajímavé přednášky IT odborníků. Více o programu a možnosti přihlášení na stránkách akce.

cuba | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 724 hlasů
 Komentářů: 68, poslední dnes 07:29
    Rozcestník

    Dotaz: Poraďte kompaktní framework pro vývoj webového GUI

    Zdeněk Zámečník avatar 22.6.2010 21:05 Zdeněk Zámečník | skóre: 26
    Poraďte kompaktní framework pro vývoj webového GUI
    Přečteno: 727×

    Už delší čas se rozmýšlím a pátrám, jaký jazyk nebo ještě lépe menší framework použít pro vývoj webového GUI. Jelikož se nejedná o žádný masově navštěvovaný web, není zde kladen důraz na výkon, ale o to více na bezpečnost.

    Moje představy:

    • Co nejmenší paměťová náročnost
    • Pokud možno integrovaný webový server s podporou SSL
    • Možnost statické kompilace včetně závislostí, aby aplikace byla snadno přenosná
    • Možnost použít nějaký šablonovací systém

    Asi bych měl poznamenat že se vyhýbám Javě, protože si myslím, že se vyplatí jí nasazovat jen u rozsáhlých projektů, nejvíc mi na ní vadí zbytečná paměťová náročnost. Nicméně pokud mne někdo chcete přesvědčit o opaku, nebráním se.

    Už dlouho píši takovéto jednoduché aplikace v PHP, ale popravdě si nemyslím, že bych se v něm naučil řešit problémy čistě a rád bych přesedlal na jiného koně.

    Zaujal mne Python, líbí se mi jeho syntaxe a multiplatformnost. Co mě trošku zaráží, je absence kompatibility mezi 2.x a 3.x verzemi, ale v zásadě se nejedná o stěžejní problém. Vyzkoušel jsem si tedy Django, ale narazil jsem na zcela zásadní problémy. Lze v něm sice spousty řešení napsat velmi rychle, nicméně pokud chcete udělat něco, s čím autoři nepočítali, můžete se snadno dostat do slepé uličky.

    Pak jsem našel CherryPy, ve kterém jsem si zatím nic moc nevyzkoušel, ale asi se blíží mým představám nejvíce. Nesmířil jsem se ale s tím, že jeho webový server sežere přes 100MB paměti i s tím nejjednodušším skriptem a pravděpodobně neumí SSL.

    Víte ještě o něčem jiném, co by stálo za vyzkoušení nebo mi nějak napomohlo?


    Řešení dotazu:


    Odpovědi

    22.6.2010 21:16 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI
    Proč by CherryPy nemělo umět SSL, když to umí jeho HTTP server?
    Zdeněk Zámečník avatar 22.6.2010 22:09 Zdeněk Zámečník | skóre: 26
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI

    Máš pravdu. Podle CherryPy wiki umí HTTPS od verze 3.0+. To mě docela mile potěšilo.

    Ale stejně vidím problém v té paměti. Jelikož si chci dát dohromady GUI pro správu virtuálních strojů, rád bych co nejvíce paměti ušetřil právě pro ty virtuály. Ale možná by se vyplatilo použít Lighttpd a CherryPy na něj napojit skrz WSGI.

    23.6.2010 01:07 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI
    Ono vůbec podpora SSL je jen takový implementační detail :-), který záleží na tom, na který webový server se aplikace posadí (díky WSGI je možné propojit skoro cokoliv s čímkoliv).

    Padlo tu nějaké číslo - 100 MB zabrané paměti. Jediný pythonový proces, který mi na serveru běží a zabírá tolik paměti (kromě MySQL jediný vůbec :-)), je Plone, což je aplikace nad Zope, jedním z nejšílenějších pythonových počinů. A v Zope to hádám stejně dělat nebudeš :-)

    Opravdu ti proces pythonové webové aplikace (se samostatným webserverem) zabírá 100 MB? Nezaměnil jsi třeba hodnoty RSS a VSZ ve výpisu ps? Opravdu po spuštění webovky klesne volná paměť o 100 MB?

    Pokud záleží na každém kilobajtu, nejlepší to asi bude udělat v C++ :-), jenom spuštění aplikace v Pythonu může zabrat jednotky desítek MB. Ale ne tolik. Nad hodnotu 100 MB to může pak časem nabobtnat, pokud se nějak neuváženě pracuje s pamětí (může stačit třeba jednorázové načtení velkého množství dat).

    Teď trochu mimo, paměť by se dala ušetřit tím, že po dobu nečinnosti webová aplikace nepojede, což se celkem snadno zařídí spuštěním z nějakého minimalistického webového serveru přes FastCGI (nebo v horším případě CGI).

    Mimochodem, co přesně je myšleno pojmem webové GUI? Dnes je to trochu buzzword, pod kterým bych si představil nějakou javascriptovou a AJAXovou šílenost v ExtJs, která se snaží ve webovém prohlížeči svým vzhledem a ovládáním co nejvíce přiblížit MS Office (nebo aspoň Gmailu). I takové věci v Pythonu jsou :-) Ale nejspíš máš na mysli prostě "jen" webovou aplikaci.

    Volbu Pythonu chválím. Myslím si (a nejen já), že je to vhodná platforma i pro web; spolu s Ruby asi nejvhodnější. Ano, na Ruby se můžes také podívat, oba světy mi přijdou podobné v existenci jak "velkých frameworků" Django, Rails, tak i menších a pružnějších řešení typu CherryPy, Sinatra (a spousty dalších). V obou je pak na výběr hromada šablonovacích enginů, ORM atd.

    Já osobně pro své projekty používám Werkzeug. Podobně jako CherryPy je to spíše knihovna řešící "jen" request a response objekty a mapování (routing) URL, jenom to na rozdíl od CherryPy a jiných dělá stylem, který se mi více líbí. Takových knihoven (nebo frameworků či mini-frameworků) existuje víc (namátkou WebOb, web.py, ...).

    (Ne)kompatibilita mezi Pythonem 2.x a 3.x se na první pohled opravdu může zdát zvláštně. Vypadá to, že situace okolo 3.x není ještě moc dobrá pro webový vývoj, především, pokud mám aktuální informace, kvůli absenci specifikace WSGI. To je můj názor a teď ho do internetové diskuze píšu asi potřetí, tak bych zase nerad, abych tu nechtěně vytvořil nějakou fámu o totální nepoužitelnosti Pythonu 3 :-) Je to věc, která se může rychle změnit a konečně dá se ověřit na webu, jaké frameworky/knihovny už umí Python 3 a jak. V případě pochybností bych doporučil použít Python 2.x s tím, že pozdější přechod na 3.x by neměl být takový (nebo vůbec nějaký) problém. Myslím si ale, že Python v tomhle není sám, podobná nekompatibilita existuje třeba mezi verzemi Ruby (1.8 a 1.9).
    Zdeněk Zámečník avatar 23.6.2010 10:12 Zdeněk Zámečník | skóre: 26
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI

    Opravdu to podle mne tolik paměti sežere. Tedy abych upřesnil - RSS je size pouze 9MB, ale VSZ 220MB. Pokud si zjistím stav paměti před spuštěním (třeba pomocí free), jsem na 22MB obsazené paměti, po spuštění na 160MB. Spouštím si jednoduchý skript "Hello world!" z jejich wiki, který běží na integrovaném webovém serveru.

    Takto vypadá výpis z ps:

    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root     19774  0.3  1.7 220156  9352 pts/0    Sl+  08:23   0:00 python hello.py
    

    Tohle se dá vytáhnout z kernelu:

    Name:	python
    State:	S (sleeping)
    SleepAVG:	98%
    Tgid:	19774
    Pid:	19774
    PPid:	19694
    TracerPid:	0
    FNid:	101
    Uid:	0	0	0	0
    Gid:	0	0	0	0
    FDSize:	256
    Groups:	0 1 2 3 4 6 10 
    envID:	101
    VPid:	19774
    PNState:	0
    StopState:	0
    VmPeak:	  220156 kB
    VmSize:	  220156 kB
    VmLck:	       0 kB
    VmHWM:	    9352 kB
    VmRSS:	    9352 kB
    VmData:	  139192 kB
    VmStk:	      84 kB
    VmExe:	       4 kB
    VmLib:	    6380 kB
    VmPTE:	     248 kB
    StaBrk:	0783a000 kB
    Brk:	07a6b000 kB
    StaStk:	7fff125a1600 kB
    Threads:	14
    SigQ:	0/38912
    SigPnd:	0000000000000000
    ShdPnd:	0000000000000000
    SigBlk:	0000000000000000
    SigIgn:	0000000001001000
    SigCgt:	0000000180004203
    SigSvd:	0000000000000000
    CapInh:	000000007dcceeff
    CapPrm:	000000007dcceeff
    CapEff:	000000007dcceeff
    Cpus_allowed:	7fffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff
    Mems_allowed:	00000000,00000001
    TaskUB:	101
    MMUB:	101
    

    Teď mne napadlo hledat, jak snížit počet threadů, ve kterých ten server běží a zadařilo se, dostal jsem se těsně pod 50MB :-)

    Úplně o každý kilobajt ani megabajt mi nejde, hledám kompromis mezi časovou (z hlediska vývoje) a paměťovou náročností.

    Přesně tak, webovým GUI mám na mysli webovou stránku prošpikovanou Ajaxem/Java scriptem, konkrétně mne v tomto ohledu velmi zaujalo použití jQuery a jQueryUI. Koukám že ExtJs je podobná záležitost. Server side poběží pouze v Pythonu a SQLite

    Ruby vypadá zajímavě, ale nijak moc jsem jej nezkoumal. Možná proto, že nemám příliš důvěry v Ruby on Rails :-D Ale to je jen můj osobní postoj.

    Rozhodně díky za vyčerpávající odpověď. Vypadá to, že se asi začnu zabývat CherryPy, když už se zadařilo snížit paměťové nároky. V tuto chvíli je pro mne už asi nejdůležitější jen dokumentace.

    23.6.2010 13:37 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI
    Zvláštní. Nainstaloval jsem si Debian Lenny (amd64) do virtualního stroje (kvm), jen základní systém a python-cherrypy3. Z paměti je zabráno 31 MB (jak hlásí htop nebo prostřední řádek výpisu free). Spustím jakýkoliv skript v adresáři /usr/share/doc/python-cherrypy3/tutorial (třeba 01 nebo 09) a zabraná paměť se vyšplhá na 40 MB:
    $ ps aux | grep [p]ython
    messa     2716  1.0  2.1 173176 11224 pts/1    Sl+  07:26   0:01 python tut01_helloworld.py
    $ cat /proc/2716/status
    Name:	python
    State:	S (sleeping)
    Tgid:	2716
    Pid:	2716
    PPid:	2499
    TracerPid:	0
    Uid:	1000	1000	1000	1000
    Gid:	1000	1000	1000	1000
    FDSize:	256
    Groups:	20 24 25 29 44 46 1000 
    VmPeak:	  173180 kB
    VmSize:	  173176 kB
    VmLck:	       0 kB
    VmHWM:	   11224 kB
    VmRSS:	   11224 kB
    VmData:	  105992 kB
    VmStk:	     148 kB
    VmExe:	    1172 kB
    VmLib:	    4672 kB
    VmPTE:	     216 kB
    Threads:	13
    SigQ:	0/4095
    SigPnd:	0000000000000000
    ShdPnd:	0000000000000000
    SigBlk:	0000000000000000
    SigIgn:	0000000001001000
    SigCgt:	0000000180004003
    CapInh:	0000000000000000
    CapPrm:	0000000000000000
    CapEff:	0000000000000000
    CapBnd:	ffffffffffffffff
    Cpus_allowed:	00000001
    Cpus_allowed_list:	0
    Mems_allowed:	00000000,00000001
    Mems_allowed_list:	0
    voluntary_ctxt_switches:	193
    nonvoluntary_ctxt_switches:	77
    $ free -m
                 total       used       free     shared    buffers     cached
    Mem:           499        182        317          0         16        124
    -/+ buffers/cache:         40        459
    Swap:          478          0        478
    
    
    Zdeněk Zámečník avatar 23.6.2010 16:13 Zdeněk Zámečník | skóre: 26
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI
    Opravdu zajímavé. Já jsem si to teď zkusil u sebe na Fedoře a taky mi sežralo jen pár MB. Stroj na kterém jsem to zkoušel je virtuál v OpenVZ, tak je tam možná nějaký nedostatek v kernelu. Tím pádem problém s pamětí v CherryPy v podstatě neexistuje :)
    23.6.2010 16:46 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI
    Teď jsem to na OpenVZ taky vyzkoušel a hello world v CherryPy skutečně dle výpisu free (na tom samém virtuálním stroji) zabral 105 MB. Ovšem z volné paměti fyzického stroje ubyly jen jednotky MB.
    Zdeněk Zámečník avatar 23.6.2010 23:41 Zdeněk Zámečník | skóre: 26
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI

    Příští týden budu mít více času, tak to schválně zkusím na různých verzích OpenVZ. Někde mi běží kromě stable verzí i různé vývojové. Snad je to jen nějaká maličkost. Možná je tam implementována alokace paměti nějakým jiným způsobem než v defaultním kernelu. Docela by bodlo přijít tomu na kobylku.

    Moc díky za pomoc. Už jsem pomalu uvažoval o upuštění od CherryPy, ale tohle mě nakoplo a můžu postupovat dál :-)

    23.6.2010 11:07 Sten Fil | skóre: 4
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI
    qooxdoo.org

    dhtmlx.com



    qooxdoo je trochu komplikovanejsi v tom ze se napsany kod "preklada" pythonim "prekladacem" Takze prvni pokusy jsou trochu obtiznejsi.
    23.6.2010 17:48 __dark__
    Rozbalit Rozbalit vše Re: Poraďte kompaktní framework pro vývoj webového GUI
    Qooxdoo jde používat stejně jako jakékoliv jiné knihovny, stačí použít třeba QxBuild;-)

    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.