SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Python na Web

      Igor Sobreira
   www.igorsobreira.com
Eu
• sou Igor Sobreira
• programo em Python a 4 anos
• atualmente só com web
  •      Smart Nuts Technology
  •      Soda Virtual

• Faço TSI no IFPB (antigo CEFET-PB)
• Velejo de windsurf nas horas vagas (e raras)
Como se programa em
  Python pra web?
Existem muitos
 frameworks
   muitos mesmo...
4Suite
                                         Karrigell
   Albatross
                                           Maki
   Aquariun                                                                  Snakelets
                                       mod_python
     Berry                                                                     Sparck
                                          mnml
    Bottle                                                                     Spyce
                                           newf
    Circuits                                                                TurboGears
                                          Paste
   CherryPy                                                                    Wasp
                                          Pylons
   Crusader                                                                   web.py
                                   Python Server Pages
  Cymberline                                                                  web2py
                                  Python Servlet Engine
Divmod Nevow                                                                  webpyte
                                     Python Gearfsh
    Django                                                                   Webware
                                        PyWebLib
    Gizmo
                                            QP
  JOWWeb2
                                         Quixote
     Juno
                                        SkunkWeb
     Zope



  Fonte: http://www.slideshare.net/hdiogenes/wsgi-pycon-brasil-2008-presentation (Humberto Diógenes)
Começando por baixo...
WSGI
Web Server Gateway Interface
          PEP 333
Uma interface que permite servidores
e aplicações conversarem, de maneira
          simples e portável
Ilustração de Ian Bicking
PEP 333



“...WSGI must be easy to implement...”



 Mas não pra vocês, e sim pra quem
   cria frameworks e servidores
Middleware
Ilustração de Ian Bicking
• Autenticação
• Compressão
• Debug
• Signed Cookies
• etc...
Alguns servidores WSGI
• Apache (mod_wsgi)
• Paste
• Cherrypy
• Twisted
• wsgiref (builtin)
 http://www.wsgi.org/wsgi/Servers
Frameworks
O que eu preciso?
                            no mínimo...

• Persistência de dados
• Engine de templates
• Mapeador de URLs
• Controle de sessões
• Formulários e validação
• Outras apresentações do conteúdo
 •   RSS, Atom, JSON, XML

                               O que temos por aí?
CMS
Servidor de aplicações   Conent Management
                              System
• Full Stack, e extremamente fexível
• Reúsa vários componentes já existentes
• É fácil substituir qualquer um
 • a idéia é justamente essa!
TurboGears

•   Full Stack, também reúsa componentes WSGI existentes

•   mas não tanto com a flosofa de fexibilidade do Pylons

•   aliás, TG2 usa Pylons :-)
Django
•   Atualmente o mais popular no mundo python

•   Full Stack, e não reúsa nada

    •   isso ajuda muito a integração interna de componentes

•   Quebra seu “projeto” em “aplicações”

    •   facilita muito o reúso (já tem muita app por aí)

    •   ele mesmo já tem algumas, como o admin


                                             é o que eu uso :-)
•   Full Stack

•   Também implementou seus componentes

•   Interface administrativa muito rica (dá pra programar
    pelo browser!)
Google App Engine
•   Rode sua aplicação na infraestrutura do Google

•   Autenticação pelo Google

•   Big Table

•   Suporta vários frameworks
Monte o seu!
Escolha os módulos que você mais gosta e use


SQLAlchemy, DejaVu, Storm,
  CounchDB, MongoDB...                  Beaker


      Jinja2, Genhi, Mako         Routes


    Paste              CherryPy            ...

       Repoze                Werkzeug
Mas eu quero fazer tudo
       sozinho!
Boa sorte :-)
O que mais?
 não exatamente python-related
            related
Use um sistema de controle de
            versão

 • Mas eu acho que não precis...
  • Você tá errado, use!


                           Bazar
Use um sistema de controle de
         deployment


• Fabric (Python)
• Capistrano (Ruby)
Exemplo do Fabric
fabfle.py




                 $ fab deploy
