SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Usando Python na
Google Application Engine
Luiz Cláudio Silva
luizclaudio@gmail.com
@luizclaudios
Agenda

• Internet, grid, nuvem
• Porque Python
• Juntando tudo
Uma rede que
interligou o
mundo
Do que mais
precisamos?
CPU, memória, armazenamento,
       sob demanda
The Grid: “O computador é a rede”
Melhor ainda:
Viver nas nuvens
Mas, e o Python?
• Criada por Guido von rossum em 1991

• Homenagem ao grupo Monty Python

• Linguagem de altíssimo nível (VHLL)

• Sintaxe simples e fácil de ser de assimilada

• Multiparadigma (OO, estruturada e funcional)

• Tipagem forte e dinâmica

• Multiplataforma

• Interpretada (bytecodes)

• Ambiente interativo

•Vem com baterias

• SL (licença compatível GPL)
Quem usa                                      ?




   http://www.slideshare.net/marcoandre/porque-python-pythonbrasil6
• Plataforma de desenvolvimento e hospedagem

         • Oferecida a partir de 2008

         • Aplicações virtualizadas entre vários servidores

         • Gratuita para poucos recursos utilizados

Google   • Cobrança por maior uso de armazenamento, banda
           ou ciclos de máquina
 App     • Suporte a Python, Java e Go

Engine   • Algumas restrições (sandbox)
• Versão 1.5.0 (maio de 2011)

         • Python Runtime Environment (webapp, CGI)

Google   • Datastore (ORM, GQL)

 App     • Services (Memcache, Mail, Images,
           Google Accounts)
Engine   • Scheduled Tasks (Cron)

         • Tools (development server, appcfg.py, data upload)
app.yaml




helloworld.py
helloworld.py
Exemplo de classe de domínio




Exemplo de classe de controle (POST)
Exemplo de classe de controle (GET)
Exemplo de template
Definindo local para arquivos estáticos
Aplicação exemplo
E agora?
• www.python.org

• www.python.org.br

• http://groups.google.com/group/grupy-ba

• http://code.google.com/appengine

Más contenido relacionado

La actualidad más candente

Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigitalJust Digital
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Renato Groff
 
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geralRenato Groff
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Rodrigo Kono
 
O CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comO CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comAlexandre Saboia Fuziyama
 
Abertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreAbertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreRodrigo Kono
 
ASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev WeekASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev WeekRenato Groff
 
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
Tecnologias em 2021: no que ficar de olho? | WTT2021 - MackenzieTecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
Tecnologias em 2021: no que ficar de olho? | WTT2021 - MackenzieRenato Groffe
 
TypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptTypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptRodrigo Kono
 
C# 7.0 e .NET Core - Canal .NET Dev Week
C# 7.0 e .NET Core - Canal .NET Dev WeekC# 7.0 e .NET Core - Canal .NET Dev Week
C# 7.0 e .NET Core - Canal .NET Dev WeekRenato Groff
 
Frameworks Web e Python
Frameworks Web e PythonFrameworks Web e Python
Frameworks Web e PythonÁlvaro Justen
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Renato Groff
 
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...Renato Groff
 
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com JavajesuinoPower
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaRodrigo Kono
 
Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no AzureRodrigo Kono
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 

La actualidad más candente (20)

Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
 
Slide
SlideSlide
Slide
 
As Novidades do I3geo
As Novidades do I3geoAs Novidades do I3geo
As Novidades do I3geo
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1
 
O CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comO CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.com
 
Abertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreAbertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET Core
 
ASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev WeekASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev Week
 
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
Tecnologias em 2021: no que ficar de olho? | WTT2021 - MackenzieTecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
 
TypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptTypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascript
 
C# 7.0 e .NET Core - Canal .NET Dev Week
C# 7.0 e .NET Core - Canal .NET Dev WeekC# 7.0 e .NET Core - Canal .NET Dev Week
C# 7.0 e .NET Core - Canal .NET Dev Week
 
Frameworks Web e Python
Frameworks Web e PythonFrameworks Web e Python
Frameworks Web e Python
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
 
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
 
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com Java
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração Contínua
 
Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no Azure
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 

Destacado

Gaelyk: Desenvolvimento Ágil em Groovy nas Nuvens da Google
Gaelyk: Desenvolvimento Ágil em Groovy nas Nuvens da GoogleGaelyk: Desenvolvimento Ágil em Groovy nas Nuvens da Google
Gaelyk: Desenvolvimento Ágil em Groovy nas Nuvens da GoogleSerge Rehem
 
