associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

GrupyPrRelReuniao03Maio2008

Informações sobre o encontro

Relatório do encontro

Inttrodução

A atividade de sprint é um evento de programação com foco em um problema que dura de 2 a 3 dias e utiliza técnicas de desenvolvimento extremo. Planejamos o nosso sprint inicialmente para nor reunirmos e iniciar um hábito de nos encontrarmos de vez em quando e com frequencia, além de experimentar essa modalidade de apoio a software livre. A idéia proposta é de melhorar a performance da biblioteca BeautifulSoup. A biblioteca BeautifulSoup é usada para tratar arquivos xml e htmlPag. do Projeto. Esta página pretende documentar a experiência, sugerir maneiras de organizar um sprint e sobre as ferramentas e sobre a biblioteca BeautifulSoup. Consiste dessa introdução, uma breve ata, avaliação da experiência, sugestões e ao final a conclusão.

Ata

Reunimos à partir das 14:00 h de sábado, dia 03 de maio, Éverton Ribeiro, Luiz Carlos Geron, Ramiro Batista da Luz e Wilian Alves Souza no escritório do Luiz. Fizemos uma pequena apresentação sobre a biblioteca e começamos a pesuisa. O Luiz estudou o código da biblioteca, enquanto os outros ficaram pesquisando implementações de XPath em python, e possiveis substitutos à biblioteca sgmllib, usada pela biblioteca BeautifulSoup. Durante o tempo que estivemos pesquisando fomos olhando juntos e discutindo algumas coisas relacionadas às possibilidades de implantação. Trocamos experiencias sobre ferramentas e encontramos um script de benchmarch para algumas bibliotecas de parser html/xml num blogsgml benchmark, lendo o blog com mais calma achei outro link interessante de outro bloghtml parser performance.

Avaliação

Avaliamos o encontro como bom. Não podemos dizer que foi ótimo e produtivo, mas também não foi ruim. Trocamos experiências, estudamos juntos, tomamos refrigerante, contamos piadas, enfim foi divertido e aprendemos muito ao mesmo tempo. Além de ter a oportunidade de participar de um pequeno sprint pudemos observar como funciona e como achamos que deveria funcionar. Todas essas coisas vamos abordar nas sugestões.

Sugestões

Algumas das ferramentas usadas e que gostaríamos de sugerir pois são bacanas.

  • htop Um top melhorado, muito bacana com muitas opções diferenciadas em relação ao top comum.
  • KCacheGrind Muito legal, apresenta em modo gráfico informações relacionadas ao profile de execução de programaPag. do projeto.

  • cProfile Opção para geração de profile, para rodar é só usar:
    • python -m cProfile programa.py
  • lsprofcalltree.py Outra opção para profile, útil para gerar saída para o KCacheGrindScript.

  • cElementTree Opção de biblioteca para parser HTML em substituição à sgmllib, pelas pesquisas tem possibilidade de ser mais rápida.
  • 4Suite Outra opção de biblioteca para substituir a sgmllib.
  • ipython Interpretador python com recursos adicionais como complemento por TAB e diversas macros úteis.

Aprendemos com nossa experiência que a preparação é muito importante. Estudar a biblioteca, olhar o código, documentação para desenvolvedores, buscar opções e idéias de implementação, combinar com os outros participantes os caminhos que serão tomados, para aproveitar bem o tempo em desenvolvimento. Além disso é importante lembrar que um sprint tem duração de 2 ou três dias, nós nos reunimos por cerca de 5 horas.

Uma outra idéia é que o sprint tem um coordenador, alguém que é responsável por buscar informações sobre a biblioteca, pesquisar algumas opções e coordenar a disseminação das informações e também as atividades do sprint. Um secretário para ir reunindo informações e documentando o encontro, além de escrever o relatório do encontro é importante também.

Conclusão

Concluímos que o encontro foi bom e ainda pode gerar resultados, tivemos um nivelamento inicial do conhecimento dos participantes sobre a biblioteca, aprendemos uns com os outros e fortalecemos nossa amizade. Esse tipo de experiencia é muito gratificante pois a troca de conhecimento e a convivencia traz um sentimento de que saímos do encontro diferentes do que quando chegamos, para melhor.