É isso. Dúvidas?
Contato
 • www.igorsobreira.com
 • igor@igorsobreira.com
Junte-se a comunidade
 • www.grupypb.net
 • www.python.org
 • www.python.org.br

Contenu connexe

Tendances

Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Desenvolvendo mvp com python
Desenvolvendo mvp com pythonDesenvolvendo mvp com python
Desenvolvendo mvp com pythonBruno Rocha
 
Treinamento Básico de Django
Treinamento Básico de DjangoTreinamento Básico de Django
Treinamento Básico de DjangoLeandro Zanuz
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyRelsi Maron
 
Criando websites a jato com Django
Criando websites a jato com DjangoCriando websites a jato com Django
Criando websites a jato com DjangoMarcos Petry
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
 
BDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemasBDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemasVitor Mattos
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Webantonio sérgio nogueira
 
Despertando para o PHP
Despertando para o PHPDespertando para o PHP
Despertando para o PHPRafael Dohms
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyGilson Filho
 
Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Bernardo Fontes
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017Vitor Mattos
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
 
Construindo Sistemas Com Django
Construindo Sistemas Com DjangoConstruindo Sistemas Com Django
Construindo Sistemas Com DjangoMarinho Brandão
 

Tendances (20)

Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Desenvolvendo mvp com python
Desenvolvendo mvp com pythonDesenvolvendo mvp com python
Desenvolvendo mvp com python
 
Django - Muito além do básico
Django - Muito além do básicoDjango - Muito além do básico
Django - Muito além do básico
 
Treinamento Básico de Django
Treinamento Básico de DjangoTreinamento Básico de Django
Treinamento Básico de Django
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
Criando websites a jato com Django
Criando websites a jato com DjangoCriando websites a jato com Django
Criando websites a jato com Django
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e Python
 
BDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemasBDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemas
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
 
Como fazer boas libs
Como fazer boas libs Como fazer boas libs
Como fazer boas libs
 
Despertando para o PHP
Despertando para o PHPDespertando para o PHP
Despertando para o PHP
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
 
Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017
 
Desenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando PythonDesenvolvimento de aplicações embarcadas utilizando Python
Desenvolvimento de aplicações embarcadas utilizando Python
 
Construindo Sistemas Com Django
Construindo Sistemas Com DjangoConstruindo Sistemas Com Django
Construindo Sistemas Com Django
 

En vedette

Introduction to Python for Symbian S60
Introduction to Python for Symbian S60Introduction to Python for Symbian S60
Introduction to Python for Symbian S60Marcel Caraciolo
 
Mini-Curso Python para Symbian
Mini-Curso Python para SymbianMini-Curso Python para Symbian
Mini-Curso Python para SymbianMarcel Caraciolo
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Jonh Edson
 
Desenvolvimento web com Python, Zope e Plone
Desenvolvimento web com Python, Zope e PloneDesenvolvimento web com Python, Zope e Plone
Desenvolvimento web com Python, Zope e PloneJacson Tiola
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonJanderson Campêlo
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do GoogleLuciano Ramalho
 
2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com PythonJardel Weyrich
 
Ensinando a programar através do Python turtle graphics
Ensinando a programar através do Python turtle graphicsEnsinando a programar através do Python turtle graphics
Ensinando a programar através do Python turtle graphicsGuilherme Medeiros
 
Oficina Python e Google App Engine
Oficina Python e Google App EngineOficina Python e Google App Engine
Oficina Python e Google App EngineRodrigo Amaral
 

En vedette (13)

Introduction to Python for Symbian S60
Introduction to Python for Symbian S60Introduction to Python for Symbian S60
Introduction to Python for Symbian S60
 
Mini-Curso Python para Symbian
Mini-Curso Python para SymbianMini-Curso Python para Symbian
Mini-Curso Python para Symbian
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0
 
Desenvolvimento web com Python, Zope e Plone
Desenvolvimento web com Python, Zope e PloneDesenvolvimento web com Python, Zope e Plone
Desenvolvimento web com Python, Zope e Plone
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Python e MongoDB - Ensol
Python e MongoDB - EnsolPython e MongoDB - Ensol
Python e MongoDB - Ensol
 
