python e suas aplicações

54
Python e suas aplicações O que podemos fazer com Python? Paulo Roberto e Izabela Guerreiro [email protected]

Upload: izabela-guerreiro

Post on 21-Jan-2018

556 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Python e suas aplicações

Python e suas aplicaçõesO que podemos fazer com Python?

Paulo Roberto e Izabela [email protected]

Page 2: Python e suas aplicações

Sobre nós- Paulo Roberto.

- Programador. - 10 anos de experiência.- Pesquisa e desenvolvimento em robótica.

- Izabela Guerreiro- Programadora web.- 4 anos de experiência.- Desenvolvimento CMS, Site e Gestão da empresa.

Page 3: Python e suas aplicações

Porque este tema?- Perguntas frequentes sobre Python.- Desconhecimento sobre a plataforma.- Ideal para quem quer empreender.

Page 4: Python e suas aplicações

Porque Python?- Simplicidade.- Propósito geral.- Multiplataforma.- “Bala na agulha”.- Melhor comunidade. :)

Page 5: Python e suas aplicações

Público Alvo- Administrador de Redes/Sistemas.- Hackers/Pentesters.- Cientistas.- Testers.- Programadores. :)

Page 6: Python e suas aplicações

Implementações - Software- CPython.- Jython.- Pypy.- IronPython.

Page 7: Python e suas aplicações

Implementações - HardwareUm hardware com coração Pythonico!

- MicroPython - Placa com Interpretador Python embutido.- Bluetooth.- Wifi.- Espetar USB -> main.py -> codificar!- import pyb; pyb.LED(4).on()

Page 8: Python e suas aplicações

Implementações - Hardware- MicroPython.

Page 9: Python e suas aplicações

Implementações - HardwareVideos de demonstração do MicroPython...

Page 10: Python e suas aplicações

Onde não usar Python?Apenas detalhes...

- Acesso a baixo nível.

Page 11: Python e suas aplicações

Eu posso compilar?Sim, você pode pequeno padawan...

- Bytecode.- Cython. - .NET.- Java classes.

Page 12: Python e suas aplicações

OperaçõesAutomatize todos processos de sistemas e redes...

- Superior aos shells de sistemas operacionais.- Adoção crescente.- Muito material e bibliotecas.

Page 13: Python e suas aplicações

Comparativo Python/ShellscriptPythonmax = 10for i in range(max): print i

Shellscriptmax=10for i in `seq 1 $max`; do echo "$i"; done

Page 14: Python e suas aplicações

OperaçõesAlgumas bibliotecas para auxiliar...

- os, Paramiko e telnetlib.- Boto - Python Interface Amazon Webservice.- XenAPI - API para XenServer e Xen Cloud.

Page 15: Python e suas aplicações

Paramiko e telnetlibExemplo de utilização do paramiko...

Page 16: Python e suas aplicações

OperaçõesFerramentas bastante utilizadas...

- Fabric - Automação de sistemas e implantação.- Trigger - Conjunto de ferramentas para automação em redes.

Page 17: Python e suas aplicações

FabricExemplo de utilização do Fabric...

Page 18: Python e suas aplicações

Hacking/SegurançaBastante utilizado em...

- Shellcodes.- Scanners.- Frameworks para Pentest.- Engenharia reversa.

Page 19: Python e suas aplicações

Hacking/SegurançaAlgumas bibliotecas interessantes...

- Scrapy - Web crawler.- Scapy - Manipulação de pacotes de redes.- Requests - Requisições HTTP.- Impacket - Conjunto de classes para trabalhar com protocolos de rede.- PyDasm, PeFile - Engenharia reversa.

Page 20: Python e suas aplicações

Hacking/SegurançaFerramentas escritas em Python...

- Scanner de vulnerabilidades - W3af, SqlMap, Wapiti..- Frameworks para Pentest - Golismero, Inguma.- Dshell - US Army Research Laboratory- Immunity Inc

http://blog.corujadeti.com.br/lista-de-ferramentas-de-seguranca-feitas-em-python/

Page 21: Python e suas aplicações

RobóticaCaminhos para o artificial...

- Propagação de hardwares abertos.- Utilização com Raspberry Pi.- Arduino.

Page 22: Python e suas aplicações

RobóticaExemplo prático...

- Maxlider Robóticos.- Core das aplicações são escritas em Python.

Page 23: Python e suas aplicações

RobóticaVideo de exemplo...

Page 24: Python e suas aplicações

Desenvolvimento Web Alguns frameworks...

- Django- Flask- Tornado

Page 25: Python e suas aplicações

