Python Sudeste 2017 [PALESTRAS]

Colabore com o evento na campanha do Catarse!

A segunda edição da Python Sudeste ocorrerá no Rio de Janeiro nos dias 5 e 6 de Maio. O evento tem como objetivo não só falar sobre Python, mas também reunir em uma mesma cidades pessoas interessadas em Python que estão espalhadas, principalmente, pela região Sudeste do Brasil. Diretamente inspirado pela já consolidada Python Nordeste, esta é a segunda edição do evento que teve como sede anterior Belo Horizonte.

Como inovação para esta edição, a votação das palestras será anônima. ou seja, o eleitor só terá acesso ao título e à descrição da palestra no momento de votar. Já realizamos esta experiência com o XVI Encontro da PythonRio e ela foi bastante proveitosa. O intuito é focar mais no conteúdo e menos nas pessoas, permitindo assim um espaço mais democrático para que novas pessoas possam falar sobre o que andam fazendo com Python. Cada palestra terá 40 minutos, sendo 30 para a palestra e 10 para perguntas e elas serão aceitas até o dia 15 de Março.

Submeta sua proposta e, precisando de mais informações, não hesite em falar conosco pelas páginas no Facebook da Python Sudeste ou da PythonRio!


Este evento está em modo de Votação Anônima, todos os palestrantes estão escondidos para votação, você deve basear seu voto apenas no conteúdo das propostas..

Acessibilidade para deficientes visuais com Python

Conheça um projeto open source que está facilitando a vida de muitas pessoas que precisam usar o computador para estudar, ler, trabalhar, pagar contas, se comunicar, mais elas não possuem visão, ou parcial ou total.


O melhor software do mundo para ajudar deficientes visuais a usar computador, é um software alemão que custa um valor astronômico, e só a licensa, é 8 mil dólares.


Cansados desta situação, dois programadores python australianos, deficientes visuais, resolveram criar o seu proprio software para auxiliar outros deficientes e ainda liberaram o seu software no github.


Quer conhecer?


Então não perca esta apresentação!!!


 

Use os botões abaixo para votar:

A longa e difícil jornada de submeter um formulário

Lidar com a submissão de formulários é uma tarefa corriqueira de quase todo desenvolvedor web. É também uma tarefa que pode a primeira vista parecer bastante simples, mas será que é mesmo? Desenvolver um formulário capaz de: realizar validações, lidar com erros, exceções e que tenha uma boa experiência de usuário (UX) exige muito mais do que você pode imaginar. Nessa palestra vamos explorar os desafios de desenvolver um formulário com todas essas características e vamos responder as seguintes perguntas:


- Como e onde e quando fazer validações?
- Como lidar com requisições asíncronas?
- Como reportar erros?
- Como garantir um boa UX?


Para isso, vamos utilizar algumas ferramentas modernas como: React, Redux, Sagas, Tapioca-Wrapper e Django REST Framework.

Use os botões abaixo para votar:

Aplicações multitenancy com Django

Multitenancy é um modelo de arquitetura de sistemas onde uma única instancia de software serve múltiplos clientes (tenants) cada um em seu próprio contexto disjunto de dados. Isolar dados não só nos permite evitar falhas de segurança no sistema como também simplifica o desenvolvimento da aplicação e sua manutenção. Nesta palestra vamos falar sobre as formas de se desenvolver um sistema multitenant, monstrando vantagens e desvantagens e também explorar as ferramentas disponíveis para o Django que podem facilitar bastante o nosso trabalho. 

Use os botões abaixo para votar:

Big Data: iniciando meu trabalho com grandes dados.

Começando em Big Data.  


Uma Desenvolvedora jr. aprendendo a trabalhar com grandes dados. 


As tecnologias e como trabalhar num ambiente com muitos dados. 


 


 

Use os botões abaixo para votar:

Calculando recomendações usando Hadoop e mrjob

Nesta palestra vamos calcular recomendações simples (como a tradicional recomendação "Quem viu, também viu") criando execuções de map-reduce no Hadoop através da biblioteca mrjob.


Para isso irei falar sobre:


- O que é Hadoop e como funciona um job Map reduce?
- Calculando recomendações usando apenas "python puro"
- O que é MrJob
- Usando MrJob para calcular:
    * Popularidade de produtos
    * Quem viu, também viu
    * Quem viu, também comprou




Use os botões abaixo para votar:

Como organizar sua infraestrutura com soluções Pythonicas

Se você esta sentindo que esta perdendo o controle da sua infraestrutura ?

