Re: [python] literatúra
Ahoj, tip na knížku ti nedám, protože žádná začátečnická pro Python mě nenapadá. Všechno co jsem kdy potřeboval jsem našel na internetu. Z literatury pro pokročilejší jsem si nedávno pořídil Core Python Programming (http://www.amazon.com/Core-Python-Programming-2nd-Edition/dp/0132269937), ale těžko hodnotit, zatím jsem se do ní pořádně nepustil. Spíš bych se rád zeptal, proč myslíš, že kniha je lepší? Nic proti knihám, ale zrovna když se chci učit Python, tak nejspíš sedím u PC, spuštěný interpreter, google, nějaké pdfko (jako třeba Dive into Python) a zkouším, hledám, čtu, atd... On Tue, Apr 24, 2012 at 2:28 PM, Filip Muller filip.mulle...@gmail.com wrote: Zdravím som začiatočník s pythonom :) zatial som čerpal informácie z internetu ale ževraj z kníh sa učí lepšie tak by som bol rád za doporučenie niakej literatúri zo základmi a potom aj niaku tú zložitejšiu ktorou by som mohol pokračovať :) díky ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python -- S pozdravem Martin Stiborský Jabber: st...@njs.netlab.cz ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] python pro studenty
Mám za to, že u programování na webu je rizikem vždycky to, co dostávám od uživatele -- tedy data z formulářů a podobně. Pokud mi chce web někdo heknout, snaží se podstrčit nějaká svá data nebo kód, který vydává za data. Takže já jako programátor bych neměl dopustit, aby to, co vypadá jako data, šlo za nějakých okolností spustit. A zde jsou určité skupiny znaků, které jsou nebezpečné: závorky, zpětné apostrofy atd. Ono je spustit a spustit. Tomu co popisuješ se říká code injection a je to možné aplikovat mnohem šířeji. Například: - pokud se uživatelský vstup dostává do eval() - pokud se uživatelský vstup dostává do sql dotazu (což je téměř vždy) (obligátní xkcd: http://xkcd.com/327/ ) - pokud se uživatelský vstup dostává do shellu (voláním system() nebo popen() To jsou jen nejčastější případy, podle toho si tam kdo dá mohou nastat i jiné (cronab, url, xslt, šablonovací systémy…) a každý má jiné escapování. Ošetřit všechno je prakticky nemožné už jen vzhledem k počtu možností, nemluvě o tom že jednotlivé syntaxe spolu kolidují. U Perlu je hezkou vychytávkou přepínač -T. Ten všechna data od uživatele považuje za nakažená vyléčit je je možné jen kontrolou přes regulární výraz. Dokud to programátor neudělá nemůže nakažená data použít v rizikových situacích. Nevíte o nějaké podobné možnost pro Python? To je s prominutím pitomost. V PHP taková vlastnost kdysi byla ale bylo z toho víc škody než užitku a nakonec byla zrušena. Kromě toho – k čemu by to bylo? Pokud se mají tvoji svěřenci něco naučit, tohle je jedna z lekcí bez kterých se neobejdou. Spoléhat se že to někdo udělá za ně je přesně to co by se naučit neměli :-) A protože učený z nebe nespadl, musíš prostě konzervativně předpokládat že díry budou. Šel bych proto spíše cestou izolace – apač v privátní síti, mod_user, chroot, jail, virtualizace… ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] literatúra
Nejvíc se naučíš z vlastní práce. Na informace Ti bude internet prvních 20 let bohatě stačit :-) Pak si už budeš bohatě vydělávat a rozhazovat za zbytečnosti. Například na odborné knihy (až je budou muzea likvidovat) Dne 24.4.2012 14:46, Filip Muller napsal(a): No to bolo odporúčanie že keď som samouk tak sa naučím viac z kníh ako z internetu :) ja som zatial tiež čerpal iba z netu :) To Ti poradil někdo kdo vyrostl v době kdy internet ještě neexistoval (a dinosauři už neexistovali). Tedy asi stejně starý jako já :-)) ZU ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] lite?==?UTF-8?Q?ratúra
Každému pasuje něco jiného. Knížka se dá číst ve vlaku i bez notebooku. Čtečka typu Kindle (nebo něco podobného) může být dobrým kompromisem. Alespoň občasné připojení na Internet je asi nevyhnutelné. A taky si musím přihodit.. :) http://diveintopython3.py.cz/ Mějte se všichni fajn, Petr ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] Dotaz na vi(m)kingy -- podpora pro Python
Díky všem za vim tipy ;) P. __ ... Mě se docela líbí propojení Vim s interpretem. Je na to hezký plugin pro iPython: https://github.com/ivanov/vim-ipython Ještě je zajímavý plugin TagList. Díky němu se dá hezky poskočit na začátek definice funkcí. Na root.cz vyšel seriál docela hezký seriál: http://www.root.cz/clanky/vim-na-plny-vykon-vimrc/#ic=articles-relatedicc=nej-vim-pluginy-12064 http://www.root.cz/clanky/nej-vim-pluginy/ a o ještě Pavel Satrapa: http://www.root.cz/clanky/jak-si-prizpusobit-vim/ ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] python pro studenty
Ahoj. Díky všem za reakce. Jsou to pro mě cenné informace. Sám se v tom musím pořádně zorientovat. drzim palce, protoze tlacit python do studentu uz od stredni skoly je super ;)) sam v tom podporuju meho otce, ktery se o to snazi na gymnaziu v roudnici nad labem. Já jsem si zatím vyzkoušel učit ještě Pacal a C a musím říct, že Python byla opravdu nejlepší volba. A čím hlouběji se do Pythonu nořím, tím jsem si jistější že moje tlační jde správným směrem. ...no abych řekl celou pravdu: u nás si studenti vybírají buď Python nebo Visual Basic. Díky, Marek -- @ @ @ Marek Nožka '.@ :*`@ email: marek @t tlapicka d.t net `*' jabber: tlapicka @t jabber d.t spseol d.t cz :: web: http://tlapicka.net/ `' `' Powered by Debian GNU/Linux `.**' ¨¨ ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] python pro studenty
Tak z vyberu Python nebo VB je Python asi ta lepsi volba. Ale IMHO na vyuku programovani (jen zduraznuju, ze vidim rozdil mezi programovanim a algoritmizaci), neni Python nejlepsi jazyk. Mozna jsem prilis starosvetsky, ale je potreba vedet, jak veci funguji uvnitr, aspon trochu, a na to ma python moc vysokou uroven abstrakce. Navic kdyz vezmu jake zmateni dokazou udelat mutable/immutable typy predavane jako parametr funkce... No zlaty Pascal :) Ale samozrejme zalezi na tom, co ma byt cil toho predmetu - jestli naucit decka aspon trochu programatorsky myslet, pak je to Python all the way up. Ale bal bych se nekoho ucit na Pythonu programovani. J. 2012/4/24 Marek Nožka ma...@tlapicka.net: Ahoj. Díky všem za reakce. Jsou to pro mě cenné informace. Sám se v tom musím pořádně zorientovat. drzim palce, protoze tlacit python do studentu uz od stredni skoly je super ;)) sam v tom podporuju meho otce, ktery se o to snazi na gymnaziu v roudnici nad labem. Já jsem si zatím vyzkoušel učit ještě Pacal a C a musím říct, že Python byla opravdu nejlepší volba. A čím hlouběji se do Pythonu nořím, tím jsem si jistější že moje tlační jde správným směrem. ...no abych řekl celou pravdu: u nás si studenti vybírají buď Python nebo Visual Basic. Díky, Marek -- @ @ @ Marek Nožka '.@ :*`@ email: marek @t tlapicka d.t net `*' jabber: tlapicka @t jabber d.t spseol d.t cz :: web: http://tlapicka.net/ `' `' Powered by Debian GNU/Linux `.**' ¨¨ ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python -- Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] python pro studenty
Tak z vyberu Python nebo VB je Python asi ta lepsi volba. Ale IMHO na vyuku programovani (jen zduraznuju, ze vidim rozdil mezi programovanim a algoritmizaci), neni Python nejlepsi jazyk. Já by řekl že je to právě naopak – z vysokoúrovňových jazyků je python mezi nejlepšími. Java je mnohem složitější, visual basic je zanesený generacemi historických reliktů, php prudce účelové, perl má možná průhlednou filozofii ale obfuskovanou syntaxi :-) …zapoměl jsem na někoho? (ruby nepočítám – IMO je to překrásný jazyk, ale tolik nepodobný ostatním potomkům fortranu že se na výuku nehodí) Mozna jsem prilis starosvetsky, ale je potreba vedet, jak veci funguji uvnitr, aspon trochu, a na to ma python moc vysokou uroven abstrakce. IMO všechno v čem se nemusíš starat o alokaci paměti má moc vysokou úroveň abstrakce. Pascal není nízkoúrovňový, jen tupý. V dnešních podmínkách bych low-level uvažování ilustroval (zájemcům) spíš v nějakém jednočipovém asembleru nebo třeba corewars, A programování dělal v jazyce ve kterém se dá programovat na dnešní úrovni. A Python má tu krásnou vlastnost že základní kroky – proměnné, cykly, funkce – nejsou o nic složitější než v pascalu nebo basicu. Navic kdyz vezmu jake zmateni dokazou udelat mutable/immutable typy predavane jako parametr funkce... No zlaty Pascal :) Zrovna třeba problémy s mutable/imutable typy (já bych to nazval rozdíl mezi kopií objektu a referencí na objekt) jsou překrásná ukázka toho na co dítka narazí až narazí na ukazatele a reference v C/C++. S tím rozdílem že interpret poskytuje záchranou síť místo segfaultů. Podobných věcí by se dalo najít spousta – objekty, iterátory, funkcionální triky, přenositelnost, síťování, paralelizace, metaprogramování… To že děti pascalu (včetně mě) takové vlastnosti automaticky považují za bůhvíjak pokročilé jen dokazuje jak máme pascalem poškozené mozky :-/ Ale samozrejme zalezi na tom, co ma byt cil toho predmetu - jestli naucit decka aspon trochu programatorsky myslet, pak je to Python all the way up. Ale bal bych se nekoho ucit na Pythonu programovani. Ja bych se rozhodně nebál. V práci nějaký ten milionek řádků v pythonu máme, a programujeme bez uvozovek :-) A o lidi které bychom nemuseli odnaučovat pascalovské/céčkařské/javistické (škrtni co se nehodí) idiosynkrazie máme veliký zájem. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] python pro studenty
No, ja tusil ze to smrdi flejmem (a to jsem pravoverny Pythonista ;D) 2012/4/24 Hynek Fabian hynek.fab...@firma.seznam.cz: Tak z vyberu Python nebo VB je Python asi ta lepsi volba. Ale IMHO na vyuku programovani (jen zduraznuju, ze vidim rozdil mezi programovanim a algoritmizaci), neni Python nejlepsi jazyk. Já by řekl že je to právě naopak - z vysokoúrovňových jazyků je python mezi nejlepšími. Java je mnohem složitější, visual basic je zanesený generacemi historických reliktů, php prudce účelové, perl má možná průhlednou filozofii ale obfuskovanou syntaxi :-) ...zapoměl jsem na někoho? (ruby nepočítám - IMO je to překrásný jazyk, ale tolik nepodobný ostatním potomkům fortranu že se na výuku nehodí) Vsak ja myslim, ze spolu souhlasime, nebo ne? Mozna jsem prilis starosvetsky, ale je potreba vedet, jak veci funguji uvnitr, aspon trochu, a na to ma python moc vysokou uroven abstrakce. IMO všechno v čem se nemusíš starat o alokaci paměti má moc vysokou úroveň abstrakce. Pascal není nízkoúrovňový, jen tupý. V dnešních podmínkách bych low-level uvažování ilustroval (zájemcům) spíš v nějakém jednočipovém asembleru nebo třeba corewars, A programování dělal v jazyce ve kterém se dá programovat na dnešní úrovni. A Python má tu krásnou vlastnost že základní kroky - proměnné, cykly, funkce - nejsou o nic složitější než v pascalu nebo basicu. Jasne, ale co ti da programovani ATMegy pro psani na pocitaci? De fakto nic, na mikrocipech se naucis, ze musis umet trochu obfuskovat, aby ti vysly registry a moc ses nezdrzoval sahanim do pameti, a pak uz je to jen o rizeni periferii... Celkem nuda... Navic kdyz vezmu jake zmateni dokazou udelat mutable/immutable typy predavane jako parametr funkce... No zlaty Pascal :) Zrovna třeba problémy s mutable/imutable typy (já bych to nazval rozdíl mezi kopií objektu a referencí na objekt) jsou překrásná ukázka toho na co dítka narazí až narazí na ukazatele a reference v C/C++. S tím rozdílem že interpret poskytuje záchranou síť místo segfaultů. Podobných věcí by se dalo najít spousta - objekty, iterátory, funkcionální triky, přenositelnost, síťování, paralelizace, metaprogramování... To že děti pascalu (včetně mě) takové vlastnosti automaticky považují za bůhvíjak pokročilé jen dokazuje jak máme pascalem poškozené mozky :-/ Ukazatel a reference je IMHO zakladni koncept, kterymu je treba rozumet. Kdybys videl jaky jsem opravoval na vysoke prvakum projekty v Ccku (jaksi nepochopili smysl reference a dereference, a kdyz potrebovali predat ukazatel do pole z funkce do funkce tak jim postupne rostl pocet hvezdicek :D). A tim ze je to nepruhledny jsem myslel spis to, ze pokud nevis co je predani ukazatelem a co hodnotou, tak to tezko jde vysvetlit jinak nez Je fakt, ze list, dict, object (...) se vam ve funkcni meni, ale retezec, int (...) ne. Deal with it. Ja jsem teda taky ditko pascalu, a krom metaprogramovani (v cemkoli jinym nez v lispu :D) to za pokrocily veci nepovazuju. Jen zastavam staromilecky nazor, ze je potreba nejen vedet, _ze_ neco jde, ale i proc to tak je. Pak totiz vznikaji prasarny s exponenicialni slozitosti, misto logaritmicke, a podobne :) Ale samozrejme zalezi na tom, co ma byt cil toho predmetu - jestli naucit decka aspon trochu programatorsky myslet, pak je to Python all the way up. Ale bal bych se nekoho ucit na Pythonu programovani. Ja bych se rozhodně nebál. V práci nějaký ten milionek řádků v pythonu máme, a programujeme bez uvozovek :-) A o lidi které bychom nemuseli odnaučovat pascalovské/céčkařské/javistické (škrtni co se nehodí) idiosynkrazie máme veliký zájem. Jak rikam - zalezi na tom, co si clovek klade za cil. Za milionek radku pythonu respekt (pokud je to jeden projekt). To mozna ani nechci vedet co to je zac, mohl bych se vydesit :D Na druhou stranu, kdyz uz musis nekoho odnaucovat prasarny z pascalu/c/javy, tak vetsinou vymysli prasarny i v Pythonu. Ale tu nouzi o schopny lidi sdilim. Jeste ze se Zen of Python da vysvetlit za odpoledne ;) J. -- Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python