Os 4 trabalhos de Python
-
Upload
francisco-souza -
Category
Technology
-
view
2.873 -
download
0
description
Transcript of Os 4 trabalhos de Python
![Page 1: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/1.jpg)
Os 4 trabalhos de
Resolvendo desafios de diferentespropósitos com uma linguagem multipropósito
Python
Andrews Medinaandrewsmedina.com @[email protected]
Francisco Souzafranciscosouza.com
Monday, May 2, 2011
![Page 2: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/2.jpg)
Andrews Medina
Francisco Souza
#cobrateam member
moderador @ python-brasil/django-brasil
desenvolvedor @ globo.com
#cobrateam member
moderador @ django-brasil
desenvolvedor @ globo.com
Monday, May 2, 2011
![Page 3: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/3.jpg)
Trabalhos de Python?
Monday, May 2, 2011
![Page 4: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/4.jpg)
Monday, May 2, 2011
![Page 5: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/5.jpg)
Por que só 4?!
Monday, May 2, 2011
![Page 6: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/6.jpg)
Por que só 4?!São 12, mas...
Monday, May 2, 2011
![Page 7: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/7.jpg)
Por que só 4?!São 12, mas...
Monday, May 2, 2011
![Page 8: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/8.jpg)
1. Criar um framework para testes de aceitação em aplicações web
2. Criar uma aplicação para Android
3. Criar uma aplicação web para mapear access points
4. Criar um jogo de batalha naval
Monday, May 2, 2011
![Page 9: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/9.jpg)
1. Criar um framework para testes de aceitação em aplicações web
splinter
>>> from splinter.browser import Browser>>> browser = Browser('webdriver.chrome')>>> browser.visit('http://www.devincachu.com.br') >>> browser.find_link_by_text('Programação').first.click()>>> palestrantes = browser.find_by_css_selector('p.palestrante')>>> assert len(palestrantes) == 12>>> browser.quit()
Monday, May 2, 2011
![Page 10: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/10.jpg)
Teste de que?!
Monday, May 2, 2011
![Page 11: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/11.jpg)
Interfaces web
Monday, May 2, 2011
![Page 12: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/12.jpg)
http://www.flickr.com/photos/zakh/337938459/
Ferramentas
Monday, May 2, 2011
![Page 13: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/13.jpg)
‣ Alfajor‣ Mechanize‣ Selenium‣ twill‣ Windmill‣ zope.testbrowser‣ ...
Monday, May 2, 2011
![Page 14: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/14.jpg)
APIs
browser.open('http://www.google.com.br')assert 'Hello world' in browser.response
browser = mechanize.Browser()response = browser.open('http://www.google.com.br')assert 'Hello world' in response.get_data()
browser = Firefox()browser.get("http://www.google.com.br")assert 'Hello world' in browser.get_page_source()
browser = Browser()browser.open("http://www.google.com.br")assert 'Hello world' in browser.contents
Monday, May 2, 2011
![Page 15: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/15.jpg)
Unificando as APIs
browser = Browser('webdriver.firefox')browser.visit("http://www.google.com.br")assert 'Hello world' in browser.html
Monday, May 2, 2011
![Page 16: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/16.jpg)
Unificando as APIs
browser = Browser('zope.testbrowser')browser.visit("http://www.google.com.br")assert 'Hello world' in browser.html
Monday, May 2, 2011
![Page 17: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/17.jpg)
Unificando as APIs
browser = Browser('alfajor')browser.visit("http://www.google.com.br")assert 'Hello world' in browser.html
Monday, May 2, 2011
![Page 18: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/18.jpg)
API beta
Monday, May 2, 2011
![Page 19: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/19.jpg)
Encapsulando mágicas
Monday, May 2, 2011
![Page 20: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/20.jpg)
browser = Browser('webdriver.firefox')browser.visit("http://devincachu.com.br")element = browser.find_element_by_css('ul.menu li').firstelement.hover()
Monday, May 2, 2011
![Page 21: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/21.jpg)
browser = Browser('webdriver.firefox')browser.visit("http://devincachu.com.br")element = browser.find_element_by_css('ul.menu li').firstelement.hover()
Monday, May 2, 2011
![Page 22: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/22.jpg)
from selenium.webdriver.remote.command import Commandweb_element.execute(Command.HOVER_OVER_ELEMENT)
Monday, May 2, 2011
![Page 23: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/23.jpg)
http://127.0.0.1:$port/session/$sessionId/element/$id/hover
POST
Monday, May 2, 2011
![Page 24: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/24.jpg)
ou ainda...
Monday, May 2, 2011
![Page 25: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/25.jpg)
css_selector = 'ul.menu li:first'with open('js/jquery.js') as jquery_file: jquery = jquery_file.read() webdriver.execute_script(jquery) webdriver.execute_script('$("%s").hover()' % css_selector)
Monday, May 2, 2011
![Page 26: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/26.jpg)
element.hover()
Monday, May 2, 2011
![Page 27: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/27.jpg)
splinter.cobrateam.info
github.com/cobrateam/splinter
“Testando interfaces web com Python” (FISL)
Mais detalhes...
Monday, May 2, 2011
![Page 28: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/28.jpg)
2. Criar uma aplicação para Android
Monday, May 2, 2011
![Page 29: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/29.jpg)
Por que?
Monday, May 2, 2011
![Page 30: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/30.jpg)
Monday, May 2, 2011
![Page 31: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/31.jpg)
Python em dispositivos móveis
Monday, May 2, 2011
![Page 32: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/32.jpg)
Monday, May 2, 2011
![Page 33: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/33.jpg)
Monday, May 2, 2011
![Page 34: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/34.jpg)
Monday, May 2, 2011
![Page 35: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/35.jpg)
Quero programar em Python no iOS e no
Android, pode?
Monday, May 2, 2011
![Page 36: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/36.jpg)
Appcelerator TitaniumMonday, May 2, 2011
![Page 37: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/37.jpg)
SL4AScript Layer for Android
Monday, May 2, 2011
![Page 38: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/38.jpg)
Interface em HTML...
<h1>Sorteio</h1><p> <label for="limit">Número de inscritos</label> <input type="text" name="inscritos" value="200" id="limit"/></p><p> <input type="button" value="Sortear" onclick="raffle();" /></p>
Monday, May 2, 2011
![Page 39: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/39.jpg)
Interface em HTML...
<h1>Sorteio</h1><p> <label for="limit">Número de inscritos</label> <input type="text" name="inscritos" value="200" id="limit"/></p><p> <input type="button" value="Sortear" onclick="raffle();" /></p>
Monday, May 2, 2011
![Page 40: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/40.jpg)
droid. eventWaitFor('raffle')
Monday, May 2, 2011
![Page 41: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/41.jpg)
github.com/cobrateam/android-sorteio
code.google.com/p/android-scripting
Mais detalhes...
Monday, May 2, 2011
![Page 42: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/42.jpg)
3. Criar uma aplicação web para mapear access points
Monday, May 2, 2011
![Page 43: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/43.jpg)
‣ globo.com‣ guardian.uk‣ brasil.gov.br‣ yahoo!‣ apontador
‣ facebook‣ new york times‣ google‣ disqus
Monday, May 2, 2011
![Page 44: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/44.jpg)
‣ Django‣ web2py‣ Pylons‣ Grok‣ TurboGears
‣ Zope‣ Tornado‣ Flask‣ Bottle‣ CherryPy
‣ circuits.web‣ TwistedWeb‣ tipfy‣ pyramid‣ Bobo
bit.ly/python-frameworks
Monday, May 2, 2011
![Page 45: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/45.jpg)
Monday, May 2, 2011
![Page 46: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/46.jpg)
O framework web para perfeccionistas com prazos
“”Monday, May 2, 2011
![Page 47: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/47.jpg)
uma aplicação completa
48 horas
Monday, May 2, 2011
![Page 48: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/48.jpg)
wifimap, uma forma fácil de descobrir se tem um lugar com wifi
por perto...
Monday, May 2, 2011
![Page 49: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/49.jpg)
show me the map...
Monday, May 2, 2011
![Page 50: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/50.jpg)
Monday, May 2, 2011
![Page 51: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/51.jpg)
4. Criar um jogo de batalha naval
Monday, May 2, 2011
![Page 52: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/52.jpg)
Monday, May 2, 2011
![Page 53: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/53.jpg)
Monday, May 2, 2011
![Page 54: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/54.jpg)
Monday, May 2, 2011
![Page 55: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/55.jpg)
um simples simulador de batalha naval feito em um fim de semana...
Monday, May 2, 2011
![Page 56: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/56.jpg)
show me the game...
Monday, May 2, 2011
![Page 57: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/57.jpg)
a aventura continua...
Monday, May 2, 2011
![Page 58: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/58.jpg)
github.com/cobrateam/osdozetrabalhos
Monday, May 2, 2011
![Page 59: Os 4 trabalhos de Python](https://reader033.fdocumentos.com/reader033/viewer/2022052505/5555d29ed8b42a711f8b4ae5/html5/thumbnails/59.jpg)
Obrigado!
Andrews Medinaandrewsmedina.com @[email protected]
Francisco Souzafranciscosouza.com
cobrateam.infogithub.com/cobrateam
Monday, May 2, 2011