FlaskConf 2018
Data
25/08/2018
Local
iMasters -
Sobre as palestras
Todas as propostas submetidas serão avaliadas por uma comissão que definirá a grade final de palestras. Todas as palestras serão de 40 minutos + 10 minutos para perguntas totalizando o máximo de 50 minutos de apresentação.
Submissão aberta até dia 01/08
Anúncio das seleções em 03/08
Requisitos da Proposta
A sua proposta de palestra deverá conter:
- 1 parágrafo com a descrição do tema que irá abordar.
- Sumário listando os tópicos que serão abordados e o tempo (aproximado) que será usado em cada tópico.
- Nível das palestras: Qualquer nível será avaliado e poderá entrar na grade sem restrições.
- O palestrante deverá enviar suas formas de contato para flask+palestrante@python.org.br com o formato CSV: 'nome;email;telefone;telegram;' (caso não haja algum, por favor, deixe a coluna vazia,).
SUBMISSÕES QUE NÃO OBEDECEREM ESTE FORMATO NÃO SERÃO AVALIADAS
A organização utilizará dos seguintes critérios para selecionar as palestras:
- Maior diversidade de assunto.
- Estimular a participação de palestrantes novos.
- Incentivar palestrantes locais (do interior de São Paulo).
- Apenas uma palestra por pessoa, porém uma pessoa pode propor quantas palestras desejar.
- Número de votos.
Atenção:
Se você tem vontade de palestrar mas não tem experiência, ficar em dúvidas se a palestra é "boa o bastante" ou se "alguém vai se interessar" é comum demais para te impedir de palestrar! Podemos ajudar dando dicas e fazendo re-leituras, simulações de apresentações e sugestões de tópicos caso precise.
NÃO DEIXE DE SUBMETER PORQUE YES VOCÊ PODE.
Nos contate através do flask+palestrante@python.org.br e vamos fazer acontecer!!
Este evento segue o Código de Conduta Flaskconf 2018
Propostas
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.
API REST: O Começo
Nivel da palestra: Iniciante
Nesta talk, gostaria de abortar todos os topicos necessarios para entender a base de uma API REST.
- O que é uma API
- O que é uma API REST
- Historia
- Para o que ela serve
- Comunicação cliente-servidor
- METHOD's
- Status Code
- Padrão de URL's
- Tamanho da URL
- HEADERS importantes
- Tempo de resposta
- TimeOut
- Aplicar em Flask cada um dos conte
- Quando deve ou não ser usada
- O que seria uma API REST Full?
Arquitetando projetos Flask - Como organizar as coisas no Flask?
Uma duvida muito comum de quem está começando com o Flask e até mesmo de quem já é experiente é como organizar os módulos e as camadas para evitar problemas e possibilitar o crescimento e a manutenção da aplicação.
Uma seŕie de questões devem ser levantadas ao organizar o projeto no Flask
- Problemas de circular import
- Modularização
- Compatibilidade com Plugins
- Gerenciamento correto do contexto de app para evitar o erro "Application out of context error"
- Compartilhamento de referencias
- Crescimento do time e conflitos
Nesta palestra vou mostrar minha receita para arquitetar projetos Flask de qualquer tamanho e evitar os principais problemas.
Como liderar a equipe técnica de uma empresa que usa Flask sem conhecer o framework.
Nesse papo vou compartilhar minha experiência recente na empresa Pricez, que utiliza o Framework Flask. Eu só conheço o básico do framework, então vou falar dos desafios encontrados, como foram resolvidos (ou não) e perguntar para a galera todas a dicas para eu me virar com esse abaxi. Se vc é novato, venha aprender com o problema dos outros. Se vc é experiente, venha me ajudar nessa empreitada!!
Desafios de aplicar o conceito de DevOps na visão de um programador
Desafios de aplicar o conceito de DevOps na visão de um programador
Palestra para demonstrar um case em que precisei aplicar toda a estrutura de DevOps incluindo, docker, kubertes e aws no processo. Mostrand.o os desafios que um programador pode ter ao mexer com isso e alguns atalhos.
o -5 Introdução ao DevOps
5 -7 Breve resumo do ambiente proposto
7 -10 - Problemas em montar um ambiente local
10 - 15 - Trabalhando com infra estrutura como código
15 - 30 - Aws e suas dezenas de siglas
30 - 40 - Recomendações para quem precisa montar uma estrutura de DevOps
Desenvolvendo aplicações web com Flask e Docker
Nessa palestra vou apresentar como estruturar uma aplicação flask para executar na plataforma de containers docker.
Conteúdo:
Introdução (5 minutos):
- O que é docker
- Porque isso importa
Estruturando a aplicação (25 minutos):
- 12 factor app
- Isolamento de dependências
- Gerenciando configurações
- Utilizando logs
- Bancos de dados como serviços de apoio
Build e Deploy (5 minutos):
- Criando um Dockerfile
- Criando uma imagem do docker e executando um container
- Armazenando a imagem no docker-hub
Conclusão (5 minutos)
Domain Driven Design com Flask
Nessa palestra vou abordar o que é Domain Driven Desing(DDD), o por que e como usa-lo.
Vou falar também como o Flask se encaixa com DDD e como deixar o desenvolvimento da sua aplicação ágil e com qualidade.
Conteúdo:
00-02: Introdução
02-08: O que é DDD
08-13: Arquitetura Hexagonal
13-15: Linguagem Ubiqua
15-23: Por que usar Flask (mostrando alguns códigos)
23-28: Testes
28-38: Live Code (construir uma API simples de CRUD)
38-40: Conclusão
Flask e PWA - Sua aplicação instalável e offline em qualquer dispositivo.
E se sua aplicação pudesse ser instalada em qualquer plataforma (Android, iOS e Windows) para trabalhar offline como um aplicativo nativo? Isto já é uma realidade graças ao conceito de Progressive Web Apps (PWA). Vamos conversar um pouco sobre como funciona um PWA, e como implementá-lo em sua aplicação Flask.
- Introdução: o que são PWAs? de onde vieram? desde quando existem? Quem já utiliza? (10 min)
- Como fazer: o que é preciso para desenvolver um PWA? quais são os passos para transformar minha aplicação em um PWA? (20 min)
- Conclusão: o que isso pode mudar na minha vida? quais são suas vantagens e desvantagens? quais são as perspectivas para esta tecnologia? (10 min)
Nível da palestra: Iniciante.
Flask Profiling
Depois de ter código funcionando, você precisa fazer ele suportar o crescimento do seu sistema. Para isso é importante encontrar os gargalos do código antes que eles se tornem críticos.
Vou mostrar o fluxo de identificação de pontos críticos, técnicas de profiling, análise da Flask-DebugToolbar e geração de gráficos para análise detalhada.
[Iniciante] Escrevendo meus primeiros testes com Flask
A ideia dessa talk baseada em live code é mostrar como escrever os primeiros testes e como iniciar nossa aplicação visando sempre o testável.
- Vamos nos basear em exemplos simples da documentação
- Vamos usar unittests e mock
Fora o flask, #justPython
[Intermediário] Automatizando seu fluxo de trabalho com Airflow
É comum surgir situações em que precisamos fazer alguns procedimentos repetitivos em diversos projetos, principalmente quando envolve dados. Um exemplo disso:
- Migrar dados de uma tabela para outra
- Importar dados a partir de várias fontes e juntar em uma única base
- Seguir o passo acima e trabalhar com tratamento e filtragem das informações
Entre várias outras necessidade, mas no final acabamos tendo algo em comum que é definir um workflow, em que será composto por várias etapas para alcançarmos um objetivo, seja unificar, seja tratar, etc. Nessa palestra tem o objetivo de apresentar o Apache Airflow, desenvolvido em Flask pela AirBnb e como podemos usufruir dela para automatizar trabalhos repetitivos.
Sumário:
- O que é o Airflow? - 3min
- O que ele não é - 2min
- Princípios da ferramenta - 5min
- Instalação e configuração - 2min
- Conceitos da ferramenta - 6min
- Primeiro wofkflow e demo - 15min
- Comandos do Airflow - 1min
- Arquitetura - 3min
- Considerações finais - 2min
Introdução ao Sanic!
Sanic é um servidor web assíncrono para o Python com uma sintaxe baseada no Flask, escrito para ser rápido. A proposta é falar do Sanic, realizando comparações entre os frameworks (semelhanças, diferenças, vantagens e desvantagens) aonde cabível.
Tópicos (aproximadamente 10 minutos para cada tópico):
- Do "Hello world" a um serviço com muito JSON! Abordarei rotas, métodos, o módulo response e como iniciar o serviço.
- Listeners, middlewares, tratamento de erros e muito async!
- Exemplo com comunicação assíncrona com o banco de dados (PostgreSQL + SQLAlchemy Core + asyncpgsa) e envolvendo a utilização de recurso bloqueante.
- Websockets, blueprints e extensões.
Nível de dificuldade: voltado para um público que já saiba o básico de Flask e HTTP (métodos/verbos, headers da requisição, código de status de resposta, etc.). O público não precisa saber previamente o que significa "assíncrono".
Licenciado em matemática a líder técnico de uma startup f
Como sair de um curso de licenciatura em matemática e chegar a ser líder técnico de uma startup, saindo do interior da Bahia e vindo até São Paulo para tocar um projeto com o mínimo de recurso e o máximo de resultados.
Muito além do crop e resize
Gerenciar arquivos e imagens para os seus projetos web pode ser um aborrecimento. Normalmente não é simples lidar com uploads, armazenamento, manipulação, administração e entrega de conteúdo de mídia em todos os projetos em que você começa ou está envolvido.
Felizmente, existem plataformas na nuvem que tiram o estresse de tudo isso, permitindo que você envie mais rapidamente e entregue seus produtos em grande escala. Cloudinary é uma dessas plataformas. Porém, vai além disso. Com a sua API podemos manipular imagens, identificar rostos, aplicar efeitos (blur, pixelizar, extrair textos com OCR, etc)
- A ferramenta
- Static e Media Files
- Manipulando Imagens
Posso falar do framework Tornado?
O framework Flask é a opção mais prática para o desenvolvimento de aplicações web Python. Muitos plugins, maturidade e suporte da comunidade.
Entre 0.2% (it's a joke) ou menos dos projetos python para a web, está o Tornado (www.tornadoweb.org). Com núcleo assíncrono (IOLoop) desde sua criação, possui princípios muito legais, simples, regulares e extensíveis. Possui suporte embutido a websockets, templates, métodos de autenticação distintos e é pronto para produção com alto desempenho. Por sua simplicidade e consistência, é um projeto válido e real dentre opções maduras de frameworks web python, como o projeto Flask.
A agenda do evento é a seguinte:
- Breve intro Tornado (1 min)
- hands on: primeiro endpoint GET (5 min)
- hands on: Templating (3 min)
- hands on: primeiro endpoint POST (5 min)
- hands on: Basic Authentication (5 min)
- hands on: Authentication Google com @authenticated (3 min)
- Modo async: @coroutine & @return_future (5 min)
- hands on: Adicionando decorators async (5 min)
- hands on: Exemplo de desempenho com ferramenta ab (apache benchmark) (5 min)
É uma palestra exploratória, sem comparações com outros frameworks, com muito respeito ao Flask, tema central do evento.
Pré-requisito: Básico HTTP
Referência:
Tornado Web (https://www.tornadoweb.org)
Usando o Flask-Admin
E se quisermos ir além das APIs com o Flask?
Sabemos que temos várias opções de frameworks MVC Python com pilhas inclusas.
Porém o Flask é tão flexível e gostamos de usá-lo!
Nesta palestra irei mostrar como usar o Flask-Admin em uma aplicação sem perder a segurança e com flexibilidade.