Testovací Google App engine server je možné naštartovať pomocou:
dev_appserver adresár
Ako ho ale zastaviť?
CTRL+C nefunguje, aplikácia zostane bežať.
Je potrebné použiť kombináciu CTRL+Break (Pause).
Testovací Google App engine server je možné naštartovať pomocou:
dev_appserver adresár
Ako ho ale zastaviť?
CTRL+C nefunguje, aplikácia zostane bežať.
Je potrebné použiť kombináciu CTRL+Break (Pause).
Tags: Google, Google App Engine, keyboard shortcut, Python, Windows
Taká užitočná vec, možno sa niekomu hodí. ElementTree pre Python obsahuje parser XML. V nasledujúcom príklade vyrobím zo stringu Element a následne nad ním spustím iteráciu cez for.
Je dôležité upozorniť, že find vracia prvky Element. Textový obsah z nich je možné vytiahnuť pomocou atribútu text.
Pokiaľ sa s tým chcete viac hrať, odporúčam použiť iPython shell, ktorý podporuje dopĺňnanie príkazov pomocou tabulátoru.
from xml.etree import ElementTree
xmlTest="""
<xml>
<person>
<id>573280</id>
<type>Supplier<type>
</person>
<person>
<id>66172<id>
<type>Customer</type>
</person>
</xml>
"""
tree = ElementTree.fromstring(xmlTest)
for person in tree:
type = person.find('type')
id = person.find('id')
if type.text == 'Supplier':
print "Supplier:",id.text
API k ElemenTree nájdete na python.org. Pre Debian je táto funkcionalita k dispozícii v balíčku python-elementtree.
Tags: ElementTree, iPython, Python, xml
Pokiaľ potrebujeme dynamicky vykresliť graf na webe, môžeme použiť napríklad Flot. Pokiaľ ale potrebujeme pracovať so zložitejšou grafikou a máme k dispozícii Python, tak je voľba jasná. Použijeme Matplotlib.
Funkcie sú veľmi príbuzné Matlabu, takže rozhodne sa netreba učiť príliš veľa nových vecí.
A výstupy z Matplotlibu sú proste kvalitné.
PS: Za odkaz ďakujem Michalovi Kaukičovi z FRI ŽU.
Tags: FRI ŽU, graf, matematika, Python
Buildout pre Python je niečo ako Maven pre Javu. Buildoutu jednoducho predhodíte recept. Tento recept popisuje, ako má vaše prostredie vyzerať a Buildout za vás pohľadá všetky závislosti a nainštaluje ich. Pythonieristi si možno povedia: “Ale veď inštaláciu zvláda aj easy_install alebo pip“. To je pravda, ale Buildout posúva prácu s virtuálnym prostredím o level ďalej.
Predstavte si, že pracujete v tíme a teraz potrebujete, aby kolega mal rovnaké pracovné prostredie ako vy. Rovnaké balíky, rovnaké nastavenie služieb. Jednoducho napíšete recept pre buildout a ten mu pošlete. Buildout sa postará o vytvorenie virtuálneho prostredia, tak ako to poznáme z Virtualenv. Naviac nainštaluje potrebné balíky. Teraz pozor! Odinštaluje nepotrebné balíky. Nastaví adresáre a importy presne, tak ako je to potrebné. Buildout umožňuje zaviesť do projektu podstatný prvok: opakovateľnosť.
Buildout nie je nástroj výhradne len pre Python. Môžete s ním spracovávať, aj zdroje z Gitu alebo ZIP súborov. Pokiaľ pracujete extenzívnejšie s Pythonom a balíčkovaním aplikácii, určite mu venujte minutku na naučenie.
Príklad receptu na inštalovanie Tracu 0.12dev:
[buildout]
parts = babel genshi trac mypy
[babel]
recipe = zc.recipe.egg
eggs =
Babel
[genshi]
recipe = infrae.subversion
as_eggs = true
urls = http://svn.edgewall.org/repos/genshi/trunk genshi
[trac]
recipe = infrae.subversion
urls = http://svn.edgewall.org/repos/trac/trunk trac
as_eggs = true
# Make eggs visible to mypy interpreter
[mypy]
recipe = zc.recipe.egg
eggs =
${trac:eggs}
${genshi:eggs}
${babel:eggs}
interpreter = mypy
scripts = mypy
Buildout potupne spracuje jednotlivé časti a podľa receptov uvedených za slovíčkom “recipe”, nainštaluje a upraví potrebné konfigurácie prostredia. Predtým, než sa vrhnete do písania vlastného receptu, odporúčam skontrolovať, či už rovnaký alebo veľmi podobný recept neexistuje.
Pokiaľ tápete v tom, ako funguje Python Eggs a virtuálne prostredie, odkážem vás na výbornú prezentáciu z PyConu 2009 – Eggs and Buildout deployment in Python:
Na oficiálnych stránkach OSS 2010 nájdete organizačné informácie ku konferencii, ktorá sa bude konať 1.-4. 7. 2010 v Žiline.
Pokiaľ máte nejakú zaujímavú tému, prihláste sa so svojím príspevkom. V roku 2009 rozhodne nebola núdza o zaujímavé témy, ako napríklad OpenstreetMap, počítačová učebňa postavená na Linuxe, alebo programovanie hier v Pythone.
Konferenciu organizuje Spoločnosť pre otvorené informačné technológie (SOIT.sk).
Tags: konferencia, linux, Open Source, OpenStreetMap, Python, SOIT, Žilina
Dnes si je už ťažké predstaviť softvérový projekt, kde by si vývojári vymieňali zdrojové kódoch na disketách. Správa zdrojových kódov sa presunula do systémov so skratkou SCM (Source Control Management). Z open source variánt je veľmi populárne Subversion a čoraz silnejšiu skupinu priaznivcov si získava aj Git.
Lenže nie len zdrojovým kódom je softvérový projekt živý. V projekte sa objavia rôzne chyby. Riešenie niektorých chýb si vyžaduje aj niekoľko týždňov. Na evidencie chýb a stavu ich riešenia, sú vhodné rôzne ticket systémy. Veľmi známa je napríklad Bugzilla, ktorá vznikala popri projekoch Mozilla Foundation. Tento softvér výrazne prispel k stabilizácii kódu Firefoxu, či Mozilly. Z komerčných si spomeňme napríklad JIRA, ktorú používa napríklad Adobe na bugs.adobe.com.
Dokumentácia je základnou súčasťou projektu. Rôzne poznámky a záznamy sa ukladajú do Wiki, ktorá obsahuje verzovanie. Aj keby niekto niečo omylom zmazal, vždy sa dá vťátiť k starému obsahu. Wiki sú jednoduché a rýchle. Z veľmi populárnych stojí za spomenutie MediaWiki, na ktorej je postavená napríklad Wikipédia.
To však akosi stále nie je úplne všetko, čo by človek potreboval na riadenie projektu. Ešte by to chcelo mať prehľad v tom, čo sa zmenilo v zdrojovom kóde a ktoré tickety boli uzatvorené. Tým pádom sa dajú ľahko sledovať zmeny a ich dopady. Z komerčného sveta má túto schopnosť najviac prepracovanú softvér Polarion.
Prečo použiť Trac, keď existuje toľko nástrojov? Autori Tracu si zvolili ako prioritu minimalistický prístup a to je veľmi podstatné. Zintegrovali dohromady Wiki, ticket systém, správu zdrojových kódov a sledovanie zmien. Trac je veľmi jednoduchý na používanie. Napojí sa na úložisko zdrojového kódu a vy máte okamžite prehľad o tom, čo sa v projekte deje. Pokiaľ vám nevyhovuje nejaká jeho vlastnosť, je ho možné ju odobrať. Trac sa dá jednoducho skonfigurovať, prípadne rozšíriť o nové vlastnosti pomocou pluginov. Trac je možné použiť aj na riadenie projektov, ktoré so softvérom nemusia mať vôbec nič spoločné, napríklad riadenie dodávok Hot Runner systémov na vstrekovanie plastov.
Pokiaľ potrebujete hostovať Trac, tak vám bežný PHP hosting stačiť nebude. Trac je napísaný v Pythone. Je možné ho spustiť ako samostatnú aplikáciu alebo pomocou Apache, tu odporúčam použiť WSGI. Ďalši informácie o možnostiach hostingu, školeniach a vývoji pluginov pre Trac, nájdete na stránkach SinusGear.com.
A je to tu. Oficiálne bol oznámený nový release Twisted 10. Obsahuje množstvo bugfixov, lepšiu integráciu s GTK, rýchlejší perspective broker.
V článku Twisted – Python engine pre internet, nájde ďalšie informácie o Twisted. Pre softvérových fajnšmekrov som kedysi vyrendroval Code swarm – život projektu Twisted.
Pre záujemcov o Python sa objavili na trhu nové knižky: Beginning Python: Using Python 2.6 and Python 3.1, Python testing: Beginner’s guide
Minulý rok sa dostal na pulty novinových stánkov nový časopis – Robot Revue. Takýto časopis zameraný na robotov a robotiku na trhu už dlho chýbal.
Na internete nájdete veľa materiálov o tom, ako si postaviť a naprogramovať robota. Jediný problém je, že väčšina týchto materiálov je v angličtine. Robot Revue hovorí zrozumiteľným jazykom. Okrem technických noviniek, návodov a zaujímavostí, tu nájdete aj seriály o programovaní. Momentálne v časopise beží seriál o programovaní robotov pomocou Javy a Pythonu.
Ešte nemáte časopis Robot Revue predplatený? Tak to napravte. Študenti môžu získať pomerne výraznú zľavu.
Tags: časopis, Java, konštrukcia, programovanie, Python, robot
Konferencia EuroPython 2010 sa bude konať 19.-22. 7. v Birminghame (UK). Call for papers bude otvorený v priebehu ferbruára.
Pre zaujímavosť uvediem, že keynote v roku 2009 prezentoval Bruce Eckel. Bruce je autorom mnohých kníh, ktoré určujú smer vývoja IT. Napríklad Learn Flex Fast! alebo Python 3 Patterns, Recipes and Idioms.
Archív minulých konferencií nie je momentálne k dispozícii vzhľadom na postupujúce prípravné práce. Ak sa náhodou chystáte na túto konferenciu, dajte vedieť
Tags: Adobe, Flex, konferencia, Python
Ani to nie je tak dávno, čo som tu písal o dôležitosti počítačových hier pre developerov a čuduj sa svete. Na internete je k dispozícii plná verzia elektronickej knihy Invent Your Own Computer Game with Python.
Kniha vás prevedie rôznymi oblasťami, ako napríklad detekcia kolízie objektov, sonar, grafika, animácia a zvuky. Je prehľadne spracovaná a zrozumiteľná pre laika. Je publikovaná pod licenciou Creative Commons.
Prajem príjemnú zábavu. Ak vytvoríte nejakú hru, nezabudnite poslať na ňu odkaz
Tags: hry, Python, vývoj, začiatočník