Não consegue mais conviver com noites de pizza e deploy ?

Não se sente seguro fazendo deploys artesanais em servidores snowflakes ?

Voce está cansado de brigas em equipes em um sistema de empurra-empurra ?

Junte-se a mim, em uma jornada de histórias com sucessos e fracassos, rumo ao sucesso de uma organização estrutural !


E COM SOLUÇÕES PYTHONICAS!

Use os botões abaixo para votar:

Como usar Django nos tempos de Angular e React

Qual é a maneira ideal de se trabalhar com Django usando um framework moderno de front?


Depois de passar anos usando Django e ótimas e péssimas experiências com frameworks de front, sinto que é hora de se falar mais sobre o assunto.
Pretendo discutir diferentes paradigmas de implementação para cada tipo de problema, passando por alguns pontos:
 - como decidir qual framework usar;
 - quando usá-los;
 - Django Rest Framework vs. Django puro;
 - e como tornar a aplicação extensível e pronta para aceitar diferentes soluções.

Use os botões abaixo para votar:

Como (você pode) ajudar a comunidade python

* Qual a importância da comunidade na sua vida


* Qual a sua importância para comunidade


* Adote um aluno


* Faça contatos


* Faça o certo (sempre)


* Participe 

Use os botões abaixo para votar:

Conheça o seu [Django] ORM




Fazer queries com o ORM do Django é fácil e nos poupa muito tempo. Muitas vezes é possível fazer projetos inteiros com simples `get`s e `filter`s. Também é muito comum encontrar projetos que precisam de cálculos e queries mais complexas, mas que optam por fazer queries simples e e fazer processamentos no Python. Por esses motivos, muita gente acaba não explorando todo o potencial do ORM. Nessa palestra vamos mostrar como utilzar essas ferramentas tantas vezes subutilizadas mas que podem acelerar e simplificar o desenvolvimento. Aqui alguns dos tópicos que vamos cobrir:
- Filter
- Exclude
- Select related
- Prefetch related
- Cláusulas Case When
- Anotações
- Agregações
- Cláusulas Q
- Cláusulas F
- Managers customizados
- Querysets customizados



Use os botões abaixo para votar:

Conhecendo os poderes do pdb++ uma ferramenta para depuração e debug

Nessa palestra vamos ver exemplos práticos de como usar de maneira eficiente os recursos de debug. Ao final da palestra eu espero que você consiga debugar de maneira mais rápida, eficiente e principalmente agradável :)

Use os botões abaixo para votar:

Descomplicando os mocks

Testar unitariamente é fácil, mas quando temos uma dependência externa no nosso código, a implementação do teste acaba demorando quando não sabemos usar direito os "paranauês" do mock.


Nessa palestra vou mostrar na prática as diversas maneiras de mockar objetos e isolar seu código testável de dependência externas como APIs e bancos de dados.


Falarei brevemente de teste unitário, qualidade de código até me aprofundar sobre mocks no python.

Use os botões abaixo para votar:

Explorando Pipenv - Pipfile, Pip e Virtualenv num só lugar

Nessa palestra vou mostrar essa ferramenta, que apesar de ser bem nova, já é muito útil para facilitar a criação e manutenção de ambientes Python de maneira bem simples.

 

Vou falar também sobre como o Pipenv agrega diversas ferramentais bem conhecidas, como virtualenv e o pip, além de outras como o Pipfile, que é o novo substituto para o conceito de "requirements.txt".

 

Irei apresentar como esse conjunto de ferramentas funciona de forma invisivel atráves do Pipenv, e que problemas ele pode ajudar a mitigar. Além disso, vou apontar já algumas das atuais limitações da ferramenta, dado seu estagio bem inicial de desenvolvimento.

 

Use os botões abaixo para votar:

Expressões Regulares e suas aplicações práticas

Vou mostrar aplicações práticas do uso de expressões na área de raspagem de dados, com exemplos reais mostrando coisas simples e também alguns exemplos um pouco mais avançados. 

Use os botões abaixo para votar:

Faça Kung Fu com Pandas!

Aviso! Esta não é uma palestra sobre Kung Fu, mas sim sobre como explorar de maneira interativa a biblioteca open-source Pandas, escrita em Python.


Pra quem não sabe, quando estamos trabalhando com Ciência de Dados, é bastante comum utilizar esta biblioteca para manipular o conjunto de dados que se tem em mãos, como uma etapa anterior a aplicação de qualquer algoritmo de Machine Learning.


