Python e suas aplicações

Preview:

Citation preview

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

Paulo Roberto e Izabela Guerreirocontato@izepa.me

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.

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

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

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

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

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()

Implementações - Hardware- MicroPython.

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

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

- Acesso a baixo nível.

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

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

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

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

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

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

OperaçõesAlgumas bibliotecas para auxiliar...

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

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

OperaçõesFerramentas bastante utilizadas...

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

FabricExemplo de utilização do Fabric...

Hacking/SegurançaBastante utilizado em...

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

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.

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/

RobóticaCaminhos para o artificial...

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

RobóticaExemplo prático...

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

RobóticaVideo de exemplo...

Desenvolvimento Web Alguns frameworks...

- Django- Flask- Tornado

Web - DjangoAlgumas caracteristicas...

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

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

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

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

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

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.

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.

ERPsAlguns ERPs...

- OpenERP- ERPNext- Stoq

ERPsAlgumas empresas que utilizam OpenERP...

- WWF- Danone- Hyundai

OpenERP

ERPNext

Stoq

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

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

Desenvolvimento DesktopAlgumas aplicações...

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

Desenvolvimento Desktop

Desenvolvimento Desktop

Desenvolvimento MobileAlgumas bibliotecas...

- Kivy- SL4A- PyS60

Desenvolvimento MobileAlgumas aplicações...

- 2048.- QPython.- Bargenius.

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

- Splinter- Selenium Python- Unittest- Doctests

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")

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.

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

Empresas internacionais

Empresas nacionais

Sugestões de Leitura

Sugestões de Leitura

Sugestões de Leitura

Sugestões de Leitura

Conclusão