[python] Volba web-frameworku (a pár menších dotazů)

Honza Javorek mail na honzajavorek.cz
Středa Březen 4 08:44:56 CET 2015


Ahoj,

> Ale budiž, nemám potřebu se s vámi hádat. Snažil jsem se nabídnout jiný
pohled. Pokud na něj mám získat odpovědi typu "nesmysl", nebo něco o
prdeli, nestojí mi to za to.

Me je lito, ze jsem to napsal drsneji, protoze jsem to tak spis nemyslel,
nez myslel. Ja jsem te chtel vlastne spis doplnit, nez s tebou radikalne
nesouhlasit. Udelam jednoduchou tabulku:

delat vlastni framework - vetsina se tady shodneme, ze NE
pouzit maly framework vs. velky framework - tohle je nikdy nekoncici
debata, za me je to ANO vs. ANO, zalezi jak kdy

Ja pouzivam Flask na vsechno. Ty obhajujes Flask, ja Django. Jaky to dava
smysl? :) Takovy, ze vidim vyhody obou a chtel jsem poskytnout druhy pohled
na vec. Snazil jsem se, aby se velky vs. maly argumentovalo poctive.
Velikost v MB mi smysl nedavala, to do ceho jsi to rozvedl, jsou uz podle
me OK argumenty na zvazeni pri rozhodovani. Nehadejme se tady a hlavne se
nehadejme, kdyz spolu v podstate az na drobnosti souhlasime ;) Jak jsem
psal, nenapichujem se na kuly. U piva bychom se na sebe usmivali, ale tady
na diskusi to vzdycky z nejakeho uhlu vypada, ze je za tim pokrevni
vyvrazdovani.

Chci napsat na python.cz, ze tady mame pratelskou komunitu, takze nelejme
to pivo z voken :)

> Souhlasim, mensi mnozstvi ciziho kodu neimplikuje mensi mnozstvi meho
kodu. Nic takoveho se nesnazim tvrdit. Ale tvrdim, ze pokud existuji dve
stejne kvalitni knihovny, ta, která má méně řádků kódu, je jednušší. Co je
jednodušší, to se lépe udržuje (autorovi knihovny, ne mně!!!). Co se lépe
udržuje (autorovi), to je lepší (pro mě). Proto, pokud mám na výběr mezi
dvěma kvalitními knihovnami, které obě splňují moje požadavky, volím tu
menší. Myslím si, že tady jsme se vůbec nepochopili.

Pokud te chapu dobre, tak se jinymi slovy snazis rict neco podobneho, jako
ja v

> Spravnejsi by podle me bylo treba rict, ze Django mi pomaha k vecem,
ktere nepotrebuji, a nepomaha mi k vecem, ktere potrebuji - typicky kdyz
budu chtit udelat API nad MongoDB, pak proste sahnu po
http://python-eve.org/ (postaveno nad Flaskem), protoze s Djangem bych se
trapil.

Jinak co se tyce

> Pokud existuje menší kvalitní framework, který nabízí vše, co tázající
potřebuje, doporučuji ten. Osobně názory typu, něco je levné, tak tím
nemusím šetřit, mi jsou velmi vzdálené.

tak bych jen doplnil, ze je tam minimalne jeste jedna velicina, kterou
sledovat, a to pocet lidi, kteri na tom delaji a jejich aktivita. Kdyz to
bude one man show, tak at to bude velke (tam spis) nebo male, tak to nikdy
nebude dostatecne "ostrilene" a kdyz se tam neco podela, nevis, zda autor
nebude zrovna nekde na dovolene. Co v mych ocich Django ztraci na
velikosti, to ziskava na komunite za nim, na otestovanosti a proverenosti v
boji.

Ja bych to rekl v analogii asi takto: Mam moc rad svoje kolo. Jezdim na nem
vsude. Ale az pojedu do Chorvatska, tak si na to vezmu auto. S autem je
strasna spousta srani, vyrizovani, tady hlidas nejaky pojisteni, tam gumy,
musis resit palivo, muze se to cele pokazit. Ma to strasne moc soucasti a
vsechny se muzou pokazit, kdykoliv. Ale stejne jedes do Chorvatska autem,
protoze na kole, ac mas svoje kolo rad a po meste s nim jezdis vsude, tak
na tom kole by to bylo dost bolestivy. Nikdo nerika, ze to nejde
<http://www.ronnieweb.net/na-kole-k-mori/>, ale nejsi-li dobrodruzne
povahy, nebo jedes-li tam v obleku treba delat do Zahrebu byznys a nemas to
jako dovolenou, tak se tomu vyhnes.

Django je u me takovy auto. Na to, abych s nim jel do hospody, na vylet za
mesto, do prace, tak na to bych se mohl vyprdnout. Je nemotorny a
tezkopadny a navic mam rad to svoje kolo. To kolo funguje dobre a navic i
verim tomu, ze mi jej kdokoliv opravi kladivem, v jedne osobe. Ale kdyz
budu mit vylet do Zahrebu, vezmu si na to Django. Ani se mu moc nebudu
divat pod kapotu.

