Už v jednom z dřívějších článku jsem mluvil o projektu Getting
Started with Django, kde jsem upozorňoval na to, že by se mohlo jednat
o kvalitní zdroj informací pro ty, kteří by se rádi něco o djangu
dozvěděli.
V té době tam byla pouze jedna lekce a sem tam jsem průběžně mrkl, zda
autor nepřidal novou. Po pár týdnech jsem si už říkal, že prvotní
nadšení autora asi vyprchalo. Ale když jsem na projekt málem zapomněl a
teď nedávno udělal inspekci, tak jsem byl uvítán dalším dílem.
A upozorňuji na něj z toho důvodu, že se opět jedná o výborně
zpracovanou lekci a byla by škoda, kdyby si to někdo nechal ujít.
Více zde
Během podzimního semestru jsem do dvou předmětů musel vypracovat dvě
práce. Jedna byla do předmětu Digitální knihovny a zabývala se vcelku
zajímavým projektem Národní digitální knihovny, který se u nás
realizuje. Spočívá v tom, že se snaží digitalizovat české literární
dědictví. Navíc je zde snaha sklízet i český internet, aby byly
zachovány informace z digitálních médií apod.
Druhá práce naopak byla i s přednáškou do Úvodu do umělé
inteligence. Ta se zabývá hlouběji technologií Watson, vyvinutou IBM a
především známou ze soutěže Jeopardy! a také lehce technologií Quill,
což je technologie, která píše novinové články. Používá se pro
určitý okruh článků třeba v časopisu Forbes.
Jelikož když už jsem s tím měl tu práci, řekl jsem si, že by nebylo
od věci dát tyto materiály i veřejně k dispozici, aby v případě
zájmu, měl i někdo další šanci si to projít.
Odkazy na obě práce v PDF:
Národní digitální
knihovna
Aplikace umělé inteligence – Watson
a Quill
Na sociální síti Forrst, o které jsem už dříve psal, se objevil odkaz na zajímavý projekt týkající se
frameworku Django pro vytváření webových aplikací v Pythonu.
Adresa projektu: gettingstartedwithdjango.com
Jedná se o web, na který budou postupně přidávány screencasty, které
se budou snažit seznámit uživatele s tímto frameworkem, přičemž cíle
autora jsou následující (pomohu si citacemi z prvního tutoriálu):
First, this series is meant to take you from novice to competent. What do
I mean by novice? You’ve done the Django tutorial, you understand the basics
of Python, but you have little-to-no idea about how to go forward from here
without making a ton of mistakes.
Secondly, this series is meant to show you current best practices. Libraries
that are go-to solutions for myself and many other Django developers
out there.
And, lastly, this series is meant to be a solid platform for you to build
your own sites and applications in a testable, re-usable, and distributable
manner. I don’t want you just assembling building blocks, but actively
creating.
Dle první lekce odhaduji, že autor tomu skutečně věnoval čas a úsilí
a nejedná se pouze o laciné hození kamenem do vody. Doufám, že mu to
vydrží, protože právě o takovém zdroji jsem poslední dobou snil,
jelikož řada materiálů o Djangu, na které jsem narazil, jsou často už ze
starší doby a teď se naskytla šance sledovat zdroj, který je
aktuální.
První lekci nalezente zde.
V rámci prokrastinace ve zkouškovém období jsem
si přečetl vcelku mladou knihu Think Python, která je určena pro
začátečníky a jelikož o tomto jazyku jsem nikdy příliš moc neveděl,
rozhodl jsem se, že to změním přečtením této knihy.
Předesílám, že předtím, než jsem přečetl tuto knihu, jsem žil
v té představě, kdy jsem si o Pythonu myslel, že je to něco podobného
k PHP, ale jen to má hnusnou syntaxi.:)) Ale zpět ke knize.
Jak už jsem řekl, kniha je určena pro začátečníky a představuje úvod
do Pythonu. Na začátku se seznámíte se základními koncepty jazyka,
přičemž autor důkladně na konci každé kapitoly vysvětluje, co každý
výraz, který se v textu objeví, znamená. A že jich není málo. Klade
také důraz na debugging, takže se snaží už od počátku pěstovat
správné zásady při vývoji. A aby jste skutečně získali praxi a
dokázali v tomto jazyce přemýšlet, v závěru kapitol je vždy řada
cvičení, ke kterým jsou dostupná i online řešení.
Obsah knihy je dělen do těchto kapitol (ponecháno bez překladu):
- The Way of the Program Chapter
- Variables, Expressions, and Statements Chapter
- Functions Chapter
- Case Study: Interface Design Chapter
- Conditionals and Recursion Chapter
- Fruitful Functions Chapter
- Iteration Chapter
- Strings Chapter
- Case Study: Word Play Chapter
- Lists Chapter
- Dictionaries Chapter
- Tuples Chapter
- Case Study: Data Structure Selection Chapter
- Files Chapter
- Classes and Objects Chapter
- Classes and Functions Chapter
- Classes and Methods Chapter
- Inheritance Chapter
- Case Study: Tkinter Appendix
- Debugging Appendix
- Analysis of Algorithms Appendix
- Lumpy
Obsah je dělen tak, aby postupnš odkrýval aspekty jazyka čtenáří a
přitom zachoval logickou kontinuitu.
Pochvalu si také zaslouží styl, jakým je kniha psána. Jedná se
o srozumitelnou angličtinu a nejedná se o knihu, která by se v některých
pasážích zbytečně „vykecávala“. Mám pocit (a to se u moc knih říci
nedá), že autor přesně vystihl tu hranici, kdy napsal toho tolik, aby toho
už nebylo příliš, ale akorát, a přitom to čtenář byl schopen stále
pochopit.
A mimo to, že autor důsledně vysvětluje své kroky a důvody, proč
postupuje v konkretní situaci právě tak či onak, mě velmi zaujaly
i předposlední dvě kapitoly, kde se nejenže opět podrobně věnuje
problematice debuggingu, ale dokonce řeší i analýzu algoritmů, kde se
probírá jak časová, tak prostorová složitost, s tím, že se klade důraz
na pochopení rozdílů ve vlastnostech základních datových struktur a kdy
zvolit tu, či onu.
Zhodnocení
Pakliže o Pythonu nic nevíte a chtěli by jste si projít nějakým
úvodem, pak tato kniha nebude určitě špatnou volbou. Jedná se o velmi
kvalitní publikaci a je skutečně velká škoda, že kniha neobsahuje
i pokročilejší problematiku, jelikož styl, jakým je napsána, autor
perfektně zvládl.
A já už si nemyslím, že Python je jen jazyk s hnusnou syntaxí, ale
řadím ho mezi rovnocenné jazyky s tím, že bych si i na tu syntaxi
dokázal zvyknout. Takže tohle nebude určitě poslední kníha, kterou si
v souvislosti s ním přečtu a těším se na nová poznání.
Web knihy: thinkpython.com
Kniha v PDF: Think Python in PDF
Jelikož posledních pár dnů čtu jednu knihu o Pythonu, o které
určitě ještě něco napíšu, hledal jsem proto nějaké zajímavé informace
na síti a narazil na tuto infografiku.
Některými informacemi jsem byl skutečnš překvapen, třeba pozicí
Haskellu ve statistice pojednávající o nejdiskutovanějších jazycích
nebo počtem developerů v těchto jazycích na Linkedinu (myslel jsem si, že
PHP nebude mít tak vysoký podíl).
Odkaz zde
Narazil jsem na serveru JSPro.com na velmi pěkný článek o tom, proč je
Javascript budoucností programování. V jednom ze svých posledních
příspěvku jsem už víceméně psal, že s ohledem na rozvíjející se
ekosystém se vznikem spousty frameworků, Node.js atd., si myslím, že na tom
skutečně něco bude.
Článek s pěknou graficky zpracovanou statistikou si můžete přečíst
tady Why JavaScript is the Future of Programming