Introducao python 2010
Introducao python 2010Introducao python 2010
Introducao python 2010
 
Diversidade na Comunidade Python
Diversidade na Comunidade PythonDiversidade na Comunidade Python
Diversidade na Comunidade Python
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - Python
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do Google
 
2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python
 
Ensinando a programar através do Python turtle graphics
Ensinando a programar através do Python turtle graphicsEnsinando a programar através do Python turtle graphics
Ensinando a programar através do Python turtle graphics
 
Oficina Python e Google App Engine
Oficina Python e Google App EngineOficina Python e Google App Engine
Oficina Python e Google App Engine
 

Similaire à Python na Web

Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?Izabela Guerreiro
 
Heroku escalabilidade
Heroku escalabilidadeHeroku escalabilidade
Heroku escalabilidadeBruno Andrade
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores RubyEric Hideki
 
Django: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazoDjango: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazoBernardo Fontes
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias IncluídasJonh Edson
 
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!iMasters
 
Cases de Python no 7Masters 2012
Cases de Python no 7Masters 2012Cases de Python no 7Masters 2012
Cases de Python no 7Masters 2012Rodrigo Senra
 
IPCOP - Firewalls para os comuns mortais
IPCOP - Firewalls para os comuns mortaisIPCOP - Firewalls para os comuns mortais
IPCOP - Firewalls para os comuns mortaisMarco Pinheiro
 
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012Rogerio Prado de Jesus
 
Node.js em produção, javascript no server side
Node.js em produção, javascript no server sideNode.js em produção, javascript no server side
Node.js em produção, javascript no server sideThiago Avelino
 
Python - o que, porque, como e quando
Python - o que, porque, como e quandoPython - o que, porque, como e quando
Python - o que, porque, como e quandoGustavo Carvalho
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Bruno Rocha
 
Praticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaPraticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaIvayr Farah Netto
 
Django Tem Ritmo
Django Tem RitmoDjango Tem Ritmo
Django Tem Ritmoitalomaia
 
Quer ser um Full-Stack Developer? Essas são algumas "coisinhas" que você prec...
Quer ser um Full-Stack Developer? Essas são algumas "coisinhas" que você prec...Quer ser um Full-Stack Developer? Essas são algumas "coisinhas" que você prec...
Quer ser um Full-Stack Developer? Essas são algumas "coisinhas" que você prec...Bruno Oliveira
 
Gerando bindings de bibliotecas C++ para Python
Gerando bindings de bibliotecas C++ para PythonGerando bindings de bibliotecas C++ para Python
Gerando bindings de bibliotecas C++ para PythonMarcelo Lira
 

Similaire à Python na Web (20)

Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
Plack
PlackPlack
Plack
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 
Heroku escalabilidade
Heroku escalabilidadeHeroku escalabilidade
Heroku escalabilidade
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
Django: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazoDjango: um framework web para perfeccionistas com prazo
Django: um framework web para perfeccionistas com prazo
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias Incluídas
 
W2py pyconpe
W2py pyconpeW2py pyconpe
W2py pyconpe
 
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
 
Cases de Python no 7Masters 2012
Cases de Python no 7Masters 2012Cases de Python no 7Masters 2012
Cases de Python no 7Masters 2012
 
IPCOP - Firewalls para os comuns mortais
IPCOP - Firewalls para os comuns mortaisIPCOP - Firewalls para os comuns mortais
IPCOP - Firewalls para os comuns mortais
 
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
 
Node.js em produção, javascript no server side
Node.js em produção, javascript no server sideNode.js em produção, javascript no server side
Node.js em produção, javascript no server side
 
Python - o que, porque, como e quando
Python - o que, porque, como e quandoPython - o que, porque, como e quando
Python - o que, porque, como e quando
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011
 
Praticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaPraticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnica
 
Django Tem Ritmo
Django Tem RitmoDjango Tem Ritmo
Django Tem Ritmo
 