O objetivo desta palestra é mostrar a você a alta performance provida pelo Pandas e também como é fácil utilizá-lo. Através de exemplos interativos utilizando Jupyter Notebook, você perceberá que não precisa ser especialista na área pra cair dentro de análise de dados.


E aí? Vamos começar fazendo um alongamento?

Use os botões abaixo para votar:

Flask e TDD, um combo imbatível!

Aprenda a aplicar o TDD corretamente com o microframework Flask para desenvolver APIs RESTful e tenha a segurança que o seu código faz o que você espera dele.


Serão abordados o Acceptance Test-Driven Development (ATDD), Testes Unitários, Mock, Fixtures de BD e Dublês de Testes.

Use os botões abaixo para votar:

Git: Gerenciando versões em projeto open-source

A algum tempo estudo sobre como gerenciar versões em projetos distribuidos, e como isso acontece no mundo open-source, acabei encontrando um modelo de ramificação (branch) e um processo bem interessante.


Nessa palestra, vou aprensentar como esse modelo impacta na redução de bugs em sua versão estável, versionamento (CHANGELOG) e como trabalhar distribuido em projetos Git (open-source).


 


Nível: Iniciante ~ Intermediário


Requisitos: Minímo sobre Git


Palavras-chave: git, github, versionamento, open-source, issues, hotfix, release

Use os botões abaixo para votar:

Indo além do pep8 - Escrevendo código elegante, claro, inteligente e consciso.

Sempre que começamos a trabalhar com python uma das primeiras coisas que a gente escuta e aprende são como fazermos o nosso código dentro das "guide lines" do python. Essas guides lines estão, em sua maioria, condensadas dentro da Pep8 e aborda várias coisas que vão desde espaçamento, forma de escrever funções, métodos, variáveis, etc.


A questão que simplesmente seguir esse conjunto de regras não garante que seu código seja Pythonico e consiga extrair o máximo dos recursos que a linguagem oferece.


A idéia dessa palestras é mostrar primeiros o que é o Pep8 e como ir além dele, conseguindo construir uma base de código conscisa, claro e boa.  Falar de coisas como clean code, uso de recursos que facilitam a cormpreensão (ex: contex, magic methods),  jeitos mais eficazes de escrever em python, etc.


 


Mais info:


https://www.youtube.com/watch?v=wf-BqAjZb8M


http://pyvideo.org/pycon-us-2015/beyond-pep-8-best-practices-for-beautiful-inte.html


https://www.reddit.com/r/programming/comments/3g8o2o/raymond_hettinger_beyond_pep_8_best_practices_for/

Use os botões abaixo para votar:

JSON Schema: valide e navegue entre suas APIS

Hoje com o mundo de APIs distribuídas, nasceram algumas dificuldades de validar e navegar entre os dados de diversos micro serviços. O modelo JSON Schema e JSON Hyper-Schema hypermedia veio para documentar, validar e deixar sua API auto-descritiva, portanto melhora esses pontos para os clientes.

Use os botões abaixo para votar:

Kivy: Python no celular e em vários outros lugares!

Kivy é um framework multiplataforma que permite fazer aplicações em Python com interfaces inovadoras para Linux, Windows, OS X, Android e iOS. E é um dos projetos em Python mais legais que tem, só que ainda é muito pouco utilizado. O objetivo dessa palestra é apresentar o Kivy, mostrar o que é possível fazer com ele e indicar o caminho pros primeiros passos. 


Algumas perguntas que serão respondidas:


- Funciona mesmo no celular? A performance é decente? Não fica feio?


- Consigo acessar os recursos do celular?


- Tem algum projeto em produção pra gente ver? O povo usa mesmo?


- Exemplos! Cadê exemplos de projetos livres usando Kivy pra eu aprender?


 


Algumas observações que não perguntam, e por isso mesmo que vou falar:


- Kivy *NÃO* e só pra celular! (vc não precisa usar gtk ou qt pra botar uma interface visual no seu programa que roda no computador)


- A Kv Lang (linguagem de marcação do Kivy, usada para criar as interfaces) é muito boa


- Dá pra fazer jogo! \o/

Use os botões abaixo para votar:

Micro serviços e o problema dos dados distribuídos

Ao projetar seus sistema a maoria das pessoas buscam o paradigma de micro serviços, onde cada serviço / parte / sistema é responsável por uma parte do negócio. Isso ajuda em várias questões como escabilidade, distribuição, menor problemas de falhas em cascata, etc. O problema é que no mundo real, por mais que a premissa do micro serviços sejam independencia total, eles precisam de dados que são comuns. Num sistema de assinatura, um serviço de cobrança quer saber dados do usuário, assim como o sistema de playlist dele, e por aí vai.


