Python Brasil 2018 [TUTORIAIS]

Python Brasil 2018 [TUTORIAIS]

Este é o canal oficial para submissões de tutoriais da Python Brasil 2018.

A 14ª edição do evento acontecerá em Natal/RN entre os dias 17 a 22 de outubro, sendo os dias 17 e 18 destinados para os tutoriais.

 

Sobre:

Tutoriais são treinamentos que abordam o Python e tecnologias relacionadas onde os participantes vão poder desenvolver projetos colocando em prática o aprendizado adquirido. Esses treinamentos podem ter 2, 4 ou 6 horas de duração.

Descreva as seguintes informações sobre o tutorial na proposta:

  • Duração em horas.
  • Nível de conhecimento prévio do assunto que os participantes precisam ter (iniciante, intermediário, avançado);
  • Configurações de ambiente;
  • Pré-requisitos.

Serão aceitos tutoriais em Português, Espanhol, e Inglês.

 

Critérios de escolha de tutoriais:

  • Maior diversidade de assunto;
  • Número de votos;
  • Número de tutoriais por ministrante (maior diversidade de ministrantes);
  • Ministrantes novos.

Dicas:

  • Procure colocar uma descrição bem detalhada sobre o conteúdo de seu tutorial para que todos possam compreendê-lo;
  • Analise os tutoriais já submetidos e também os de eventos anteriores. Isso pode te ajudar a definir um título e descrição de seu tutorial, e quem sabe você tenha algum insight sobre algum tema.
  • Caso você possua mais de um tutorial que queira apresentar você pode enviar uma proposta para cada um deles. Não há limite de proposta de tutoriais por participante.

Observações:

  • Após o encerramento das votações entraremos em contato com todos os candidatos que foram selecionados;
  • Para participar do evento, mesmo como tutor, é necessário adquirir um ingresso. Para mais informações sobre compra de ingressos acesse o site http://2018.pythonbrasil.org.br

Datas:

  • Submissão de tutoriais até dia 30/07/2018
  • Divulgação dos resultados até o dia 15/08/2018.

Se liga nas datas e não deixe para a última hora!

 

Python Brasil 2018 [TUTORIALS]

This is the official channel for submissions of Python Brasil 2018 tutorials.

The 14th edition of the event will take place in Natal/RN from October 17th to 22nd, with the days 17 to 18 being reserved for the tutorials.

 

About:

Tutorials are workshops that approach Python and related technologies, in which participants will be able to develop hands on projects, practicing acquired learning. These workshops can be 2, 4 or 6 hours long.

Describe the following information about the tutorial in the proposal:

  • Duration in hours.
  • Environment setup;
  • Prerequisites.

Will be accepted tutorials in Portuguese, Spanish, and English.

Criteria for choosing tutorials:

  • Greater diversity of topic;
  • Number of votes;
  • Number of tutorials by tutorial teacher (greater diversity);
  • New tutorial teacher.

Tips:

  • Try to write a very detailed description of the content of your tutorial so that everyone can understand it;
  • Analyze the workshops proposed and also the ones from previous editions of this and other events. This can help you choosing a title and description for your tutorial, e who know if you can have an insight about a theme.
  • If you have more than one proposal you want to make, you can send them all. There is no limit to the proposal of tutorials per participant.

Comments:

  • To participate in the event the the tutorial teacher must act accordingly with the Code of Conduct. You can access it at http://2018.pythonbrasil.org.br/codigo-de-conduta
  • After the closing of the voting, we will contact all the candidates that were selected;
  • To participate in the event, even as a tutorial teacher, you must purchase a ticket. For more information about ticket purchases, visit http://2018.pythonbrasil.org.br

Dates:

  • Submission deadline for tutorials on 07/30/2018
  • Disclosure of results until 08/15/2018.

Pay attention to the dates and do not make your proposal last minute!

 


Este evento não aceita mais propostas.

Propostas

author photo

Application/Service Configuration do Zero ao Deploy

Muitas aplicações e serviços dependem de arquivos de configuração para comportar-se acordo com as necessidades do usuário final. A biblioteca padrão do python nos fornece a classe ConfigParser e muitos projetos se utilizam dela para ter suporte a configuração de uma forma fácil.


Usando oslo.config, podemos ler arquivos de configuração da mesma forma que o ConfigParser, mas também podemos tornar tal configuração flexível por meio de argumentos de linha de comando e obter benefícios adicionais para na manutenção das opções de configuração e segurança dos valores de configuração.


