Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Os 4 trabalhos de                      Python               Resolvendo desafios de diferentes   propósitos com uma linguage...
Andrews Medina #cobrateam member moderador @ python-brasil/django-brasil desenvolvedor @ globo.com                        ...
Trabalhos de                    Python?Monday, May 2, 2011
Monday, May 2, 2011
Por que só 4?!Monday, May 2, 2011
Por que só 4?!    São 12, mas...Monday, May 2, 2011
Por que só 4?!    São 12, mas...Monday, May 2, 2011
1. Criar um framework para testes de  aceitação em aplicações web  2. Criar uma aplicação para Android  3. Criar uma aplic...
1. Criar um framework para testes de  aceitação em aplicações web       >>>    from splinter.browser import Browser       ...
Teste de que?!Monday, May 2, 2011
Interfaces webMonday, May 2, 2011
Ferramentashttp://www.flickr.com/photos/zakh/337938459/Monday, May 2, 2011
‣      Alfajor               ‣      Mechanize               ‣      Selenium               ‣      twill               ‣    ...
browser.open(http://www.google.com.br)  assert Hello world in browser.response                      browser = mechanize.Br...
Unificando as APIs     browser = Browser(webdriver.firefox)     browser.visit("http://www.google.com.br")     assert Hello ...
Unificando as APIs     browser = Browser(zope.testbrowser)     browser.visit("http://www.google.com.br")     assert Hello w...
Unificando as APIs     browser = Browser(alfajor)     browser.visit("http://www.google.com.br")     assert Hello world in b...
API betaMonday, May 2, 2011
Encapsulando                mágicasMonday, May 2, 2011
browser = Browser(webdriver.firefox)     browser.visit("http://devincachu.com.br")     element = browser.find_element_by_c...
browser = Browser(webdriver.firefox)     browser.visit("http://devincachu.com.br")     element = browser.find_element_by_c...
from selenium.webdriver.remote.command import Command web_element.execute(Command.HOVER_OVER_ELEMENT)Monday, May 2, 2011
POST                      http://127.0.0.1:$port/session/$sessionId/element/$id/hoverMonday, May 2, 2011
ou ainda...Monday, May 2, 2011
css_selector = ul.menu li:first with open(js/jquery.js) as jquery_file:     jquery = jquery_file.read()     webdriver.exec...
element.hover()Monday, May 2, 2011
Mais detalhes...         splinter.cobrateam.info         github.com/cobrateam/splinter         “Testando interfaces web co...
2. Criar uma aplicação para AndroidMonday, May 2, 2011
Por que?Monday, May 2, 2011
Monday, May 2, 2011
Python em                  dispositivos móveisMonday, May 2, 2011
Monday, May 2, 2011
Monday, May 2, 2011
Monday, May 2, 2011
Quero programar em               Python no iOS e no                 Android, pode?Monday, May 2, 2011
Appcelerator TitaniumMonday, May 2, 2011
SL4A                Script Layer for AndroidMonday, May 2, 2011
Interface em HTML...  <h1>Sorteio</h1>  <p>       <label for="limit">Número de inscritos</label>       <input type="text" ...
Interface em HTML...  <h1>Sorteio</h1>  <p>       <label for="limit">Número de inscritos</label>       <input type="text" ...
droid.    eventWaitFor(raffle)Monday, May 2, 2011
Mais detalhes...                 github.com/cobrateam/android-sorteio                 code.google.com/p/android-scriptingM...
3. Criar uma aplicação web para  mapear access pointsMonday, May 2, 2011
‣   globo.com                         ‣   facebook     ‣   guardian.uk                         ‣   new york times     ‣   ...
‣   Django             ‣   Zope       ‣   circuits.web     ‣   web2py             ‣   Tornado    ‣   TwistedWeb     ‣   Py...
Monday, May 2, 2011
“                   O framework web para                      perfeccionistas com prazosMonday, May 2, 2011               ...
48 horas                      uma aplicação completaMonday, May 2, 2011
wifimap, uma forma fácil de         descobrir se tem um lugar com wifi                     por perto...Monday, May 2, 2011
show me the map...Monday, May 2, 2011
Monday, May 2, 2011
4. Criar um jogo de batalha navalMonday, May 2, 2011
Monday, May 2, 2011
Monday, May 2, 2011
Monday, May 2, 2011
um simples simulador de batalha         naval feito em um fim de semana...Monday, May 2, 2011
show me the game...Monday, May 2, 2011
a aventura continua...Monday, May 2, 2011
github.com/cobrateam/                          osdozetrabalhosMonday, May 2, 2011
Obrigado!                           cobrateam.info                       github.com/cobrateamAndrews Medina               ...
Upcoming SlideShare
Loading in …5
×

Os 4 trabalhos de Python

3,930 views

Published on

Palestra apresentada por Andrews Medina e Francisco Souza na primeira edição do Dev in Cachu, no dia 30 de abril de 2011.

Mais informações sobre o evento: http://www.devincachu.com.br

Published in: Technology
  • Be the first to comment

Os 4 trabalhos de Python

  1. 1. Os 4 trabalhos de Python Resolvendo desafios de diferentes propósitos com uma linguagem multipropósitoAndrews Medina Francisco Souzaandrewsmedina.com franciscosouza.com@andrewsmedina @franciscosouzaandrewsmedina@gmail.com francisco@franciscosouza.netMonday, May 2, 2011
  2. 2. Andrews Medina #cobrateam member moderador @ python-brasil/django-brasil desenvolvedor @ globo.com Francisco Souza #cobrateam member moderador @ django-brasil desenvolvedor @ globo.comMonday, May 2, 2011
  3. 3. Trabalhos de Python?Monday, May 2, 2011
  4. 4. Monday, May 2, 2011
  5. 5. Por que só 4?!Monday, May 2, 2011
  6. 6. Por que só 4?! São 12, mas...Monday, May 2, 2011
  7. 7. Por que só 4?! São 12, mas...Monday, May 2, 2011
  8. 8. 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 navalMonday, May 2, 2011
  9. 9. 1. Criar um framework para testes de aceitação em aplicações web >>> 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() splinterMonday, May 2, 2011
  10. 10. Teste de que?!Monday, May 2, 2011
  11. 11. Interfaces webMonday, May 2, 2011
  12. 12. Ferramentashttp://www.flickr.com/photos/zakh/337938459/Monday, May 2, 2011
  13. 13. ‣ Alfajor ‣ Mechanize ‣ Selenium ‣ twill ‣ Windmill ‣ zope.testbrowser ‣ ...Monday, May 2, 2011
  14. 14. 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() APIs 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.contentsMonday, May 2, 2011
  15. 15. Unificando as APIs browser = Browser(webdriver.firefox) browser.visit("http://www.google.com.br") assert Hello world in browser.htmlMonday, May 2, 2011
  16. 16. Unificando as APIs browser = Browser(zope.testbrowser) browser.visit("http://www.google.com.br") assert Hello world in browser.htmlMonday, May 2, 2011
  17. 17. Unificando as APIs browser = Browser(alfajor) browser.visit("http://www.google.com.br") assert Hello world in browser.htmlMonday, May 2, 2011
  18. 18. API betaMonday, May 2, 2011
  19. 19. Encapsulando mágicasMonday, May 2, 2011
  20. 20. browser = Browser(webdriver.firefox) browser.visit("http://devincachu.com.br") element = browser.find_element_by_css(ul.menu li).first element.hover()Monday, May 2, 2011
  21. 21. browser = Browser(webdriver.firefox) browser.visit("http://devincachu.com.br") element = browser.find_element_by_css(ul.menu li).first element.hover()Monday, May 2, 2011
  22. 22. from selenium.webdriver.remote.command import Command web_element.execute(Command.HOVER_OVER_ELEMENT)Monday, May 2, 2011
  23. 23. POST http://127.0.0.1:$port/session/$sessionId/element/$id/hoverMonday, May 2, 2011
  24. 24. ou ainda...Monday, May 2, 2011
  25. 25. 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
  26. 26. element.hover()Monday, May 2, 2011
  27. 27. Mais detalhes... splinter.cobrateam.info github.com/cobrateam/splinter “Testando interfaces web com Python” (FISL)Monday, May 2, 2011
  28. 28. 2. Criar uma aplicação para AndroidMonday, May 2, 2011
  29. 29. Por que?Monday, May 2, 2011
  30. 30. Monday, May 2, 2011
  31. 31. Python em dispositivos móveisMonday, May 2, 2011
  32. 32. Monday, May 2, 2011
  33. 33. Monday, May 2, 2011
  34. 34. Monday, May 2, 2011
  35. 35. Quero programar em Python no iOS e no Android, pode?Monday, May 2, 2011
  36. 36. Appcelerator TitaniumMonday, May 2, 2011
  37. 37. SL4A Script Layer for AndroidMonday, May 2, 2011
  38. 38. 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
  39. 39. 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
  40. 40. droid. eventWaitFor(raffle)Monday, May 2, 2011
  41. 41. Mais detalhes... github.com/cobrateam/android-sorteio code.google.com/p/android-scriptingMonday, May 2, 2011
  42. 42. 3. Criar uma aplicação web para mapear access pointsMonday, May 2, 2011
  43. 43. ‣ globo.com ‣ facebook ‣ guardian.uk ‣ new york times ‣ brasil.gov.br ‣ google ‣ yahoo! ‣ disqus ‣ apontadorMonday, May 2, 2011
  44. 44. ‣ Django ‣ Zope ‣ circuits.web ‣ web2py ‣ Tornado ‣ TwistedWeb ‣ Pylons ‣ Flask ‣ tipfy ‣ Grok ‣ Bottle ‣ pyramid ‣ TurboGears ‣ CherryPy ‣ Bobo bit.ly/python-frameworksMonday, May 2, 2011
  45. 45. Monday, May 2, 2011
  46. 46. “ O framework web para perfeccionistas com prazosMonday, May 2, 2011 ”
  47. 47. 48 horas uma aplicação completaMonday, May 2, 2011
  48. 48. wifimap, uma forma fácil de descobrir se tem um lugar com wifi por perto...Monday, May 2, 2011
  49. 49. show me the map...Monday, May 2, 2011
  50. 50. Monday, May 2, 2011
  51. 51. 4. Criar um jogo de batalha navalMonday, May 2, 2011
  52. 52. Monday, May 2, 2011
  53. 53. Monday, May 2, 2011
  54. 54. Monday, May 2, 2011
  55. 55. um simples simulador de batalha naval feito em um fim de semana...Monday, May 2, 2011
  56. 56. show me the game...Monday, May 2, 2011
  57. 57. a aventura continua...Monday, May 2, 2011
  58. 58. github.com/cobrateam/ osdozetrabalhosMonday, May 2, 2011
  59. 59. Obrigado! cobrateam.info github.com/cobrateamAndrews Medina Francisco Souzaandrewsmedina.com franciscosouza.com@andrewsmedina @franciscosouzaandrewsmedina@gmail.com francisco@franciscosouza.netMonday, May 2, 2011

×