Resultado inicial do estudo do Flask Framework
Cansado de fazer as coisas só com Django resolvi implementar algo usando algum outro framework Python. Como não curto estudar só a teoria e não implementar nada, resolvi fazer um microprojeto.
Como estava sem criatividade, lembrei de script que o Rudy Matela tinha feito para gerar um pdf com os textos dos postits do sprint. E resolvi fazer um clone da versão web usando Flask e Google App Engine(GAE).
O Flask é microframework feito em Python que usa o Jinja2 e Werkzeug, ele não é um framework full stack, ele vem só com o básico para você desenvolver sua aplicação Web, isso é vantagem no caso do uso com o GAE, pois como ele não tem um ORM própria, você pode usar SQLAlchemy, SQLObject ou mesmo a API de armazenamento de dados do GAE. O Flask possui extensões que ajudam no desenvolvimento para várias funcionalidade.
O resultado do estudo e implementação você pode ver no ScrumReal
O código você pode baixar através do github http://github.com/fabiocerqueira/scrumreal
Quem tiver sugestões sobre o que pode melhorar no código, agradeço!
PyLestras do PugCE – REST com Python
Hoje na Fa7 o PugCE realizou o evento PyLestras, tivemos 3 palestras e a resolução de problema em um pequeno Dojo.
As palestras foram:
- 09:00-09:20 – Conhecendo o PugCe (Italo Maia)
- 09:30-10:20 – AppEngine (Filipe Fernandes)
- 10:30-11:20 – Rest com Python (Eu \o)
- 11:30-12:00 – DOJO
O problema proposto para Dojo foi implementar a sequência de Conway da seguinte forma:
# -*- coding: utf-8 -*-
import doctest
def next(prev):
"""
>>> next(1)
'11'
>>> next(2)
'12'
>>> next(312311)
'1311121321'
>>> next(22)
'22'
"""
prev = str(prev)
res = ''
pa = prev[0]
acc = 0
for a in prev:
if a == pa:
acc += 1
else:
res += "%d%s" % (acc, pa)
acc = 1
pa = a
res += '%d%s' % (acc, pa)
return res
def conway(ini, lim):
"""
>>> conway(1, 1)
'1'
>>> conway(1, 6)
'1 11 21 1211 111221 312211'
>>> conway(3, 4)
'3 13 1113 3113'
>>> conway(22, 5)
'22 22 22 22 22'
"""
res = str(ini)
for i in range(lim - 1):
prev = res.split()[-1]
res += " %s" % next(prev)
return res
if __name__ == "__main__":
doctest.testmod(verbose=True)
Um segunda versão usando o módulo itertools do Python e geradores, mostra também como representar exceptions no doctest:
# -*- coding: utf-8 -*-
import doctest
from itertools import groupby
def conway_generator(ini, lim):
"""
>>> a = conway_generator(1, 1)
>>> a.next()
'1'
>>> a = conway_generator(2, 3)
>>> a.next()
'2'
>>> a.next()
'12'
>>> a.next()
'1112'
>>> a.next()
Traceback (most recent call last):
...
StopIteration
"""
res = str(ini)
yield res
for i in range(1, lim):
res = ''.join(["%d%s" % (len(list(g)), k) for k, g in groupby(res)])
yield res
def conway(ini, lim):
"""
>>> conway(1, 1)
'1'
>>> conway(1, 6)
'1 11 21 1211 111221 312211'
>>> conway(3, 4)
'3 13 1113 3113'
>>> conway(22, 5)
'22 22 22 22 22'
"""
return ' '.join(conway_generator(ini,lim))
if __name__ == "__main__":
doctest.testmod(verbose=True)
O problema não foi resolvido na hora do Dojo, mas serviu para mostrar algumas coisas interessante do Python
Os slides da minha palestra seguem abaixo assim como o link para o código usado de exemplo:
source: github.com/fabiocerqueira/murl
A história do Python
Na lista da Python Brasil divulgaram um blog com a história do Python. É uma leitura interessante e estou repassando aqui para outros também conhecerem melhor essa linguagem incrível.
Tem o blog oficial[1] mantido pelo Guido van Rossum e Greg Stein e também a traduação para pt-br[2] mantida pelo Douglas Drumond e Victor Matheus.
A versão em português não foi completamente traduzida.
PythOnCeará – Sokoban com S60
Hoje, dia 14/11, foi realizado na FA7 o primeiro evento do PUGCE. O evento foi muito bom, boa participação, ótimas discussões e um Coffee Break farto hehe. Segue os slides da minha palestra:
PythOnCeará – Primeiro evento do PugCE
No próximo sábado dia 14/11 será realizado na FA7(Faculdade 7 de Setembro) o primeiro evento dos programadores Python no Ceará. O evento será promovido pelo PugCE e contará com quatro palestras de diversos temas envolvendo Python, desde mercado, web, desktop e mobile.
Mais informações sobre o encontro:
local: FA7, em frente a Unifor, sala 35 – mapa
horário: das 13:00 às 17:30
dia: 14/11/09
Programação:
Quatro palestras de 50 minutos, com pausa para coffee break
Palestras:
- “Por que python?!” – Nicholas Amorim
- “Python para Web e Desktop” – Alec Nascimento
- “Django tem ritmo!” – Italo Maia
- “Sokoban com PyS60″ – Fábio Cerqueira
Eu serei um dos palestrantes como vocês viram na grade acima e falarei de como foi o desenvolvimento do Sokoban para celular. Espero a presença de quem ler isso aqui \o/
Faça sua inscrição no evento aqui.