Neste workshop vamos tornar uma aplicação configurável dando ao usuário final maior flexibilidade no uso da mesma, assim como torná-la mais segura armazenando informações sensíveis da configuração em um local adequado reforçando o controle de acesso.

Use os botões abaixo para votar:

author photo

Construindo API REST com Django REST Framework

Nos ultimos anos, o desenvolvimento de APIs vem crescendo exponencialmente. Nesse tutorial falarei a respeito do que é uma API e qual as suas funcionalidades no mundo do desenvolvimento atual. A partir disso, irei iniciar um projeto django para exemplificar a construção de um API REST (utilizando Django REST Framework) desde a criação dos models até a codificação dos serializers, API Views (ou Viewsets), Permissions, Paginação, Throttling e as formas de documentação. O tutorial terá duração de 6h.

Use os botões abaixo para votar:

author photo

Desenvolvendo aplicações que utilizam GPIO do RaspBerryPi com Python + QT5

Descrição: Dada a grande quantidade de aplicações que se pode ter para a placa de desenvolvimento RaspberryPi, procuro apresentar nesse tutorial uma aplicação que envolve a utilização da saída GPIO do RaspBerryPi.


Nesse tutorial será desenvolvida uma aplicação gráfica simples em Qt5, que acessa os pinos GPIO do RaspBerryPi utilizando a biblioteca WiringPi. Como resultado final a aplicação irá controlar um sistema de LEDs configurados em uma protoboard.


Informações:



  • Duração em horas: Até 2 horas;

  • Nível de conhecimento prévio: Básico

  • Configurações de ambiente: Python3+ e QtCreator com o kit de desenvolvimento para Raspberry configurado.

  • Pré-requisitos: Conhecimento básico em Python, experiência prévia em Qt5 (preferência utilizando o QtCreator) é opcional.


Obs: caso não seja possível configurar o kit de desenvolvimento para RasbBerryPi, posso fazer o deploy via ssh, então a configuração do kit no Qt Creator é opcional.

Use os botões abaixo para votar:

author photo

Desenvolvendo um jogo com Python

Eu posso apresentar o tutorial 'Como fazer um joguinho simples com Python'


Basicamente mostro como criar o joguinho. São menos de 60 linhas de codigo.


Posso palestrar por duas horas sobre esse tema.


Apresento o básico da linguagem e abordo interface gráfica.


O público pode ser composto por iniciantes sem experiência com python e também por usuários intermediários.


Posso palestrar até para 100 pessoas aproximadamente.


Para isso preciso do 'kit multimedia' para exibir o desenvolvimento no telão.


Se voces estiverem dispostos a possibilitar essa palestra voces podem me contactar pelo meu email schio.rodrigo@gmail.com

Use os botões abaixo para votar:

author photo

Desenvolvendo Web Crawlers com Scrapy

Muitos dados que precisamos para nossas aplicações estão espalhados por páginas web estruturados de uma maneira inadequada para nossa utilização. Fazer esse trabalho de organizar toda essa informação de maneira manual é praticamente impossível, então uma ótima maneira de fazer esse trabalho é utilizar a dupla Scrapy + Python para obter tais dados!

Neste tutorial, os participantes desenvolverão web crawlers usando Scrapy, enfrentado os cenários e prolemas mais comuns e maneiras para solucioná-los.

Conteúdo:

Introdução
  - Conceitos básicos de web crawlers
  - Arquitetura básica do Scrapy
  - Hello world! Meu primeiro spider

Encontrando informação
  - Scrapy Shell para experimentação
  - Seletores CSS
  - Seletores XPath

Navegando por um site
  - Buscando e seguindo links
  - Utilizando paginação
  - Exportando dados

Formulários
  - Submetendo formulários
  - Autenticação de usuários

Javascript
  - Lidando com páginas com javascript

Outros
  - Evitando ser banido
  - Boas práticas
  - Scrapy Cloud

- Duração: 4 horas.
- Configurações de ambiente: Python 3 + Scrapy instalado (em um virtualenv de preferência)
- Pré-requisitos: HTML/CSS básico e Python

Use os botões abaixo para votar:

author photo

Do nada, tudo se constrói. Testes, TDD, pytest & Tornado Web

Temos idéias constantes para construir soluções!


