SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Flávio Ribeiro

III Encontro do Grupo de Usuários de Python de Pernambuco
                      Abril de 2010
Quem sou?
Flávio Ribeiro

Trezeano
Graduando em Engenharia Elétrica (IFPB)
Engenheiro de Software (Avaty! Tecnologia)
Python, Sistemas Embarcados, Disp. Móveis, Robótica, Automação

http://www.flavioribeiro.com
http://www.twitter.com/flavioribeiro
email@flavioribeiro.com
flavioribeiro @ freenode #python-br
Agenda
Conceitos de Sistemas Embarcados

Desenvolvimento de Software para esses Sistemas

Por que Python?

Algumas Dicas :-)
Conceitos de
Sistemas Embarcados
        Sistemas Embarcados são sistemas eletrônicos
 microprocessados (computadores) encapsulados e dedicados
ao dispositivo em que reside e são desenvolvidos para exercer
           especialmente uma atividade específica.
Conceitos de
       Sistemas Embarcados
●   Escassez em recursos de Processamento, Armazenamento e Autonomia

●   Funcionalidade Única, executada repetidamente

●   Forte Comunicação com o ambiente

●   Propósito de Existência concreto

●   Heterogêneos
●   Divertidos de Programar e Manipular!
Desenvolvendo
       Para esses Sistemas
●   Equilíbrio entre legibilidade x qualidade & velocidade do código
Desenvolvendo
       Para esses Sistemas
●   Equilíbrio entre legibilidade x qualidade & velocidade do código
    ● "Otimização prematura é a raiz de todo mal na programação."
Desenvolvendo
       Para esses Sistemas
●   Equilíbrio entre legibilidade x qualidade & velocidade do código
    ● "Otimização prematura é a raiz de todo mal na programação."




●   Think Embedded
Desenvolvendo
       Para esses Sistemas
●   Equilíbrio entre legibilidade x qualidade & velocidade do código
    ● "Otimização prematura é a raiz de todo mal na programação."




●   Think Embedded

●   Conhecimento da plataforma de hardware (capacidade)
Desenvolvendo
       Para esses Sistemas
●   Equilíbrio entre legibilidade x qualidade & velocidade do código
    ● "Otimização prematura é a raiz de todo mal na programação."




●   Think Embedded

●   Conhecimento da plataforma de hardware (capacidade)

●   Noções de Sistema Operacional e Arquitetura de Computadores
Por que Python?

●   Encapsulamento e Controle de Acesso
Por que Python?

●   Encapsulamento e Controle de Acesso

●   Mais reuso do código!
Por que Python?

●   Encapsulamento e Controle de Acesso

●   Mais reuso do código!

●   Portabilidade
Por que Python?

●   Encapsulamento e Controle de Acesso

●   Mais reuso do código!

●   Portabilidade

●   Melhor testabilidade
Por que Python?

●   Encapsulamento e Controle de Acesso

●   Mais reuso do código!

●   Portabilidade

●   Melhor testabilidade

●   Integração fácil com CC++
Por que Python?

●   Encapsulamento e Controle de Acesso

●   Mais reuso do código!

●   Portabilidade

●   Melhor testabilidade

●   Integração fácil com CC++

●   Muito divertido de programar
Por que Python?

●   Encapsulamento e Controle de Acesso

●   Mais reuso do código!

●   Portabilidade

●   Melhor testabilidade

●   Integração fácil com CC++

●   Muito divertido de programar

●   Processo de desenvolvimentoteste rápido (no host)
Algumas Dicas
Desacople!
Desacople!
Módulos que não interagem entre si não precisam disputar a GIL do
                  processo Python com outros!
Desacople!
Módulos que não interagem entre si não precisam disputar o GIL do
                  processo Python com outros!

    Se sua aplicação tiver muitos serviçosthreads, avalie rodar
        mais de um processo python com serviços distintos

       Faça benchmarks com o módulo multiprocessing para
                versões do CPython que suportam
