Os 4 trabalhos de Python

3,508 views
3,346 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
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,508
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
43
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

×