O passo-a-passo mais comum é iniciar a codificação da solução, sem considerar se nossas expectativas estão sendo atendidas corretamente.


Testes podem ajudar a construir soluções melhores. Iniciar pelos testes, pode ajudar a obtermos respostas mais rápidas às nossas expectativas, além de produzirmos softwares melhores.


Como alternativa, podemos guiar nosso desenvolvimento somente pelos testes.


Neste procedimento, partimos por hipóteses às espectativas sobre o produto final, permitindo um crescimento consistente e entrega contínua de respostas às questões importantes sobre a solução.


Neste tutorial, será apresentada uma introdução básica de testes, evoluindo por conceitos mais detalhados desta técnica aplicada na construção de um software.


A ferramenta principal será o framework Pytest e seus plugins.

Use os botões abaixo para votar:

author photo

Escrevendo um crawler assíncrono com python 3.6

Sobre:
Nesse tutorial vamos aprender e desenvolver do início ao fim um crawler utilizando programação assíncrona com python e o módulo aiohttp;


Além disso, vamos cobrir testes de código assíncrono e mock de requisições a serviços externos;


Demostrar como identificar e extrair informações de páginas html;


Por que um crawler? É um ótimo exemplo de um tipo de aplicação IO Bound onde podemos nos aproveitar de programação concorrente para melhorar a performance.


Duração: 6 horas


Nivel de conhecimento: Conhecimento em python iniciante para intermediário


Pré-requisitos: Um notebook com o ambiente pré configurado =)


Configurações de ambiente: Virtualenv python3.6 com a seguinte lista de requirements:



aiodns==1.1.1
aiohttp==3.3.0
aioresponses==0.4.1
async-timeout==3.0.0
asynctest==0.12.0
attrs==18.1.0
beautifulsoup4==4.6.0
bs4==0.0.1
cchardet==2.1.1
chardet==3.0.4
idna==2.6
idna-ssl==1.0.1
lxml==4.2.1
multidict==4.3.1
pycares==2.3.0
yarl==1.2.4


Use os botões abaixo para votar:

author photo

Estrutura de Dados é ❤

Eu ❤❤ Estrutura de Dados. Tutorial para iniciantes! Se você acredita que isso é possível, venha curtir uma pequena amostra de códigos e discussões apaixonadas. Recursão. Vetores. Ponteiros. Listas Encadeadas. Pilhas e Filas. Algoritmos de Ordenação: inserção, seleção, mergesort, quicksort. Algoritmos de Enumeração. Boyer-Moore. Árvores Binárias. Teoria dos Grafos. Deixe seus traumas e venha ser feliz.

Use os botões abaixo para votar:

author photo

Haskell para desenvolvedores Python

Nos últimos tempos várias linguagens estão adotando características funcionais como Java, Swift e JavaScript e para aprender sobre programação funcional fui atrás de uma linguagem que tem várias semelhanças com Python chamada Haskell.



Nesse tutorial você vai entender sobre os principais fundamentos da linguagens de programação funcional fazendo um parelo entre Python e Haskell para mostrar as semelhanças e diferenças.


Haskell é uma linguagem puramente funcional que te desafia a pensar de uma maneira diferente da maioria das linguagens que você já utilizou.


 


Que saber sobre os principais conceitos de programação funcional?


Conhecer uma linguagem puramente funcional?


Saber de onde surgiram as list comprehensions de Python?


 


Neste tutorial vou mostrar de maneira mais profunda e prática como exercitar a programação funcional e aprender a pensar de uma maneira totalmente diferente da de costume, ajudando você resolver problemas de maneiras mais criativas.


 


Te vejo na Python Brasil 2018. o/


Duração: 2 horas
Nível de conhecimento: Iniciante
Configuração do ambiente: É preciso ter  Python 3 e Haskell Platform instalado
Pré requisitos: Python básico

Use os botões abaixo para votar:

author photo

Introdução a dockerização de sua aplicação Python

Ao longo desse tutorial vou te mostrar como utilizar Docker em sua aplicação Python e como trazer as vantagens do Docker para o seu trabalho.

Hoje em dia muitas empresas se beneficiam das vantagens de se utilizar containers em suas aplicações desde o ambiente local até produção. Nesse tutorial você vai enteder como pode se aproveitar desses benefícios também de maneira bem didática.

Primeiro vamos fazer uma API simples rodar e depois vou mostrar passo a passo como *dockerizar* essa aplicação de maneira bem simples.

