Profile

Diogo Magalhães Martins @diogommartins


About Me

-

Proposals

AsyncIO no mundo real: Escalando assincronamente com AsyncIO e Aiohttp

Corrotinas? Tulip ? async?  await?  event loop? Se tudo isso não faz sentido pra você, o objetivo dessa palestra é mudar isso, dando desde uma explicação geral sobre concorrência e paralelismo até o estado atual da comunidade, do ferramental, dos benefícios e onde AsyncIO se encaixa.

AsyncIO no mundo real: Escalando assincronamente com AsyncIO e Aiohttp

Corrotinas? Tulip ? async?  await?  event loop? Se tudo isso não faz sentido pra você, o objetivo dessa palestra é mudar isso, dando desde uma explicação geral sobre concorrência e paralelismo até o estado atual da comunidade, do ferramental, dos benefícios e onde AsyncIO se encaixa.

Código mais claro com Python3 e Type Hints

Descubra porque uma especificação clara de tipos pode te ajudar. Você vai aprender o que são anotações de tipos, como utilizar e como podem te ajudar na legibilidade e manutenção do código.

Código mais claro com Python3 e Type Hints



Descubra porque uma especificação clara de tipos pode te ajudar. Você vai aprender o que são anotações de tipos, como utilizar e como podem te ajudar na legibilidade e manutenção do código.




 

CONCORRÊNCIA E PARALELISMO – THREADS, MÚLTIPLOS PROCESSOS E ASYNCIO

O que é, qual a diferença entre as diversas soluções e quando usar cada uma delas. Versão palestra e com exemplos mais práticos deste post https://diogommartins.wordpress.com/2017/04/07/concorrencia-e-paralelismo-threads-multiplos-processos-e-asyncio-parte-1/

Escrevendo um crawler assíncrono com python 3.6

Sobre:
Nesse tutorial vamos aprender e desenvolver do início ao fim um crawler utilizando programação assíncrona com python e o módulo aiohttp;


Além disso, vamos cobrir testes de código assíncrono e mock de requisições a serviços externos;


Demostrar como identificar e extrair informações de páginas html;


Por que um crawler? É um ótimo exemplo de um tipo de aplicação IO Bound onde podemos nos aproveitar de programação concorrente para melhorar a performance.


Duração: 6 horas


Nivel de conhecimento: Conhecimento em python iniciante para intermediário


Pré-requisitos: Um notebook com o ambiente pré configurado =)


Configurações de ambiente: Virtualenv python3.6 com a seguinte lista de requirements:



aiodns==1.1.1
aiohttp==3.3.0
aioresponses==0.4.1
async-timeout==3.0.0
asynctest==0.12.0
attrs==18.1.0
beautifulsoup4==4.6.0
bs4==0.0.1
cchardet==2.1.1
chardet==3.0.4
idna==2.6
idna-ssl==1.0.1
lxml==4.2.1
multidict==4.3.1
pycares==2.3.0
yarl==1.2.4