E o que
é o GIL?
Em poucas palavras...

 GIL – Global Interpreter Lock, é usado para
 proteger objetos Python de serem modificados
 entre vários processos de uma vez.

 Somente o segmento que tem o bloqueio (GIL)
 pode acessar com segurança os objetos.


E o que
é o GIL?
“It's simple : threads hold the GIL when running”

                 David Beazley (www.dabeaz.com)




E o que
é o GIL?
“It limits thread performance”

                 David Beazley (www.dabeaz.com)




E o que
é o GIL?
David Beazley (www.dabeaz.com)




              Threads
Threads em Python são implementadas usando o
padrão POSIX. Porém...




                              Threads
Threads em Python são implementadas usando o
padrão POSIX. Porém...
 O GIL prejudica muito a performance de threads
 e programação concorrente. Disputá-la
 exaustivamente não parece nada bom...

Considere utilizar processos fora do interpretador.


                                Threads
Evite o excesso de
tratamentos de erro!
Sua classe
     parece
Com algum tipo
     nativo?

   Herde-o!
Evite herança
   múltipla


  Evite Heranças Múltiplas
Mais dicas...
●   Quando testar 'a in b', b deve ser um set ou dicionário

●   Concatenação de strings é melhor com ''.join(seq), ao invés de + e +=

●   Iteradores ao invés de grandes listas

●   Variáveis locais são acessadas mais rápidas que variáveis globais

●   X = 3 é bem melhor que X = 1 + 2

●   List Comprehensions são bem melhores que for loops

●   x,y = a,b é mais lento que x = a; y = b
Agora sim, otimize!




Por fim, otimize
Agora sim, otimize!

●   Se usar threads, crie um método para matar ela:
Agora sim, otimize!

●   Se usar threads, crie um método para matar ela
Agora sim, otimize!

●   Se usar threads, crie um método para matar ela

●   Crie um start() e stop() também para sua aplicação inteira
Agora sim, otimize!

●   Se usar threads, crie um método para matar ela

●   Crie um start() e stop() também para sua aplicação inteira

●   Use módulos de profiling (cProfile)
Agora sim, otimize!

●   Se usar threads, crie um método para matar ela

●   Crie um start() e stop() também para sua aplicação inteira

●   Use módulos de profiling (cProfile)

●   Use o Gprof2Dot para parsear o arquivo de profile
Agora sim, otimize!

●   Se usar threads, crie um método para matar ela

●   Crie um start() e stop() também para sua aplicação inteira

●   Use módulo de profiling (cProfile)

●   Use o Gprof2Dot para parsear o arquivo de profile

●   Analise a performance e os bottlenecks (gargálos) graficamente :-)
Dúvidas
Obrigado!

     Flávio Ribeiro
email@flavioribeiro.com
Referências
http://shreevatsa.wordpress.com/2008/05/16/premature-optimization-is-the-root-of-all-evil/
http://www.dabeaz.com/python/UnderstandingGIL.pdf
http://www.dabeaz.com/python/GIL.pdf
http://effbot.org/pyfaq/what-is-the-global-interpreter-lock.htm
http://www.flickr.com/photos/pewari/105784022/
http://www.flickr.com/photos/randy-shelton/1509012597/sizes/l/
http://wiki.python.org/moin/PythonSpeed
http://code.google.com/p/jrfonseca/wiki/Gprof2Dot
http://wiki.python.org/moin/PythonSpeed/PerformanceTips
http://www.robertostindl.de/multifaces.jpg

Weitere ähnliche Inhalte

Was ist angesagt?

Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaÁlvaro Justen
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e DjangoOsvaldo Santana Neto
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaÁlvaro Justen
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores RubyEric Hideki
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
 
Desvendando o python
Desvendando o pythonDesvendando o python
Desvendando o pythonRodrigo Lira
 
Apresentação Python Poli
Apresentação Python PoliApresentação Python Poli
Apresentação Python PoliRodrigo Lira
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Marcel Caraciolo
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonMarinho Brandão
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonOsvaldo Santana Neto
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?Izabela Guerreiro
 

Was ist angesagt? (20)

Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtiva
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e Django
 