Ao fim do tutorial você vai entender quais são as vantagens e desvantagens de usar Docker e enteder como você pode se beneficiar dessa ferramenta. 


Duração: 4 horas
Nível de conhecimento: Iniciante
Configuração do ambiente: É preciso ter  Python 3 e Docker instalado
Pré requisitos: Python básico

Use os botões abaixo para votar:

author photo

[Machine Learning] Hands on Análise de Sentimentos

Temos milhares de opiniões circulando nas redes sociais. Podemos utilizá-las para saber as pessoas que estão secando a seleção na copa, quem vai votar no Lula nas próximas eleições e quem curtiu ou não a compra do GitHub pela Microsoft.


Nesse tutorial, eu vou te ensinar como aplicar análise de sentimentos em tweets, utilizando as bibliotecas: TweetPy, TextBlob e Numpy.


Duração: 2h;
Nível: Iniciante;
Configuração de ambiente: Python 3, TweetPy, TextBlob e Numpy instalados;
Pré-requisitos: Conhecimento Básico de Python;

Use os botões abaixo para votar:

author photo

Não é Bruxaria, é Pandas (4h)

Pandas é uma biblioteca de estruturação e análise de dados para Python. Ou colocando em outros termos, uma grande aliada na hora de sacar bons insights de grandes volumes de dados. Vamos colocar a mão na massa, entrevistar bases de dados públicas e extrair as respostas que buscamos com as funções dessa que é uma das melhores e mais completas bibliotecas para exploração de dados. Casos práticos: Análise da fila do SUS do Estado de Santa Catarina; Visualização dos postos de saúde em São Paulo; Visualização das Despesas dos Deputados Federais; Limpeza de Dados Públicos; Recortes na Base Nacional de Mandados de Prisão.

Use os botões abaixo para votar:

author photo

Pensamento Computacional com Python: Uma abordagem de ensino-aprendizagem de programação

Neste tutorial apresentaremos a importância do pensamento computacional e maneiras de desenvolver essa habilidade através de atividades desplugadas (sem uso de computador) e que são transversais a todas as áreas do conhecimento. Em segundo momento, aplicaremos a linguagem Python na codificação das soluções de problemas.

Público-alvo: Pessoas interessadas em maneiras de ensinar e/ou aprender pensamento computacional e programação


Duração: 6h | Nível de conhecimento: Livre | Pré-requisitos: Não tem | Configuração de ambiente: Python3


 

Use os botões abaixo para votar:

author photo

Soluções IoT com Python + Micro Python - Do Device à Cloud

Atualmente a Internet das Coisas é a menina dos olhos dos desenvolvedores, com isso em mente a ideia é trazer para o evento um pouco desse universo, utilizando o famoso ESP32 e uma plataforma para IoT (Internet of Things) vamos desenvolver uma solução end-to-end, levando o usuário desde da programação do device à configuração do ambiente em nuvem, que irá receber dados dos devices, após iremos ensinar como manipulá-los de forma a poder ter visualizações "user friendly".


Utilizando uma nova plataforma chamada PyoTEA, ferramenta Open Source para registro de dispositivos e coleta/análise de dados massivos em tempo real, faremos a conexão dos ESP32 para envio de dados via MQTT, com uma pegada bem profissional, usando chaves criptografadas para autenticação de device e também de usuário.


O ESP32 tem WiFi integrado, tem 36 GPIOs, vem com Bluetooth 4.2 (BLE) e mais sinais de PWM, o que chama mais a atenção é que o ESP32 é dual-core, e vem com cerca de 500 kBytes de memória SRAM, o que permite executar programas mais complexos.
Vamos explanar sobre como configurar o ambiente para trabalhar com Micro Python e ESP32, detalhando configurações de ambiente, APIs, ferramentas, exemplos e a programação da aplicação de fato.


No que tange a plataforma PyoTEA, vamos abordar como o Python está sendo utilizado dentro da plataforma para viabilizar as diversas camadas da aplicação.


DURAÇÃO: O tutorial terá a duração de 2 horas


NÍVEL: Participantes de todos os níveis poderão participar, desde de iniciante até usuários mais avançados.


CONFIGURAÇÃO DE AMBIENTE: O ambiente será configurado durante o tutorial.


PRÉ-REQUISITOS: Vontade de aprender e conhecimentos básicos de programação.

Use os botões abaixo para votar: