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

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

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

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    včera 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 14
    19.5. 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 7
    19.5. 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    19.5. 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    19.5. 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

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

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (23%)
     (9%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 47 hlasů
     Komentářů: 5, poslední včera 20:57
    Rozcestník

    Vložit další komentář
    Vašek Lorenc avatar 3.8.2007 15:01 Vašek Lorenc | skóre: 27
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Docela hezké shrnutí, ale fastCGI není zase tak špatná věc.. právě kvůli možnosti pouštět ho pod svým uid, narozdíl od mod_python.
    ...včetně majestátného loosa
    Věroš avatar 3.8.2007 15:05 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Jo, to máš pravdu, to mi nedošlo, protože ho nepoužívám. Ale CGI je taky možné při troše dobré vůle setuid()ovat.
    Školím Ansible
    3.8.2007 15:35 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    fast_cgi môže navyše bežať aj na inom (a nie len jednom) stroji. setuid CGI však nemá výhody fastcgi. Btw, fast_cgi je podľa popisu v tomto blogu "aplikačný server".
    Vašek Lorenc avatar 3.8.2007 17:36 Vašek Lorenc | skóre: 27
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Jak už tu psali jiní, ono to není jen o tom setuid(). Já s tím například urychlil běh jednoho pythonovského webového wiki+blog projektu, který veškeré HTTP požadavky tlačil přes sebe.. v původním CGI prostředí to bylo naprosto nepoužitelné (zvlášť na naší studentské aise, které spuštění jednoho python procesu trvá skoro vteřinu). FastCGI sice vyžadovalo drobné úsilí na přepsání, ale od té doby mi stránky jedou alespoň trochu použitelně..

    Paralelní požadavky to zpracovávat umí (záleží na tom, jak je napsaný ten pythonovský program), navíc (opět už někde zmíněno níže) to není závislé na Apachi.

    Ale fakt se mi to shrnutí líbilo.. Ještě pár příspěvků, uděláš novou revizi.. a bude z toho pěkné mini-howto :)
    ...včetně majestátného loosa
    Věroš avatar 3.8.2007 17:43 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Fajn, a kdo zpracuje tu sekci o FastCGI a kdo se zmíní o WSGI? K tomu jsem se naživo taky nedostal.
    Školím Ansible
    3.8.2007 15:41 Radek Podgorny | skóre: 16
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    FCGI slepa vetev? To snad ne... Nepouzivam nic jineho...

    Treba kdyz clovek nechce pouzivat apache, je mod_python ze hry. CGI je prilis pomale/hloupe (pokazde init, nedrzi stav, ...). Takze pro mne z toho vychazi FCGI jako vitez. ;-)

    ...pravda, apl. servery jsem jeste neprozkoumaval, ale na druhou stranu mi reseni webserver+fcgi vzdy stacilo...
    Věroš avatar 3.8.2007 16:20 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Beru zpátky tvrzení, že FastCGI je slepá větev. Nezkoušel jsem ho osobně, jen jsem letmo četl návod (já vím, tak to dopadá, když člověk píše o něčem, co nemá osahané).

    Umí FastCGI obsluhovat více paralelních požadavků?
    Školím Ansible
    3.8.2007 17:04 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    FastCGI je protokol. Tudíž tvoje otázka je podobná otázce, zda HTTP umí obsluhovat více paralelních požadavků. Mrkni třeba na flup.
    Math, as Barbie says, is hard.
    andree avatar 3.8.2007 17:04 andree | skóre: 39 | blog: andreeeeelog
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    vzhladom na to, ze napr. aj lighttpd pouziva fastcgi (napr. aj pre php), a je pritom rychlejsi/menej-nenazrany ako apache (jedno z googleovanych porovnani), tak asi fakt nebude az tak dead... a kedze sa to pouziva na to php, tak to asi snad bude zvladat aj paralelne poziadavky (ale to len tipujem, dokaz v ruke nemam, netestoval som to) :)
    3.8.2007 17:42 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    fastcgi je sekvenčné. paralelizmus (http požiadaviek) sa rieši viacnásobným spustením daemona a tým, že o http réžiu sa stará iný proces (a teda miesto čakania na pomalého klienta sa môže venovať ďaľšej úlohe).
    andree avatar 3.8.2007 18:27 andree | skóre: 39 | blog: andreeeeelog
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    myslel som si :)
    Věroš avatar 5.8.2007 01:52 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    V tom případě ale u FastCGI ztrácíme výhodu jednoduché synchronizace dat pro více požadavků, ne?

    Zkusím popsat situaci, kterou mám a rád bych se zeptal, jak se řeší s FastCGI?
    u portálu s větší návštěvností (pěkně to popsané v starším Leošově článku) je výhodné držet si v cache věci, které jsem už načetl z databáze - ušetřím tím čas, který normálně strávím balením řádků z databáze (např.článků) do objektů. Do objektů je balím proto, že se s nimi potom dobře pracuje - třeba v šablonovacím systému. Při případné změně řádku v DB (editace článku) potom elegantně vysypu tu část cache, která je dotčená a běžím dál.
    Chápu, že pokud mám aplikaci v jednom procesu, který se dělí na více vláken, můžu cache jednoduše vysypat na jednom místě.

    Oproti tomu, pokud mám více procesů, musím všem procesům dát na vědomí, že se vysypat cache, což je velmi netriviální na implementaci (blbě se to programuje, blbě se to ladí, nevím kolik těch procesů je a tak).

    Více paralelních požadavků potřebuju, protože od určité návštěvnosti už jedna fronta požadavky obsluhovat stíhat nebude.

    ---

    Uvítám i myšlenky na efektivnější řešení :-)

    Memcached jsem zkoumal, ale nevěřím tomu, že picklovat a unpicklovat složité Pythonové objekty bude stejně rychlé jako držet je v paměti.

    Vím, že od další určité hranice stejně budu potřebovat stejně více procesů - GIL je docela potvora, a synchronizaci mezi více procesy, ne-li počítači se nevyhnu. (POSH je zajímavá věc a nakonec i ten memcached pro synchronizaci mezi více počítači jsem ochoten vzít na milost).
    Školím Ansible
    5.8.2007 06:47 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Chápu, že pokud mám aplikaci v jednom procesu, který se dělí na více vláken, můžu cache jednoduše vysypat na jednom místě.

    Oproti tomu, pokud mám více procesů, musím všem procesům dát na vědomí, že se vysypat cache, což je velmi netriviální na implementaci (blbě se to programuje, blbě se to ladí, nevím kolik těch procesů je a tak).
    Opravdu si myslíš, že vysypat cache sdílenou více vlákny je bez synchronizace košér? To je ovšem velmi naivní představa.
    Více paralelních požadavků potřebuju, protože od určité návštěvnosti už jedna fronta požadavky obsluhovat stíhat nebude.
    Jedná blokující fronta ti nebude stačit velmi brzy.

    Od určité návštěvnosti budeš potřebovat více web serverů. Vertikálně škálovat nelze donekonečna.
    Memcached jsem zkoumal, ale nevěřím tomu, že picklovat a unpicklovat složité Pythonové objekty bude stejně rychlé jako držet je v paměti.
    Memcached určitě nebude nic picklovat. To bude dělat Python a pokud myslíš, že pomalu, pak zkus jiný jazyk, nebo ukládej objekty jiným (lepším) způsobem;-).
    Math, as Barbie says, is hard.
    Věroš avatar 5.8.2007 10:42 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Už se asi se bavíme každý o něčem jiném. Mě by zajímalo hlavně jak (lehce) se řeší ve FastCGI věci se sdílením dat mezi více procesy.
    Opravdu si myslíš, že vysypat cache sdílenou více vlákny je bez synchronizace košér? To je ovšem velmi naivní představa.
    Když cache má GET, PUT i FLUSH implementované atomicky, tak by neměl být problém. Pletu se? Oproti tomu udělat synchronizaci v cache mezi více procesy je IMHO řádově složitější. Memcached by to teoreticky řešil.
    Memcached určitě nebude nic picklovat. To bude dělat Python a pokud myslíš, že pomalu, pak zkus jiný jazyk, nebo ukládej objekty jiným (lepším) způsobem.
    Picklovat bude Python, ale nedokážu si představit, jestli režie picklování nebude větší než natahování z databáze. Objekty, které teď držím v cache jsou poměrně složité. Jediný způsob, jak to zjistit je to vyzkoušet. (zkusím a napíšu). Jestli existuje něco pohodlnějšího, tak se rád nechám poučit.

    Nenašel jsem zatím jazyk, který by mně osobně vyhovoval více než Python. A že jsem se snažil. (no flame please :-) ).
    Od určité návštěvnosti budeš potřebovat více web serverů. Vertikálně škálovat nelze donekonečna.
    Že časem budu potřebovat víc webserverů je mi už teď naprosto jasný, zatím naštěstí mám dost času, myslím, že ještě rok mi ještě bude stačit posilovat hardware :-)
    Školím Ansible
    5.8.2007 11:38 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Ty totiž pleteš dohromady FastCGI a memcached. Tedy co se memcached týče - skutečně se chová atomicky, jak popisuješ a problém bys neměl. K (de)serializaci objektů - nedovedu si představit, že bys cachoval a serializoval něco, co bude rychlejší načíst z databáze.

    Nejdříve začni pracovat, vypusť první verzi mezi lidi, počkej měsíc, dva, tři a pak stejně zjistíš, že potřebuješ řešit úplně jiné problémy, než sis myslel a mohl jsi tak mít aplikaci funkční o pár týdnů dříve. Pokud tedy smím vycházet z toho, že jeden server (časem maximálně oddělení DB) a optimalizace ti pár měsíců vystačí.
    Math, as Barbie says, is hard.
    6.8.2007 08:29 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    FastCGI to nerieši, necháva to na aplikácii. Jednoduchý dôvod: neexistuje univerzálne riešenie (to si len pár OOP-istov vysnívalo).

    IMHO, lepšie ako zdielaná cache je prekopanie aplikácie, človek sa môže dostať do situácie, keď mu na CRUD jednotlivých entít bude postačovať jeden subdaemon a výsledok bude skladať druhým(tretím, ..) stupňom.

    Jardík avatar 4.8.2007 14:03 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Nejlepší je si web napsat v C, to pak nepotřebujete žádný interpret :-)
    Věřím v jednoho Boha.
    4.8.2007 15:07 noname265 | skóre: 5 | blog: Legion_of_arch
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Nejlepší je napsat si web v Assembleru...pak na to nepotřebuješ ani GCC nebo jiný překladač ;)
    nothing
    Luboš Doležel (Doli) avatar 4.8.2007 15:08 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    No, pokud to neplánuju psát přímo v hexeditoru, tak asi přece jen nějaký překladač potřeba bude.
    4.8.2007 20:01 noname265 | skóre: 5 | blog: Legion_of_arch
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    ja bych to psal primo v binarnim kodu
    nothing
    Věroš avatar 4.8.2007 15:31 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Ne, přátelé - jste úplně mimo. Nejlepší je nemít web. Vím o čem mluvím, jeden web mám, a furt chodí mi tam lidi.

    Zkuste se prosím držet tématu, předem děkuju. :-)
    Školím Ansible
    4.8.2007 15:52 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Počkejte, počkejte, pomalu. Na takový návaly nejsme zařízený.

    Počkejte prosím, až si stránku prohlédne předchozí návštěvník.
    :-D
    6.8.2007 19:44 botanicus | blog: Botanicusovi povzdechy | Prachatice
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Nejlepsi je napsat tu informaci na papir, ten je vzdycky kompatibilni, nepotrebuje ani gcc natoz interpret ;)
    ... mam chut na jablicka ;)
    Daniel Kvasnička ml. avatar 4.8.2007 19:24 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    No u mod_pythonu bych se vic rozepsal o moznosti a principu psani vlastniho handleru. Je to precijen to nejzajimavejsi, co mod_python nabizi :-) Ale jinak hezky.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    5.8.2007 12:52 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Pouzival som roky Zope, no nie len koli dost narocnej sprave, ale i koli narocnosti na pamat som ho nahradil inym riesenim. Chcem sa opytat ako je na tom Webware for Python s obsadenim pamate a vytazenim CPU? Hlavne ide o tu pamat.

    Mne stale vrta hlavou RoR, len keby bol cas to poriadne skusit :(. Ma niekto skusenost ako je to u RoR s pamatou.


    Vdaka.
    Věroš avatar 5.8.2007 13:15 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    W4PY je úplně řešení úplně jiného problému než Zope. Jediné, co mají společné je že jsou v Pythonu a že jsou i pro web.

    Ve srovnání s Djangem, TurboGears či RoR je W4PY poměrně low-level řešení - což má svoje nevýhody (některou práci člověk musí udělat sám), ale i výhody (nes..e se mi pod ruce nějaký toolkit a nemusím obcházet jeho způsob myšlení; vím, co jsem naprogramoval).

    W4PY je v podstatě tupý servlet container (cca odpovídá Tomcatu). Já ho používám proto, že když jsem začínal na webu, moc podobných nástrojů k dispozici nebylo.

    Django osobně neznám. Čekal bych, že pro malé aplikace bude výhodnější Django (rychlejší počáteční vývoj), a před naprogramováním velké aplikace si člověk udělá analýzu, co vlastně potřebuje za prostředí a podle toho si vybere.

    W4PY a zabraná paměť: mám aplikace, které sežerou 10MB a mám jednu, která sežere 200MB - co si člověk naprogramuje, to má. Teď zrovna má 120MB a v paměti mám se drží asi 3500 objektů + dalších 400 jednoduchých struktur (většinou n-tice o několika jednoduchých).
    Školím Ansible
    8.8.2007 09:52 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Diky Věroši :).

    Pev

    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.