Python Nordeste 2020 - Tutoriais
A Python Nordeste 2020 acontecerá em Fortaleza entre os dias 17 e 19 de Julho no Centro Universitário 7 de Setembro \o/
Estamos trabalhando para fazer um evento incrível, do jetinho que a comunidade Python merece. Para isso, procuramos pessoas com diferentes backgrounds e experiências para contribuir com o programa de atividades do evento! Se você usa Python profissionalmente, como um hobby ou é apenas uma pessoa interessada em programação e comunidades open source, adoraríamos ver você compartilhando seu conhecimento conosco!
Gostaríamos que os tutoriais apresentados na Python Nordeste tivessem um bom equilíbrio entre introdutórios e avançados, por isso nós encorajamos todas as pessoas a submeterem uma proposta de atividade, independentemente do seu nível de experiência. Antes de submeter sua proposta, dê uma lida na descrição de cada atividade abaixo.
Os tutoriais serão ministrados durante a tarde do dia 17 de Julho e manhã e tarde do dia 18 de Julho, em laboratórios reservados próximo ao auditório principal do Centro Universitário 7 de Setembro. Os tutoriais devem ter 3 horas de duração (além de intervalo para coffee-break) e ter como objetivo o crescimento da comunidade, promovendo o aprendizado para pessoas com diferentes níveis de experiência em programação e Python. Você pode submeter seu tutorial através da página do evento no Speaker Fight.
Processo de Seleção
Critérios de escolha de tutoriais:
- Número de tutoriais do mesmo assunto (maior diversidade de assunto);
- Número de votos;
- Número de tutoriais por mentor (maior diversidade de mentores);
- Mentores novos.
Datas:
- Submissão de tutoriais até dia 20/03/2020
- Divulgação dos resultados a partir do dia 01/04/2020
- Entrega do material/conteúdo até o dia 01/07/2020
Só serão aceitos tutoriais em Português.
Uma vez que seu tutorial tenha sido selecionado, nós entraremos em contato para dar maiores detalhes do processo e prover qualquer assistência necessária. É importante salientar que as apresentações finais (conteúdo/guia) devem ser entregues até 01/07/2020 para que possam ser revisadas de acordo com o Código de Conduta.
Informações importantes
- É esperado que todas e todos os mentores tenham lido o Código de Conduta do evento e sigam o mesmo durante a elaboração da proposta, a apresentação e sua permanência no evento como um todo. O conteúdo dos tutoriais e da fala dos/das mentores deve ser apropriado para um público profissional, incluindo pessoas de diferentes backgrounds. Imagens, texto ou falas de conotação sexual ou que discriminem pessoas por sua raça, gênero, religião, orientação sexual, aparência física, incapacidade física ou mental não serão tolerados na Python Nordeste. Caso tenha dúvidas sobre o nosso Código de Conduta, acesse: https://python.org.br/cdc/
- Envie sua proposta o mais cedo que puder. Nenhuma proposta enviada após a data final será considerada.
- Ao escrever sua proposta, procure seguir o seguinte template
- Título - É o que vai chamar a atenção dos/das participantes para assistir seu tutorial! Procure ser específico sobre o assunto da sua apresentação e não hesite em fazer uma graça para conquistar o público.
- Resumo - Uma breve descrição sobre o tema da sua apresentação, de 1 a 2 parágrafos deve ser o suficiente. Seja o mais explícito possível, não precisa guardar segredo sobre o conteúdo.
- Quem é o público-alvo do seu tutorial? - Procure ser específico nessa parte: dizer apenas “Programadores Python” não ajuda muito. Informar o nível de experiência (iniciante, médio ou avançado) ou o tipo de conceito (pessoas, tecnologia) ou ferramenta (banco de dados SQL, desenvolvimento web, estatística, etc…) que o participante deve ter para conseguir acompanhar sua apresentação. Isso nos ajudará a montar uma programação que tenha uma boa variedade de conteúdo para pessoas com diferentes backgrounds.
- O que os/as participantes devem esperar do seu tutorial? - É importante pensar no que os/as participantes vão aprender depois de participarem do seu tutorial.
- Se você ainda não tem um assunto definido, pode dar uma olhada na grade de programação dos eventos anteriores para ter como base.
- Lembramos também que, neste ano, tutoriais aprovados e que confirmarem a participação receberão um ingresso gratuito para o evento.
Propostas
Como acessar uma API e gerar um arquivo CSV com os dados obtidos dela? E como de um CSV gerar um JSON (com subníveis)?
Este tutorial é para iniciantes que querem trabalhar com dados, mas ainda tem dificuldade de trabalhar com planilhas, dicionários, listas e JSON.
Vamos usar o Python Puro, pois a idéia é entender os conceitos: dicionários, listas e comandos de repetição.
Há várias API que entregam JSON.
Como passar do JSON para uma planilha CSV?
Tendo um CSV, como gerar um JSON em estruturas variadas?
Entre um e outro há dicionários, listas e comandos de repetição.
Desenvolvimento de aplicações web utilizando Flask (Python) e React
Resumo
O consumo de API REST está cada vez mais presente no mundo do desenvolvedor, seja para o desenvolvimento de uma Single Page Application (SPA) ou aplicação móvel. O presente tutorial, objetiva fornecer aos interessados meios de desenvolverem sua própria aplicação REST utilizando Python, o micro-framework Flask e consumi-la utilizando React.
Público-alvo
É fundamental o conhecimento básico da linguagem Python. Conteúdos introdutórios e boas práticas da arquitetura REST devem ser abordados, desta forma não é necessário ser familiarizado com estes, o interesse no tema demonstra-se suficiente. Conhecimento de banco de dados como MYSQL e/ou PosgreSQL é interessante, mas não essencial. Será fornecida uma pequena aplicação web em REACT, para demonstrar o processo de integração da API com uma aplicação real, sendo necessário conhecimento básico em JavaScript.
O que esperar?
Ao final do tutorial, pretende-se que os interessados saiam com noção de como uma aplicação web pode ser desenvolvida utilizando Flask e React. Contudo, irão obter conhecimento de ferramentas que possibilitam realizar o teste em sua API, por exemplo o Postman.
Django com DRF + Firebase: Uma aplicação de Sucesso
A ideia aqui é mostrar como construir uma API com DRF autenticando e liberando permissoões via firebase.
Também vai ser abordado como trabalhar com o firebase Realtime Database.
Django - do zero ao deploy - agora vai!
Resumo:
É iniciante, amigos seus sabem que você programa, esses mesmos amigos já te indicaram pra um serviço, um freela, mesmo uma vaga de emprego e você não conseguiu o job por não saber bem um framework web? Mesmo que nada disso tenha acontecido com você, se você pretende entrar na área de desenvolvimento web deve saber que é essencial dominar um framework web.
Neste tutorial iremos ver como dar os primeiros passos com Django, um dos principais frameworks web feitos em Python. Iremos sair de um "Hello World" em Django a uma aplicação que irá rodar na web e que você poderá mostrar para quem quiser e dizer que fez seu primeiro site.
Público-alvo:
Iniciantes em programação que pretendem adentrar na área de desenvolvimento web e que têm curiosidade em aprender um framework web. Conhecimento básico prévio em Python e modelagem de dados é interessante mas tentarei fazer algo bem voltado pra iniciantes.
O que esperar:
Quem se fizer presente no tutorial verá o conhecimento básico necessário para começar a dar os primeiros passos em desenvolvimento web usando um framework robusto e focado em produtividade que é o Django.
import requests: como realizar fluxos (e testes) de API em Python através da biblioteca Requests
Resumo:
Requests é uma biblioteca HTTP em Python cuja finalidade é a realização de requisições entre serviços de forma bastante simplificada, eliminando grandes esforços de validações manuais. Dada sua estrutura e combinando com a linguagem Python, é possível criar testes de API com grande potencial de automação, trazendo ganhos ao processo de teste de software para produtos que utilizam de API no seu desenvolvimento.
A proposta deste workshop é de apresentar a biblioteca "requests" em termos de estrutura e funcionamento e, com a linguagem Python, realizar o fluxo dos principais métodos HTTP (POST, GET, PUT DELETE) seguindo padrões de automação de teste de software.
Público-alvo:
Profissionais da área de teste de software que já trabalham com automação ou que querem saber mais sobre o assunto; pessoas que desenvolvem software com APIs; pessoas desenvolvedoras ou testers que querem saber como funcionam requisições para APIs.
Este conteúdo é recomendado para qualquer nível de experiência com Python.
O que devem esperar:
Conhecer a biblioteca python "requests" em termos de estrutura e funcionamento e realizar fluxos como POST, GET, PUT, DELETE em uma API seguindo padrões de automação de teste de
OpenCV Crash Course
Esse tutorial é para iniciantes na área de processamento de imagem e visão computacional. Pessoas que tenham a curiosidade de saber sobre a área, ou que estão loucas para começar a aprender e a trabalhar com isso, mas não sabiam por onde começar.
Esse tutorial tem o intuíto explicar conceitos introdutórios dessa área, para que a pessoa possa entender a quantidade enorme de contéudo presente na internet. Será um tutório prático, com exemplos reais.
É preciso ter um conhecimento básico de Python, para participar do tutorial.
Serão utilizados as ferramentas:
* OpenCV
* Dlib
* Jupyter Notebook
Não precisa ter um computador muito bom, apenas será preciso um computador com internet.
O que é O que é? Aiohttp!
Resumo Você já fez ligações telefonicas ou envios de SMS via sua própria aplicação? Curioso sobre como funciona as bibliotecas assíncronas Asyncio + Aiohttp? Quer começar a investigar e não sabe por onde começar? Criaremos um aplicativo que para fazer chamadas telefônicas para os usuários com interações básicas com o usuário enquanto conta uma piada/charada. Também configuraremos uma coleta básica de métricas e mostraremos como é mais fácil lidar quando todo o serviço é configurado de forma assíncrona.
Conversaremos sobre que é aiohttp, como utilizá-lo e seguida vamos a construir juntos uma aplicação assíncrona. No decorrerer, falaremos sobre os benefícios da configuração de um servidor assíncrono e algumas comparações interessantes com outras abordagens.
Sobre a aplicação, será semelhante ao Dial-A-Joke criado por Steve Wozniak. Nossa aplicação fará ligações VoIP para usuários que se inscreveram para receber piadas em horários programados (agendador de piadas). Quem estiver do outro lado da linha vai ouvir uma piada/charada via TTS (text-to-speach). Vamos configurar o agendamento assíncrono dentro do serviço e deixá-lo em execução. Os participantes terão um determinado tempo para implementarem seus próprios métodos para tornar o programa mais interativo com o usuário.
Público-alvo - Este workshop é voltado para usuários de nível intermediário de Python. O requisito é que você tenha alguma familiaridade com a linguagem e já tenha uma boa configuração do ambiente de trabalho. Usaremos o Python 3.6, mas qualquer versão após a 3.5 também funcionará. Usaremos um template de projetos (cookiecutter) Python para configurar um modelo básico para iniciar nosso projeto.
O que os/as participantes devem esperar do seu tutorial? - Ao final do tutorial, os participantes estarão apresentados a :
- Biblioteca Asyncio
- Web framework Aiohttp
- Cookiecutter templates
- Vantagens e Casos de Uso para programação assíncrona
- Algumas piadas ruins do Tutor e também da API de piadas.
Pandas, GeoPandas e XArray: Estruturando Dados Meteorológicos Georeferenciados e Outras Mágicas.
Palestra voltada aos programadores Python do Iniciante ao intermediário.
Veremos como o Pandas e o seu irmão XArray facilitam a organização e as operações(min, max, mean) com esses dados, além de plotagem de mapas com GeoPandas.
Cada uma das bibliotecas (Pandas, GeoPandas e XArray) ajuda a resolver problemas com diferentes tipos/estruturas de dados mas todas com uma interface pythônica. Enquanto Pandas nos lembra planilhas de dados como vemos no Excel e LibreOffice, GeoPandas segue a mesma idéia tabular no entanto com um campo especial de informação geométrica. Já o XArray estrutura os dados de forma multi-dimensional, como se existissem várias planilhas em um arquivo só.
Teremos uma introdução de cada biblioteca para entendermos melhor como funciona cada estrutura e em seguida veremos exemplos de operações de uma linha que são verdadeiras mind blowing.
Agenda Proposta:
- Exemplos de Dados Meteorológicos.
- Pandas 101
- Armazenamento com HDFStore
- Pandas MultiIndex
- Operações nos dados
- Plots e Escrita com pd.ExcelWriter
- XArray 101
- Operações
- Plots
- GeoPandas 101
- Operações
- Plots
Primeiros passos com Python e Git
Resumo
Nunca programou em Python? Sem problemas! Não sabe o que é uma ferramenta de controle de versão? Não se preocupe: um dos objetivos aqui é justamente termos um primeiro contato com uma das mais importantes ferramentas no dia-a-dia de quem programa. "Mas e eu que nunca programei na vida?" - pode vir também, pois tentaremos fazer um caminho suave. Nele iremos aprender o básico da linguagem Python e da ferramenta de controle de versão Git.
Como faremos isso, você se pergunta? Vamos (tentar) fazer uma aplicação onde consultaremos dados abertos com informações básicas sobre países (nome, capital, abreviação da moeda, etc) e, posteriormente, salvaremos essas consultas em uma planilha no formato CSV. Conforme o código for sendo escrito, vamos versionar nosso progresso para que possamos ter um histório e observar a evolução do nosso pequeno programa.
Quem é o público-alvo do seu tutorial?
Esse tutorial é focado em iniciantes na linguagem Python ou mesmo iniciantes em programação. Ter uma base sobre programação e lógica ajuda, mas não é imprescindível.
O que os/as participantes devem esperar do seu tutorial?
- O que abordaremos?
Python: tipos, estruturas de repetições, funções, classes e métodos.
Git: fluxo básico da criação de um repositório, commit, envio, atualização, branches, remote.
Para atingirmos nosso objetivos usaremos as documentações oficiais do Python e do Git, a documentação do site onde estão disponíveis os dados, mais nosso raciocínio e ideias.
Visualização de Dados em Python do Jeito Certo
Descrição: A visualização de dados está intríscicamente ligada às disciplinas de ciência e análise de dados. O tutorial Visualização de Dados em Python do Jeito Certo tem o propósito de ensinar várias técnicas essencias na área de visualização de dados, quando usá-las e como implementá-las do jeito certo usando Python e a biblioteca Matplotlib. Neste tutorial, você irá dominar técnicas essencias para responder questionamentos do mundo real, e ainda, você será capaz de saber o que fazer quando se deparar com grande volume de dados. No final do tutorial, você terá uma base sólida sobre a disciplina da visualização de dados e será capaz de olhar sem medo para o horizonte da ciência de dados.
Público-alvo: Este tutorial é voltado para profisisonais de nível intermediário a avançado em Python. Os requisitos para ter melhor aproveitamento são: noções básicas de Python, Estatísitca e Análise de dados.
Conteúdo:
- Introdução
- Visão geral do Jupyter, Pandas e Matplotlib
- Trabalhando com histogramas
- Trabalhando com séries temporais
- Trabalhando com dispersão
- Trabalhando com gráfico de barras
- O que fazer diante de um grande volume de dados
- Exemplo prático