Dados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira PythônicaDados tabulares: A Maneira Pythônica
Dados tabulares: A Maneira Pythônica
 
Python Poli 2010
Python Poli 2010Python Poli 2010
Python Poli 2010
 
Python para programadores Ruby
Python para programadores RubyPython para programadores Ruby
Python para programadores Ruby
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e Python
 
Python na Web
Python na WebPython na Web
Python na Web
 
Desvendando o python
Desvendando o pythonDesvendando o python
Desvendando o python
 
Como tornar-se um programador Python melhor
Como tornar-se um programador Python melhorComo tornar-se um programador Python melhor
Como tornar-se um programador Python melhor
 
Apresentação Python Poli
Apresentação Python PoliApresentação Python Poli
Apresentação Python Poli
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com Python
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 

Ähnlich wie Introdução à programação Python para sistemas embarcados

Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Rudá Moura
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonDjango - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonPaula Grangeiro
 
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonJunho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonGrupo de Testes Carioca
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010Luiz Aldabalde
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 pythonTiago
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDouglas V. Pasqua
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termosValore I/O
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5Fabio Spanhol
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6Fabio Spanhol
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução PythonGleison Rodrigues
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6 Fabio Spanhol
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfAthena542429
 

Ähnlich wie Introdução à programação Python para sistemas embarcados (20)

Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Por Que Python É Tão Lento?
Por Que Python É Tão Lento?Por Que Python É Tão Lento?
Por Que Python É Tão Lento?
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonDjango - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em python
 
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonJunho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em python
 
Python para devs
Python para devsPython para devs
Python para devs
 
Python, CPython, Pythonico, Cython
Python, CPython, Pythonico, CythonPython, CPython, Pythonico, Cython
Python, CPython, Pythonico, Cython
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
The zen of python 2010
The zen of python 2010The zen of python 2010
The zen of python 2010
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
A lógica do Python e seus termos
A lógica do Python e seus termosA lógica do Python e seus termos
A lógica do Python e seus termos
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Comsolid2011 Introdução Python
Comsolid2011 Introdução PythonComsolid2011 Introdução Python
Comsolid2011 Introdução Python
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
 

Mehr von Flávio Ribeiro

Snickers: Open Source HTTP API for Media Encoding
Snickers: Open Source HTTP API for Media EncodingSnickers: Open Source HTTP API for Media Encoding
Snickers: Open Source HTTP API for Media EncodingFlávio Ribeiro
 
Building a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York TimesBuilding a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York TimesFlávio Ribeiro
 
Towards the Application of WebRTC Peer-to-Peer to Scale Live Video Streaming ...
Towards the Application of WebRTC Peer-to-Peer to Scale Live Video Streaming ...Towards the Application of WebRTC Peer-to-Peer to Scale Live Video Streaming ...
Towards the Application of WebRTC Peer-to-Peer to Scale Live Video Streaming ...Flávio Ribeiro
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3Flávio Ribeiro
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 5
Implementação de Aplicações Móveis e Jogos com Python - Aula 5Implementação de Aplicações Móveis e Jogos com Python - Aula 5
Implementação de Aplicações Móveis e Jogos com Python - Aula 5Flávio Ribeiro
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6Flávio Ribeiro
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 4
Implementação de Aplicações Móveis e Jogos com Python - Aula 4Implementação de Aplicações Móveis e Jogos com Python - Aula 4
Implementação de Aplicações Móveis e Jogos com Python - Aula 4Flávio Ribeiro
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 2
Implementação de Aplicações Móveis e Jogos com Python - Aula 2Implementação de Aplicações Móveis e Jogos com Python - Aula 2
Implementação de Aplicações Móveis e Jogos com Python - Aula 2Flávio Ribeiro
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Flávio Ribeiro
 
BemTV: Modelo Híbrido para Transmissão de Vídeos ao Vivo utilizando Peer-to-Peer
BemTV: Modelo Híbrido para Transmissão de Vídeos ao Vivo utilizando Peer-to-PeerBemTV: Modelo Híbrido para Transmissão de Vídeos ao Vivo utilizando Peer-to-Peer
BemTV: Modelo Híbrido para Transmissão de Vídeos ao Vivo utilizando Peer-to-PeerFlávio Ribeiro
 
Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux
Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e LinuxDesenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux
Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e LinuxFlávio Ribeiro
 