Java User Group - O que é e como eu faço para participar?
Java User Group - O que é e como eu faço para participar?Java User Group - O que é e como eu faço para participar?
Java User Group - O que é e como eu faço para participar?jeffersonmoreirati
 
Coding Dojo em 5 Minutos
Coding Dojo em 5 MinutosCoding Dojo em 5 Minutos
Coding Dojo em 5 MinutosSerge Rehem
 
Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Rafael Ponte
 
NoSQL - Por que e quando usar?
NoSQL - Por que e quando usar?NoSQL - Por que e quando usar?
NoSQL - Por que e quando usar?Nico Steppat
 

Destacado (11)

Gaelyk: Desenvolvimento Ágil em Groovy nas Nuvens da Google
Gaelyk: Desenvolvimento Ágil em Groovy nas Nuvens da GoogleGaelyk: Desenvolvimento Ágil em Groovy nas Nuvens da Google
Gaelyk: Desenvolvimento Ágil em Groovy nas Nuvens da Google
 
Tdd principios oo
Tdd principios oo Tdd principios oo
Tdd principios oo
 
Java User Group - O que é e como eu faço para participar?
Java User Group - O que é e como eu faço para participar?Java User Group - O que é e como eu faço para participar?
Java User Group - O que é e como eu faço para participar?
 
Google Maps API V3
Google Maps API V3Google Maps API V3
Google Maps API V3
 
Jpa de a à z por que conhecer jpa
Jpa de a à z  por que conhecer jpa Jpa de a à z  por que conhecer jpa
Jpa de a à z por que conhecer jpa
 
Palestra Carreira Java Bahia Meeting
Palestra Carreira Java Bahia MeetingPalestra Carreira Java Bahia Meeting
Palestra Carreira Java Bahia Meeting
 
Coding Dojo em 5 Minutos
Coding Dojo em 5 MinutosCoding Dojo em 5 Minutos
Coding Dojo em 5 Minutos
 
Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)
 
Spring Data Jpa
Spring Data JpaSpring Data Jpa
Spring Data Jpa
 
Spring Data Jpa
Spring Data JpaSpring Data Jpa
Spring Data Jpa
 
NoSQL - Por que e quando usar?
NoSQL - Por que e quando usar?NoSQL - Por que e quando usar?
NoSQL - Por que e quando usar?
 

Similar a Usando Python na Google Application Engine

App Engine: aplicações escaláveis em poucas horas
App Engine: aplicações escaláveis em poucas horasApp Engine: aplicações escaláveis em poucas horas
App Engine: aplicações escaláveis em poucas horasOsvaldo Santana Neto
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
 
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorchFacebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorchFulvio Mascara
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDomingos Teruel
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupAndré Cruz
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
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
 
Microservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesMicroservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesGuilherme Vierno
 
TaaS: Testbeds como Serviço
TaaS: Testbeds como ServiçoTaaS: Testbeds como Serviço
TaaS: Testbeds como ServiçoLeandro Ciuffo
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital PreservationRoberto Beraldo Chaiben
 
Estaleiro o uso de kubernetes no serpro
Estaleiro   o uso de kubernetes no serproEstaleiro   o uso de kubernetes no serpro
Estaleiro o uso de kubernetes no serproRicardo Katz
 
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
 

Similar a Usando Python na Google Application Engine (20)

Python na Nuvem
Python na NuvemPython na Nuvem
Python na Nuvem
 
App Engine: aplicações escaláveis em poucas horas
App Engine: aplicações escaláveis em poucas horasApp Engine: aplicações escaláveis em poucas horas
App Engine: aplicações escaláveis em poucas horas
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Java Nuvem Appengine
Java Nuvem AppengineJava Nuvem Appengine
Java Nuvem Appengine
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
 
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorchFacebook Developer Circles SP - Redes neurais convolucionais com PyTorch
Facebook Developer Circles SP - Redes neurais convolucionais com PyTorch
 
Com vocês, Django!
Com vocês, Django!Com vocês, Django!
Com vocês, Django!
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon Meetup
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
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
 
Microservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesMicroservices em Python: desafios e soluções
Microservices em Python: desafios e soluções
 
TaaS: Testbeds como Serviço
TaaS: Testbeds como ServiçoTaaS: Testbeds como Serviço
TaaS: Testbeds como Serviço
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
 