> Tak zkusím ještě jeden argument, který se také často ozývá od lidí, kteří
se teď zabývají Dockerem. Každý zbytečný kód, který leží třeba i (nebo
zejména) na serveru, potenciálně obsahuje chyby. Přestože se nevyužívá,
útočník si může najít cestu, jak kód spustit a zneužít. Proto je vždy lepší
zbytečný kód nemít, než nepoužívat.

To je celkem pravda, ale proc nikdo podobne nepremysli u samotneho OS nebo
u DB? PostgreSQL ma milion funkci, ktere nepotrebujes, ale mas je tam.
Podle me je to tou otestovanosti v boji - nikdo se neboji pouzit Postgre,
protoze to uz bezi na milionu mistech a lidi vi, ze funguje a ze kdyz nekdo
nahlasi bug, tak bude opraven a ze je to bezpecny. Stejne jako, rekneme,
nejaka stara dobra spolehliva Mazda. Proste jede. Ale Docker je v tomto
pripade ve stadiu cinske noname znacky, jejiz prvni modely prave vyjely z
montazni linky. Nikdo netusi, co od toho ma cekat.

Na zresetovani atmosfery posilam zaverem pisnicku:
https://www.youtube.com/watch?v=LanCLS_hIo4

Honza


2015-03-04 0:55 GMT+01:00 Radek Holý <radekholypublic na gmail.com>:

>
>
> Dne 2. března 2015 23:58 Honza Javorek <mail na honzajavorek.cz> napsal(a):
>
>> Ten clovek chce napsat webovou stranku, proto by si na ni mel najit
>> webovy framework. Takovy, ktery uspokoji jeho potreby. Analogii s jednou
>> funkci a Qt knihovnou mi prijdou mimo.
>>
>> Snažil jsem se říct, že pokud by "ten člověk" z Djanga využil jen velmi
> malou podmnožinu funkcí, bylo by to, jako kdyby si instaloval Qt kvůli
> jedné funkci. Ale budiž, pokud to nedává smysl, není potřeba to rozebírat.
>
>
>> Potreba setreni MB je mozna nekde na micropythonu a RapsberryPi, ale na
>> serverech je to dnes tak pomijiva velicina, ze pomijivejsi snad ani neni.
>> Kolik stoji 1 MB a kolik stoji 1 hodina casu cloveka (a to nemyslim jen v
>> penezich)?
>>
>> Ja mam rad Flask, jak jsem uz psal, delam v nem vsechno, ale argumentujme
>> tak, aby to melo smysl. Velikost v MB je v dnesni dobe absolutne minoritni
>> parametr. Argument, ze Django ma veci, ktere nepouziju, je podle me mimo.
>> Spravnejsi by podle me bylo treba rict, ze Django mi pomaha k vecem, ktere
>> nepotrebuji, a nepomaha mi k vecem, ktere potrebuji - typicky kdyz budu
>> chtit udelat API nad MongoDB, pak proste sahnu po http://python-eve.org/
>> (postaveno nad Flaskem), protoze s Djangem bych se trapil. To je podle me
>> argument.
>>
>> Honza
>>
>>
> Tak zkusím ještě jeden argument, který se také často ozývá od lidí, kteří
> se teď zabývají Dockerem. Každý zbytečný kód, který leží třeba i (nebo
> zejména) na serveru, potenciálně obsahuje chyby. Přestože se nevyužívá,
> útočník si může najít cestu, jak kód spustit a zneužít. Proto je vždy lepší
> zbytečný kód nemít, než nepoužívat.
>
> Ale budiž, nemám potřebu se s vámi hádat. Snažil jsem se nabídnout jiný
> pohled. Pokud na něj mám získat odpovědi typu "nesmysl", nebo něco o
> prdeli, nestojí mi to za to.
>
>
>>
>>
>> 2015-03-02 23:32 GMT+01:00 Ales Zoulek <ales.zoulek na gmail.com>:
>>
>>> Tak skoro mam takovej pocit, ze "mensi" (ve smyslu objemu 3rd party
>>> kodu) rozhodne nebude i znamenat "mensi" kod o ktery se staram. Skoro bych
>>> rekl, ze toho vlastniho kodu bude vic - vazne tak bude dal jenodussi a
>>> lepsi? Nerekl bych... Marne premyslim jak je to s "mnozstvim lidi", jejichz
>>> cas na opetovne vynalezani a opravovani kola nema cenu nekolika MB na disku
>>> s kodem, ktery prosel mnoha tisici hodin vyvoje a testovani.
>>>
>>> Jiste, muze byt vzdycky zajimave si ze studijnich ucelu zkusit
>>> re-implementovat vyresene problemy - od bubble sortu pres wsgi handler. Ale
>>> delat tu kvuli predstave, ze se tak doberu lepsiho a jednodussiho kodu, ze
>>> se mi vyplati si ty veci psat a udrzovat sam nez pouzit ci vylepsit to, co
>>> uz je hotove - to snad ne.
>>>
>>>
>>> A.
>>>
>>> On Mon, Mar 2, 2015 at 10:14 PM Radek Holý <radekholypublic na gmail.com>
>>> wrote:
>>>
>>>> Tak to nevím. Kdyby chtěl někdo spočítat průměr ze sekvence čísel, asi
>>>> mu taky nebudeme cpát hned numpy. Tuhle jsem někde viděl, že Qt má funkci,
>>>> která vrátí cestu k adresáři, kam daná platforma ukládá data aplikací.
>>>> Kdyby někdo hledal takovou funkci, asi mu taky nebudeme hned radit Qt,
>>>> pokud zrovna nehodlá psát GUI...
>>>>
>>>> Se zkušenostmi z práce můžu říct, že existuje velké množství lidí,
>>>> kterým záleží na tom, kolik MB ve výsledku aplikace, kterou chtějí
>>>> nainstalovat, zabere na disku. Vývojáři posedlí kontejnery by také
>>>> pravděpodobně dokázali obhájit, proč je velikost na disku důležitá.
>>>>
>>>> A jak už jsem psal, menší = jednodušší = lepší.
>>>> --
>>>> Radek
>>>>
>>>>
>>>> Dne 2. března 2015 17:38 Honza Javorek <mail na honzajavorek.cz>
>>>> napsal(a):
>>>>
>>>> Rozdil mezi Pythonem a PHP je v tom, ze kdyz nainstalujes knihovnu a
>>>>> neco z ni nepouzijes, tak se to vetsinou nespousti :) Tzn. kdyz v PHP
>>>>> vezmes Symfony a udelas na nej request, pri kazdem requestu se spousti cele
>>>>> Symfony a vsechny soubory v nem. U Pythonu se pouzije jen to, co se
>>>>> potrebuje - co naimportujes.
>>>>>
>>>>> Tudiz argument "Django obsahuje spoustu neceho, co nepotrebuju", je
>>>>> vlastne nesmysl. Resp. ano, obsahuje, ale to ze to nepotrebujes ti v nicem
>>>>> nevadi, akorat si pri `pip install django` pockas o sekundu dele.
>>>>>
>>>>> H
>>>>>
>>>>> 2015-03-02 16:21 GMT+01:00 Matěj Cepl <mcepl na cepl.eu>:
>>>>>
>>>>>> On 2015-03-02, 10:07 GMT, Marcus Scalpere wrote:
>>>>>> > Na Django jsem myslel hned na začátku, ovšem po mnoha úvahách
>>>>>> > a radách mi to opravdu přijde jako dělo na vrabce. Určitě bych
>>>>>> > to nějak splácal časem, ale kupu toho, co Django umí
>>>>>> > nepotřebuji (v podstatě potřebuji jen pár formulářů), možná
>>>>>> > později, až budu chtít dotvořit něco jako učební pomůcku, pak
>>>>>> > to možná bude vhodná volba. Ale každopádně ta kniha je dost
>>>>>> > poučná a mám choutky to aspoň zkusit
>>>>>>
>>>>>> Nikdo Tě nenutí to celé používat a co se týče instalace tak to
>>>>>> není o nic složitější nežli 'sudo yum install python-django'
>>>>>> (nebo apt-get varianta).
>>>>>>
>>>>>> Nejmenší projekt s djangem je pár řádek a ještě generovaných
>>>>>> skriptem. Možná, že až napíšeš několik website rozměrů nasa.gov
>>>>>> budeš chtít něco jiného ale do té doby fakt nevidím důvod proč
>>>>>> si psát framework sám.
>>>>>>
>>>>>> Hezký den,
>>>>>>
>>>>>> Matěj
>>>>>> _______________________________________________
>>>>>> Python mailing list
>>>>>> python na py.cz
>>>>>> http://www.py.cz/mailman/listinfo/python
>>>>>>
>>>>>> Visit: http://www.py.cz
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Python mailing list
>>>>> python na py.cz
>>>>> http://www.py.cz/mailman/listinfo/python
>>>>>
>>>>> Visit: http://www.py.cz
>>>>>
>>>> _______________________________________________
>>>> Python mailing list
>>>> python na py.cz
>>>> http://www.py.cz/mailman/listinfo/python
>>>>
>>>> Visit: http://www.py.cz
>>>
>>>
>>> _______________________________________________
>>> Python mailing list
>>> python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>> Visit: http://www.py.cz
>>>
>>
>>
>> _______________________________________________
>> Python mailing list
>> python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>> Visit: http://www.py.cz
>>
>
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20150304/6f77645c/attachment.html>


Další informace o konferenci Python