Quer ser um Full-Stack Developer? Essas são algumas "coisinhas" que você prec...
Quer ser um Full-Stack Developer? Essas são algumas "coisinhas" que você prec...Quer ser um Full-Stack Developer? Essas são algumas "coisinhas" que você prec...
Quer ser um Full-Stack Developer? Essas são algumas "coisinhas" que você prec...
 
Gerando bindings de bibliotecas C++ para Python
Gerando bindings de bibliotecas C++ para PythonGerando bindings de bibliotecas C++ para Python
Gerando bindings de bibliotecas C++ para Python
 

Python na Web

  • 1. Python na Web Igor Sobreira www.igorsobreira.com
  • 2. Eu • sou Igor Sobreira • programo em Python a 4 anos • atualmente só com web • Smart Nuts Technology • Soda Virtual • Faço TSI no IFPB (antigo CEFET-PB) • Velejo de windsurf nas horas vagas (e raras)
  • 3. Como se programa em Python pra web?
  • 4. Existem muitos frameworks muitos mesmo...
  • 5. 4Suite Karrigell Albatross Maki Aquariun Snakelets mod_python Berry Sparck mnml Bottle Spyce newf Circuits TurboGears Paste CherryPy Wasp Pylons Crusader web.py Python Server Pages Cymberline web2py Python Servlet Engine Divmod Nevow webpyte Python Gearfsh Django Webware PyWebLib Gizmo QP JOWWeb2 Quixote Juno SkunkWeb Zope Fonte: http://www.slideshare.net/hdiogenes/wsgi-pycon-brasil-2008-presentation (Humberto Diógenes)
  • 7. WSGI Web Server Gateway Interface PEP 333
  • 8. Uma interface que permite servidores e aplicações conversarem, de maneira simples e portável
  • 10.
  • 11. PEP 333 “...WSGI must be easy to implement...” Mas não pra vocês, e sim pra quem cria frameworks e servidores
  • 14. • Autenticação • Compressão • Debug • Signed Cookies • etc...
  • 15. Alguns servidores WSGI • Apache (mod_wsgi) • Paste • Cherrypy • Twisted • wsgiref (builtin) http://www.wsgi.org/wsgi/Servers
  • 17. O que eu preciso? no mínimo... • Persistência de dados • Engine de templates • Mapeador de URLs • Controle de sessões • Formulários e validação • Outras apresentações do conteúdo • RSS, Atom, JSON, XML O que temos por aí?
  • 18. CMS Servidor de aplicações Conent Management System
  • 19. • Full Stack, e extremamente fexível • Reúsa vários componentes já existentes • É fácil substituir qualquer um • a idéia é justamente essa!
  • 20. TurboGears • Full Stack, também reúsa componentes WSGI existentes • mas não tanto com a flosofa de fexibilidade do Pylons • aliás, TG2 usa Pylons :-)
  • 21.
  • 22. Django • Atualmente o mais popular no mundo python • Full Stack, e não reúsa nada • isso ajuda muito a integração interna de componentes • Quebra seu “projeto” em “aplicações” • facilita muito o reúso (já tem muita app por aí) • ele mesmo já tem algumas, como o admin é o que eu uso :-)
  • 23. Full Stack • Também implementou seus componentes • Interface administrativa muito rica (dá pra programar pelo browser!)
  • 24. Google App Engine • Rode sua aplicação na infraestrutura do Google • Autenticação pelo Google • Big Table • Suporta vários frameworks
  • 26. Escolha os módulos que você mais gosta e use SQLAlchemy, DejaVu, Storm, CounchDB, MongoDB... Beaker Jinja2, Genhi, Mako Routes Paste CherryPy ... Repoze Werkzeug
  • 27. Mas eu quero fazer tudo sozinho!
  • 29. O que mais? não exatamente python-related related
  • 30. Use um sistema de controle de versão • Mas eu acho que não precis... • Você tá errado, use! Bazar
  • 31. Use um sistema de controle de deployment • Fabric (Python) • Capistrano (Ruby)
  • 34. Contato • www.igorsobreira.com • igor@igorsobreira.com Junte-se a comunidade • www.grupypb.net • www.python.org • www.python.org.br