Estaleiro o uso de kubernetes no serpro
Estaleiro   o uso de kubernetes no serproEstaleiro   o uso de kubernetes no serpro
Estaleiro o uso de kubernetes no serpro
 
Postgresql +python
Postgresql +pythonPostgresql +python
Postgresql +python
 
Postgre sql +python
Postgre sql +pythonPostgre sql +python
Postgre sql +python
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 

Más de Luiz Cláudio Silva

Servindo Aplicações Python na Nuvem
Servindo Aplicações Python na NuvemServindo Aplicações Python na Nuvem
Servindo Aplicações Python na NuvemLuiz Cláudio Silva
 
Python na Google App Engine (v3)
Python na Google App Engine (v3)Python na Google App Engine (v3)
Python na Google App Engine (v3)Luiz Cláudio Silva
 
Praticas Ágeis de Desenvolvimento de Software v3
Praticas Ágeis de Desenvolvimento de Software v3Praticas Ágeis de Desenvolvimento de Software v3
Praticas Ágeis de Desenvolvimento de Software v3Luiz Cláudio Silva
 
Computação em Nuvem, Padrões Abertos e Software LIvre
Computação em Nuvem, Padrões Abertos e Software LIvre Computação em Nuvem, Padrões Abertos e Software LIvre
Computação em Nuvem, Padrões Abertos e Software LIvre Luiz Cláudio Silva
 
Já ouviu falar em Extreme Programming?
Já ouviu falar em Extreme Programming?Já ouviu falar em Extreme Programming?
Já ouviu falar em Extreme Programming?Luiz Cláudio Silva
 
Praticas Ágeis de Desenvolvimento de Software v2
Praticas Ágeis de Desenvolvimento de Software v2Praticas Ágeis de Desenvolvimento de Software v2
Praticas Ágeis de Desenvolvimento de Software v2Luiz Cláudio Silva
 
Extreme Programming (Agile Tour 2011)
Extreme Programming (Agile Tour 2011)Extreme Programming (Agile Tour 2011)
Extreme Programming (Agile Tour 2011)Luiz Cláudio Silva
 
Práticas Ágeis de Desenvolvimento de Software
Práticas Ágeis de Desenvolvimento de SoftwarePráticas Ágeis de Desenvolvimento de Software
Práticas Ágeis de Desenvolvimento de SoftwareLuiz Cláudio Silva
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 

Más de Luiz Cláudio Silva (12)

Servindo Aplicações Python na Nuvem
Servindo Aplicações Python na NuvemServindo Aplicações Python na Nuvem
Servindo Aplicações Python na Nuvem
 
Usando BDs NoSQL com Python
Usando BDs NoSQL com PythonUsando BDs NoSQL com Python
Usando BDs NoSQL com Python
 
Computacao em Nuvem
Computacao em NuvemComputacao em Nuvem
Computacao em Nuvem
 
Python na Google App Engine (v3)
Python na Google App Engine (v3)Python na Google App Engine (v3)
Python na Google App Engine (v3)
 
Apresentando AngularJS
Apresentando AngularJSApresentando AngularJS
Apresentando AngularJS
 
Praticas Ágeis de Desenvolvimento de Software v3
Praticas Ágeis de Desenvolvimento de Software v3Praticas Ágeis de Desenvolvimento de Software v3
Praticas Ágeis de Desenvolvimento de Software v3
 
Computação em Nuvem, Padrões Abertos e Software LIvre
Computação em Nuvem, Padrões Abertos e Software LIvre Computação em Nuvem, Padrões Abertos e Software LIvre
Computação em Nuvem, Padrões Abertos e Software LIvre
 
Já ouviu falar em Extreme Programming?
Já ouviu falar em Extreme Programming?Já ouviu falar em Extreme Programming?
Já ouviu falar em Extreme Programming?
 
Praticas Ágeis de Desenvolvimento de Software v2
Praticas Ágeis de Desenvolvimento de Software v2Praticas Ágeis de Desenvolvimento de Software v2
Praticas Ágeis de Desenvolvimento de Software v2
 
Extreme Programming (Agile Tour 2011)
Extreme Programming (Agile Tour 2011)Extreme Programming (Agile Tour 2011)
Extreme Programming (Agile Tour 2011)
 
Práticas Ágeis de Desenvolvimento de Software
Práticas Ágeis de Desenvolvimento de SoftwarePráticas Ágeis de Desenvolvimento de Software
Práticas Ágeis de Desenvolvimento de Software
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 

Usando Python na Google Application Engine