Perfil
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 interfaces em modo texto com Python e urwid
Se você também passa bastante tempo usando um terminal em modo texto, não diria que faz sentido aprender a programar para esse ambiente?
Apesar de não serem populares como as GUIs, as interfaces de modo texto (TUIs) são rápidas, práticas e o principal: muito divertidas de trabalhar com elas!
Nesta palestra você vai conferir como pode usar Python e a biblioteca urwid para escrever aplicações elegantes usando uma interface modo texto.
Vou mostrar alguns apps que fiz, compartilhar algumas soluções para problemas comuns e truques que aprendi ao long do caminho.
Cabe uma leve advertência: programar esse tipo de coisa não dá dinheiro e diverte tanto que pode levar ao vício!!
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.