stewie: Machine Learning para detecção não supervisionada de anomalias
stewie: Machine Learning para detecção não supervisionada de anomaliasstewie: Machine Learning para detecção não supervisionada de anomalias
stewie: Machine Learning para detecção não supervisionada de anomaliasFlávio Ribeiro
 
Test Driven Development - Trabalhe tranquilo e maximize sua produtividade
Test Driven Development - Trabalhe tranquilo e maximize sua produtividadeTest Driven Development - Trabalhe tranquilo e maximize sua produtividade
Test Driven Development - Trabalhe tranquilo e maximize sua produtividadeFlávio Ribeiro
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonFlávio Ribeiro
 
Linux em Sistemas Embarcados
Linux em Sistemas EmbarcadosLinux em Sistemas Embarcados
Linux em Sistemas EmbarcadosFlávio Ribeiro
 

Mehr von Flávio Ribeiro (15)

Snickers: Open Source HTTP API for Media Encoding
Snickers: Open Source HTTP API for Media EncodingSnickers: Open Source HTTP API for Media Encoding
Snickers: Open Source HTTP API for Media Encoding
 
Building a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York TimesBuilding a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York Times
 
Towards the Application of WebRTC Peer-to-Peer to Scale Live Video Streaming ...
Towards the Application of WebRTC Peer-to-Peer to Scale Live Video Streaming ...Towards the Application of WebRTC Peer-to-Peer to Scale Live Video Streaming ...
Towards the Application of WebRTC Peer-to-Peer to Scale Live Video Streaming ...
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 5
Implementação de Aplicações Móveis e Jogos com Python - Aula 5Implementação de Aplicações Móveis e Jogos com Python - Aula 5
Implementação de Aplicações Móveis e Jogos com Python - Aula 5
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 4
Implementação de Aplicações Móveis e Jogos com Python - Aula 4Implementação de Aplicações Móveis e Jogos com Python - Aula 4
Implementação de Aplicações Móveis e Jogos com Python - Aula 4
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 2
Implementação de Aplicações Móveis e Jogos com Python - Aula 2Implementação de Aplicações Móveis e Jogos com Python - Aula 2
Implementação de Aplicações Móveis e Jogos com Python - Aula 2
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1Implementação de Aplicações Móveis e Jogos com Python - Aula 1
Implementação de Aplicações Móveis e Jogos com Python - Aula 1
 
BemTV: Modelo Híbrido para Transmissão de Vídeos ao Vivo utilizando Peer-to-Peer
BemTV: Modelo Híbrido para Transmissão de Vídeos ao Vivo utilizando Peer-to-PeerBemTV: Modelo Híbrido para Transmissão de Vídeos ao Vivo utilizando Peer-to-Peer
BemTV: Modelo Híbrido para Transmissão de Vídeos ao Vivo utilizando Peer-to-Peer
 
Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux
Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e LinuxDesenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux
Desenvolvimento Mobile & Embedded com Arduino, Python, ARM e Linux
 
stewie: Machine Learning para detecção não supervisionada de anomalias
stewie: Machine Learning para detecção não supervisionada de anomaliasstewie: Machine Learning para detecção não supervisionada de anomalias
stewie: Machine Learning para detecção não supervisionada de anomalias
 
Test Driven Development - Trabalhe tranquilo e maximize sua produtividade
Test Driven Development - Trabalhe tranquilo e maximize sua produtividadeTest Driven Development - Trabalhe tranquilo e maximize sua produtividade
Test Driven Development - Trabalhe tranquilo e maximize sua produtividade
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação Python
 
Linux em Sistemas Embarcados
Linux em Sistemas EmbarcadosLinux em Sistemas Embarcados
Linux em Sistemas Embarcados
 

Introdução à programação Python para sistemas embarcados