Perfil

Elias Dorneles @eliasdorneles


Sobre mim

Programador, músico, viciado em aprender coisas.
Curte muito Python e OSS.
Escreve em https://eliasdorneles.github.io
Trabalha na @Scrapinghub.

Propostas

Aprimorando as habilidades de debugging e troubleshooting

No instante que um software encontra o mundo real, bugs começam a aparecer e fazer parte da vida de todos os envolvidos.


Quanto mais software cresce e se espalha pelo mundo, mais pessoas passam mais tempo tentando fazer eles funcionarem da maneira correta. Não é difícil imaginar um futuro em que os programadores passem mais tempo consertando problemas do que criando novos projetos.


Nessa palestra, falarei sobre como aprimorar nossas habilidades em encontrar e resolver bugs, mostrar algumas ideias e ferramentas que me tornaram um debugger melhor e que podem ajudar você também.


Temas incluem técnicas (shotgun, rubberduck, método científico), ferramentas (print, debugger, strace, google), deployment, testes e também saúde mental (lidando com bugs frustrantes).

Fazendo uma excelente revisão de código

Revisões de código são uma boa forma de garantir um mínimo de qualidade e praticar o trabalho em equipe.


Vou falar sobre revisar código de forma a obter o maior benefício desse processo com o mínimo de overhead. Compartilharei o que venho aprendendo participando de revisões de código em projetos internos e open source.


Alguns tópicos a abordar:


- O que é importante saber antes de revisar o código de um patch ou pull request?


- Ao revisar código de uma pull request ou patch, o que devo olhar primeiro?


- Quantas pessoas devem revisar um patch para aprová-lo?


- Quão importante é a PEP-8?


- Quando é útil fazer git rebase?


- Quando é melhor rejeitar um pull request?


 

Portando para Python 3 mantendo retrocompatibilidade

Portar para Python 3 pode ser muito tranquilo quando você pode abandonar o suporte para Python 2 e não se preocupar com retrocompatibilidade.
Todavia, nem sempre isso é possível, no caso de projetos que são utilizados por muitas pessoas diferentes é importante portar de maneira mantendo as funcionalidades anteriores e suportando as mesmas plataformas.


Nessa palestra, vou falar sobre como portar código para Python 3 mantendo retrocompatibilidade com Python 2 e minimizando a perda de funcionalidades.


Compartilharei como isso aconteceu no Scrapy (framework open source para web scraping & crawling) e como você pode fazer também nos seus projetos.

Web scraping na nuvem (2h)

Scrapy é um framework para web scraping com baterias inclusas.


Neste tutorial (duração: 2h), você vai aprender a fazer um crawler com Scrapy do zero e fazer deploy no Scrapy Cloud (serviço da Scrapinghub, empresa por trás do Scrapy).


No decorrer do tutorial, vamos tratar de assuntos como politeness, lidando com Javascript & AJAX e dicas para extrações mais robustas a mudanças no leiaute.


Caso você já saiba usar o Scrapy, traga suas dúvidas e faremos uma sessão de perguntas e respostas. :)


Nota: se possível, traga notebook com lxml e Scrapy instalados.