Python Sudeste 2016 - Tutoriais
Primeira edição da conferência Python Sudeste, que será realizada em Belo Horizonte - MG.
Data prevista: 03 de setembro de 2016
Essa página apresenta a chamada de tutoriais.
Mas o que é um tutorial? É um treinamento que poder ter 2, 4 ou 6 horas de duração.
Se você deseja inscrever um tutorial, preencha a proposta abaixo e não esqueça de informar na descrição a duração de seu tutorial.
Critérios de escolha dos tutoriais:
* Número de tutoriais do mesmo assunto (maior diversidade de assunto)
* Número de totoriais por tutor (maior diversidade de tutores)
* Número de votos
Propostas
Dados Tabulares: A Maneira Pythônica
Dados tabulares estão presentes em todos os lugares, em diversos formatos: CSV, XLS, ODS, HTML, JSON, bancos de dados etc. Porém as APIs das bibliotecas são completamenta diferentes, que dificulta bastante o intercâmbio de dados e acesso para análises.
Nesse tutorial será apresentada a biblioteca rows: desde seus usos mais básicos até suas entranhas; a biblioteca rows tem como objetivo prover uma API simples, direta e unificada para trabalhar com dados tabulares, suportando inúmeros formatos. Além da API, será abordada a interface de linha de comando (CLI), que facilita conversões e análises iniciais. Como a biblioteca é software livre, também serão apresentadas as melhores formas de colaborar com o projeto.
Para participar você deve levar um notebook com os seguintes softwares instalados:
- Python 2.7.x
- rows e todas suas dependências (pip install rows[all])
- Clone do repostiório rows que está disponível no GitHub do autor (git clone https://github.com/turicas/rows)
deep pandas
pandas é um pacote para manipulação de estrutura de dados extremamente rápido e flexivel. Pandas permite fazer analise de dados para o mundo real de maneira intuitiva e rápida. Nesse tutotiral vamos fazer um introdução sobre o pandas, obtenção e seleção de dados, slicing, limpeza e agregações! De quebra ainda terá um bom overview sobre iPython.
Material:
- Um computador ou tablet com teclado ;
- Acesso a internet.
Hackeando Dados Públicos com Python (2h)
Tutorial, para iniciantes em programação :-) Usando Python 3, sem nenhuma biblioteca externa, iremos responder as perguntas: 1) Quanto o Brasil gastou na Copa do Mundo 2) Quantas escolas existem, em funcionamento, sem água, luz e esgoto. Bônus: acesso aos editoriais do New York Times, dados da campanha eleitoral americana 2016. Este tutorial é interessante se você vem de outra linguagem e quer ter o primeiro contato com Python. Eu dei este workshop no Curso Abril de Jornalismo e ano passado no Congresso da Abraji. Se você quiser saber um pouco mais sobre mim eu dei esta entrevista recente no jornal O Globo e estas são as minhas redes sociais.
Orientação a Objetos em Python
É muito comum o pensamento iniciante de que Orientação a Objetos é só escrever classes com métodos de get/set. Isso leva a uma visão muito limitada desse conceito que, quando bem aplicado e pensado, facilita muito a vida do desenvolvedor e ajuda na qualidade de manutenção do software. Além disso, esse entendimento de OO em Python negligencia diversas ferramentas da linguagem excelentes para a escrita de um bom código utilizando OO.
Nesse tutorial serão apresentados os conceitos de Orientação a Objetos aplicados de maneira Pythônica além também de serem apresentados e discutidos conceitos teóricos como o acrônimo do SOLID e estratégias de testes utilizando unitários com OO.
Para participar você deve levar um notebook com os seguintes softwares instalados:
- Python 2.7.x
- pytest (pip install pytest)
Phoenix framework
Phoenix é um framework web desenvolvido em Elixir que usa o padrão MVC.
Possui padrões de desenvolvimento similares ao Rails ou Django e uma baixa curva de aprendizado.
Foi desenvolvido para resolver alguns problemas encontrados no rails(especialmente escalabilidade e multiprocessamento).
É um framework focado em produtividade, alta performance, escalabilidade e tolerância a falhas.
Neste tutorial desenvolveremos um pequeno chat em Phoenix para demonstrar como funcionam os channels, o ecto e o padrão MVC.
Os tópicos do tutorial serão:
- Request pipeline
- Routers
- Controllers
- View e templates
- Side effects
- Ecto e Changesets
- Autenticação de usuários
- Generators
- Testing
- Channels
- Introdução ao OTP
Duração do tutorial: 4 horas
Para participar você deve levar um notebook com os seguintes softwares instalados:
- Erlang versão 17 ou maior https://www.erlang.org/downloads
- Elixir versão 1.1.0 ou maior http://elixir-lang.org/install.html
- Postgresql versão 9.2 ou maior https://www.postgresql.org/download/
- Node.js versão 5.3.0 ou maior https://nodejs.org/
- Phoenix http://www.phoenixframework.org/docs/installation#section-phoenix
Programação funcional com Elixir
Programação funcional está se tornando uma tendência para resolver problemas de sistemas distribuídos e de concorrência.
Elixir é uma linguagem de programação funcional e concorrente que roda em cima da máquina virtual do Erlang (BEAM). Foi desenvolvida por José Valim (Brasileiro, ex-Rails core team) para resolver os desafios encontrados no Ruby, porém, mantendo a sintaxe concisa e elegante.
Os tópicos do tutorial serão:
- História da programação funcional
- Vantagens em relação a outros paradigmas
- Conceitos básicos
- Programação distribuída
- Concorrência e Paralelismo
- Pattern Matching
- Imutabilidade
- Funções de alta ordem
- Funções anônimas
- Lazy evaluation
- Elixir
- Tipos de dados
- Coleções
- Maps
- Módulos e funções nomeadas
- Listas e Recursão
- Strings
- Enums
- Convenções
Duração do tutorial: 4 horas
Para participar você deve levar um notebook com os seguintes softwares instalados:
- Erlang versão 17 ou maior https://www.erlang.org/downloads
- Elixir versão 1.1.0 ou maior http://elixir-lang.org/install.html