Perfil

João Ricardo Lhullier Lugão @joao_ricardo


Sobre mim

-

Propostas

[30 min][Iniciante][Live Coding] Decifrando o import this com TDD

Muitos de vocês já conhecem o easter egg do cpython: ao digitar import this em um terminal python o zen do python aparece.



Mas a brincadeira é até maior do que isso, o módulo foi escrito com código obfuscado de propósito, contrariando o próprio zen do python. O algoritmo para encriptar o texto do zen do python é bem simples, é conhecido como ROT13.


Nessa talk vou fazer um live coding usando TDD (usando unittest padrãozão mesmo) para fazer um algoritmo para criptografar e descriptografar dados em ROT13 para finalmente descriptografar a mensagem escondida no módulo this.

APi REST em flask + Vue.js

Nessa palestra vou mostrar como criar uma api REST em flask e consumí-la de forma fácil e rápida com uma SPA em Vue.js. Essa é uma forma rápida de criar aplicações modernas com separação entre frontend e backend. Vou mostrar como é feita a autenticação, mostrar possiveis formas de organizar o projeto e principalmente as vantagens e desvantagens de trabalhar dessa forma no lugar de utilizar o jinja2.

Descansando com Django REST Framework

Nesse tutorial de 6 horas vamos aprender a criar aplicações REST usando Django REST framework. Esse tutorial é ideal para iniciantes que já tiveram seu primeiro contato com django, sabem o que são views, etc.

APIs REST hoje são muito importantes para fazer integrações e prover conteúdo e interações com o servidor para frontends em javascript,  aqui vamos aprender a como utilizar o framework, ver seus recursos de documentação, fazer o setup de testes com o pytest e tudo o que você precisa para iniciar sua aplicação REST com sucesso.

Breve resumo do roteiro planejado (sujeito a mudanças):

- O que são APIs REST
- O que é o DRF e quando usar
- Views
- Serializers
- Viewsets e Routers
- Autenticação
- pytest
- Actions
- Filters

Frontend com menos dor de cabeça usando Vue.JS

Vue.js é um framework javascript que vem rivalizando com Angular e React, ultrapassando-os em número de estrelas no github. Nessa palestra vou mostrar como utilizar Vue.js junto com uma API criada em algum Framework WEB em python (Flask ou Django) para criar aplicações poderosas que tenham um visual moderno e uma sensação de uso fluída, entregando uma ótima experiência do usuário.

Prova de Conceito? Protótipo? MVP? Produto Final? Afinal, quais as diferenças e o que isso importa para o seu projeto?

Existem diversas formas, abordagens e etapas para desenvolver um produto. As vezes a comunicação entre a equipe, os gerentes e o cliente fica confusa por falta de definição dos termos. Quantas vezes você já ouviu a frase "ah, mas isso é só um MVP!" para justificar features não funcionais e bugs? Isso faz sentido?

É permitido/possível escrever código sem testes e ele ser útil no processo de desenvolvimento do produto?


Será que seu cliente realmente se importa com o nome dado ao que está sendo construido? Quando ele ouve protótipo, será que ele não tem uma esperança de que o negócio vá para produção com pouco esforço?


Essa palestra tem o objetivo de trazer algumas reflexões sobre o assunto e trazer questionamentos importantes para quem desenvolve produtos para si ou para clientes: Em qual estágio você está? será que vale a pena pular um ou mais estágios? No que devemos prestar atenção, quais os cuidados e pontos de atenção em cada etapa / tipo de produto?

Serverless com python

Serverless veio para ficar, a possibilidade de executar funções sob demanda em uma infraestrutura que você não precisa controlar é muito atraente. Isso é usado para tarefas assincronas, manipulação de arquivos estáticos e até mesmo servir aplicações webs inteiras.


Nessa palestra vamos ver algumas opções para usar os famosos functions as a service e explorar uma aplicação de exemplo

Toy Projects - porque fazer projetos inúteis é bom para o aprendizado

Projetos bobos, inúteis, que não tem sentido nenhum e as vezes até complicados demais para o objetivo deles, o que eles podem te trazer de bom?


Nessa palestra vou mostrar exemplos de projetos inúteis (ou semi-úteis) em python (e se possível alguns em just python)  e falar sobre porque deveríamos fazer mais deles. A idéia de brincar com conceitos técnicos não é nova, mas ainda assim tendemos a ser muito sérios em nossos aprendizados, como se cada projeto paralelo fosse se tornar o uber, mas será que estamos perdendo alguma coisa focando sempre em aplicações de mercado? Será que não existe algum aprendizado esperando se a gente usar tecnologia de ponta para criar um rato "robótico" que acha o caminho de saída de um labirinto como fez Claude Shannon em 1952 ou construir robôs inúteis como a Simone Giertz faz no youtube hoje em dia?

Convido vocês a fazer essa reflexão comigo e como isso pode ser concretizado em projetos menores, que não tomam tempo e são projetados para ensinar habilidades específicas para você.

Tutorial de Django Rest Framework

Nesse tutorial de 6 horas vamos aprender a criar aplicações REST usando Django REST framework. Esse tutorial é ideal para iniciantes que já tiveram seu primeiro contato com django, sabem o que são views, etc.

APIs REST hoje são muito importantes para fazer integrações e prover conteúdo e interações com o servidor para frontends em javascript,  aqui vamos aprender a como utilizar o framework, ver seus recursos de documentação, fazer o setup de testes com o pytest e tudo o que você precisa para iniciar sua aplicação REST com sucesso.

Breve resumo do roteiro planejado (sujeito a mudanças):

- O que são APIs REST
- O que é o DRF e quando usar
- Views
- Serializers
- Viewsets e Routers
- Autenticação
- pytest
- Actions
- Filters

[Web/Bots] Criando um bot serverless usando Zappa

Vamos descobrir o que é Zappa, uma ferramenta que torna muito fácil criar e fazer deploy de aplicações serverless em python (incluindo web apps WSGI) na AWS Lambda + API Gateway.  Para entender bem como funciona essa ferramenta criaremos um Bot de Telegram.


Vamos entender como que podemos criar aplicações que escalam muito bem e são super baratas com essa ferramenta.