Web - DjangoAlgumas caracteristicas...

- Framework web de Python mais conhecido.- Fullstack.- Desenvolvimento ágil.- Reusabilidade e plugabilidade.- MTV.- Excelente ORM - Mapeamento objeto relacional.

Page 26: Python e suas aplicações

Web - Flask- Minimalista.- Leve.- WSGI(Web Server Gateway Interface) e Template Engine.

Page 27: Python e suas aplicações

Web - Tornado- Biblioteca de rede assíncrona.- Websockets.- Conexão de longa duração.

Page 28: Python e suas aplicações

Web - Exemplos- Globo.com - Django.- Brasil.gov.br - Plone.- Câmara de Pindamonhangaba - Plone

- Magazine Luiza - Django, Flask e Tornado.- VivaReal - Django

Page 29: Python e suas aplicações

GISGeorreferenciamento de forma bem legal...

- GeoDjango - Integração com o framework Django.- Módulo Django GEO.- Foco em criação simples de sistemas geográficos.- Extensões no ORM.- Admin.- Postgis, MySQL, Oracle e Spatialite.

Page 30: Python e suas aplicações

GISUm exemplo interessante de nossa região...

- ZNC Sistemas.- Sigef - Sistema de Gestão Fundiária.

Recepção, validação, organização, regularização e

disponibilização das informações georreferenciadas de limites de imóveis rurais.

- 2 Prêmios nacionais.- 2 Papers internacionais.

Page 31: Python e suas aplicações
Page 32: Python e suas aplicações

ERPsAlguns ERPs...

- OpenERP- ERPNext- Stoq

Page 33: Python e suas aplicações

ERPsAlgumas empresas que utilizam OpenERP...

- WWF- Danone- Hyundai

Page 34: Python e suas aplicações

OpenERP

Page 35: Python e suas aplicações

ERPNext

Page 36: Python e suas aplicações

Stoq

Page 37: Python e suas aplicações

Desenvolvimento DesktopAlgumas bibliotecas para criação de interface gráfica...

- wxWidgets (wxWindows)- wxPython- PyQT- PyGTK- Kivy

Page 38: Python e suas aplicações

Desenvolvimento DesktopAlgumas aplicações...

- OpenERP - PyGTK- Stoq - PyGTK- Dropbox - wxPython- Google drive - wxPython

Page 39: Python e suas aplicações

Desenvolvimento Desktop

Page 40: Python e suas aplicações

Desenvolvimento Desktop

Page 41: Python e suas aplicações

Desenvolvimento MobileAlgumas bibliotecas...

- Kivy- SL4A- PyS60

Page 42: Python e suas aplicações

Desenvolvimento MobileAlgumas aplicações...

- 2048.- QPython.- Bargenius.

Page 43: Python e suas aplicações

Teste de SoftwareBibliotecas para automatização de testes...

- Splinter- Selenium Python- Unittest- Doctests

Page 44: Python e suas aplicações

Teste de Softwarefrom splinter import Browserwith Browser() as browser: url = "http://www.google.com" browser.visit(url) browser.fill('q', 'splinter - python acceptance testing for web applications') button = browser.find_by_name('btnG') button.click() if browser.is_text_present('splinter.readthedocs.org'): print("Yes, the official website was found!") else: print("No, it wasn't found... We need to improve our SEO techniques")

Page 45: Python e suas aplicações

Outras utilizações- Área científica: SciPy, NumPy, BioPython, AstroPy.

- Inteligência artificial: Scikit, SimpleAl.

- Machine learning: PyBrain, PyML.

- Linguagem natural e processamento de texto: NLTK, QuePy.

- Redes neurais: Neurolab, PyANN.

- Mineração e análise de dados: Pandas.

- Tratamento de imagens: PIL, NumPy, SciPy.

Page 46: Python e suas aplicações

Outras utilizações- Big Data: Hadoopy

- Desenvolvimento de Jogos: PyGame, PyOpenGL

- Animações em 3D: Blender

- Reconhecimento Facial: OpenCV, SimpleCV

- Geração de Relatórios: Reportlab, Geraldo Reports

- Geração de documentação: PyDoc, Sphynx, Django-extensions

Page 47: Python e suas aplicações

Empresas internacionais

Page 48: Python e suas aplicações

Empresas nacionais

Page 50: Python e suas aplicações

Sugestões de Leitura

Page 51: Python e suas aplicações

Sugestões de Leitura

Page 52: Python e suas aplicações

Sugestões de Leitura

Page 53: Python e suas aplicações

Sugestões de Leitura

Page 54: Python e suas aplicações

Conclusão