O desafio está em como fazemos com os dados sejam "onipresentes" sem perder todas as vantagens de termos um sistema distribuído e sem adicionar muita complexidade.


A idéia dessa palestra é mostrar como dentro do contexto da empresa e do produto que atuo, fizemos e estamos pesquisando para resolver esse problema.  Vamos conversar sobre coisas sobre o que muitos tem chamado de Sistema de Dados orientados a Evento, stream de dados, kafka, logs distribuídos, transações e assincronismo. Claro que adicionando um bom tempero do python e como ele se encaixa como uma das peças que ajudam na solução final.


 


Mais info:


https://www.confluent.io/blog/data-dichotomy-rethinking-the-way-we-treat-data-and-services/


https://www.thoughtworks.com/insights/blog/scaling-microservices-event-stream

Use os botões abaixo para votar:

Modelos de concorrência e paralelismo com Python

A idéia é explicar brevemente o que é concorrência / paralelismo e depois entrar em detalhes sobre os principais modelos disponiveis no Python (não só com explicações teoricas, mas com demosntrações praticas).
Em outras palavras, nesse talk veremos as diferenças entre Threads, Processos e programação Async.

Use os botões abaixo para votar:

MVPython - O mínimo que você precisa pra validar sua ideia ruim!

O maior hype dos anos 10 é o empreendedorismo, especialmente o digital, mas qual o caminho de tijolos amarelos que precisamos caminhar pra realizar MILHÕES em lucro?


Nessa palestra vamos utilizar todo senso comum e auto-ajuda possíveis para discutir:


-Make your dreams come true, just do it!


-Como e quando começar a programar aquele seu projeto maravilhoso que provavelmente irá falhar, e por que ele deve ser feito em python, ou não.


-Você tem um modelo de negócio ou um sentimento de que agora vai?


-Quanto dinheiro você precisa para queimar na fogueira das vaidades?


-Quando sai a próxima ponte aerea pro sucesso?


-É tetra!


O objetivo da palestra é mostrar boa parte dos métodos utilizados para validar um projeto em desenvolvimento, quais são os pontos chave para alavancar ou afundar uma ideia boa ou ruim, mostrar um projeto simples em python que atenda uma entrega de valor.
Não é um tutorial de empreendedorismo, mas uma palestra para que desenvolvedores possam entender o quanto seu trabalho pode contribuir ou ser desperdiçado.

Use os botões abaixo para votar:

MyPy - Tipagem estática no Python

Mypy é uma ferramenta de checagem estática para python que busca combinar os benefícios das tipagens dinâmicas e estática. A ideia é unir a expressividade e conveniência do Python com um sistema poderoso de checagem de tipos, facilitando as tarefas de debugging e possibilitanto uma melhor integração com ferramentas de desenvolvimento.

Nessa palestra será mostrado as vantagens da tipagem estática e como usar o MyPy para adicionar essa funcionalidade opcionalmente em seus projetos!

Use os botões abaixo para votar:

Não Empreenda (ok, empreenda sim)

Um ponto de vista de programador sobre como aproveitar seu espírito empreendedor sem necessariamente arriscar seu pescoço. Foco em histórias, principalmente de erros que cometemos ao empreender, e de como podemos ser empreendedores internos.

Use os botões abaixo para votar:

O próximo passo para especificação de requisitos mais claros, menos ambíguos, mais facilmente verificáveis e manuteníveis

Após anos trabalhando com a cuidadosa especificação de requisitos bem escritos, corretos e completos, mas que nunca eram lidos, e não se mantinham atualizadas ao longo do projeto, comecei a estudar a abordagem de Especificação por Exemplos. Nessa metodologia encontrei a resposta para alguns dos meus questionamentos, e adotei uma nova forma de especificar meus projetos.
Nessa palestra pretendo compartilhar um pouco dessa experiência, discutindo as vantagens e desvantagens dessa metodologia e situações onde ela pode ser melhor aplicada. Mais especificamente no contexto de projetos em Python, falaremos sobre o uso de Lettuce (http://lettuce.it/) para especificação e automação da validação de requisitos.

Use os botões abaixo para votar:

Ouvindo vozes concorrentemente com Elixir

Vamos brincar um pouco com concorrência.

Use os botões abaixo para votar:

Prevendo futuro com machine learning