Você precisa estar logado para ir para o próximo passo.
Você precisa estar logado para ir para o próximo passo.

Python Sudeste 2016 - Palestras

Primeira edição da conferência Python Sudeste, que será realizada em Belo Horizonte - MG.

Data prevista: 02 de setembro de 2016


Este evento visa difundir a linguagem Python principalmente aos iniciantes e desenvolvedores que utilizem outra linguagem de programação, ao mesmo tempo em que discute outros assuntos relacionados ao software livre, estimulando assim a disseminação da cultura agregada ao tema.

 Critérios de escolha de palestras:

* Número de palestras do mesmo assunto (maior diversidade de assunto)
* Número de palestras por palestrantes (maior diversidade de palestrantes)
* Número de votos


Este evento não aceita mais propostas.

Propostas

author photo

500 Dias de Open Source

A verdade é que muita gente tem medo ou receio de começar a contribuir por não saber como começar ou não se achar bom o suficiente para levantar alguma contribuição. A ideia é mostrar como ser fácil contribuir e como qualquer pessoa pode fazer isso. A palestra irá abordar de maneira divertida e informativa o desenvolvimento voltado para o open source. Apresentando os pontos positivos e negativos de contribuir 500 dias seguidos em projetos de código aberto. O objetivo final é motivar e mostrar como é fácil contribuir em projetos abertos.

Use os botões abaixo para votar:

author photo

A Little Talk about Semaphores (ou padrões de sincronização em programação concorrente)

Cada vez mais nós programadores escrevemos software concorrente, mas nem sempre usamos a melhor solução. Baseado no livro The Little book about semaphores, a palestra vai mostrar o que é programação concorrente e quais são as melhores soluções para cada tipo de problema, desde o mais simples até mais complexos.


 

Use os botões abaixo para votar:

author photo

APIs: o que são, onde vivem, do que se alimentam?

APIs vem se tornando um tema cada vez mais popular nos últimos anos. Isso de deu por diversos fatores como a popularização dos smartphones, dos frameworks de “Aplicação de página única” (SPA - Single page application) e a popularização do SaaS (Software as a service). Mas devido a quantidade de coisas que envolvem o desenvolvimento de aplicações web, esse costuma ser um tema um pouco obscuro para quem tem pouco tempo na área.


Nessa palestra, vamos tentar responder algumas perguntas como: O que são APIs? Como elas funcionam? Quais são as diferenças entra uma aplicação web convencional e uma feita com APIs? O que é esse tal REST?

Use os botões abaixo para votar:

author photo

Aplicando DDD de forma incremental em um projeto Django no mundo real

Na indústria de software, a expectativa de vida de ideias, metodologias e técnicas é extremamente curta. No entanto, após mais de 10 anos, DDD (Domain Driven Design) continua crescendo. Originalmente com suas raízes no paradigma orientado a objeto, o DDD é hoje apresentado e disseminado em outros paradigmas como o funcional, programação reativa, entre outros. O DDD também é aplicado em diferente estilos de arquitetura como o hexagonal e o CQRS (Command Query Responsibility Segregation).


Nesta palestra vamos falar como o uso de DDD pode beneficiar na construção de sistemas não triviais, a partir de um caso de sucesso vivenciado na ThoughtWorks. Neste projeto, a introdução do DDD, de forma gradual, transformou uma base de código com problemas típicos de times iniciantes em Python e Django - tais como excesso de lógica de negócio nas views, consultas ineficientes ao banco de dados, entre outros - em um sistema com uma arquitetura e design adequado às necessidades de um negócio com regras complexas. A aplicação desta abordagem juntamente com a aproximação do time de desenvolvimento técnico e de negócio foi fundamental para estabelecer uma relação de confiança e viabilizar a entrega de um software de qualidade.


Baseado na experiência de mais de um ano de projeto, ainda em andamento, vamos falar de forma prática e com exemplos que podem ser aplicados aos seus projetos sobre: 


- Desenvolvimento ágil;


- Como evoluir sistemas de forma consistente e segura;


- Adoção de novas técnicas em times de desenvolvimento;


- Benefícios e dificuldades encontradas;

Use os botões abaixo para votar:

author photo

Aprendendo com o Tensorflow

Tensorflow é um framework open source de computação numérica paralela baseado em fluxo de dados. Uma das suas princípais aplicações é o treinamento de redes neurais profundas, ou, usando o termo da moda: deep learning. Nessa palestra você aprenderá os conceitos básicos de deep learning para aplicações de visão através do Tensorflow. Também apresentarei como estou o usando em meu mestrado para resolver problemas de computação gráfica.

Use os botões abaixo para votar:

author photo

Arquitetura de Microserviços, o que, como e pra quê?

Microservices é a hype do momento e uma tendência crescente en grandes produtos no mundo inteiro. Irei mostrar de forma bem simples o que são, quais seus principais benefícios, desvantagens e como o Python nos ajuda a construir tais aplicações.


Utilizarei o o case da globo.com para ilustrar, partindo da arquitetura monolítica para os microserviços.

Use os botões abaixo para votar:

author photo

Como fazer boas libs? O que torna uma biblioteca fácil de usar

Não é fácil escrever uma biblioteca boa. É difícil agradar a todos. Mas também é difícil agradar até quem acha que a nossa biblioteca faz algo útil. Não é fácil nem mesmo quando fazemos algo reusável só para nós mesmos.


Ainda bem que muitos outros programadores já erraram antes de nós. E que Python tem exemplos de dezenas de boas bibliotecas com as quais podemos nos inspirar.


Essa palestra resumirá o que torna uma biblioteca boa, de acordo com nossa experiência e com a experiência de outros programadores que já escreveram sobre isso. Algumas características de boas bibliotecas são:
- Pouco fluxo
- Poucos efeitos colaterais
- Interesses claros e separados
- Alta valência
- Baixa verbosidade
- Consistência
- Muitos dados puros
- Baixo risco


Como você pode ver, alguns aspectos acima são similares ao Zen of Python. Por isso também mostraremos funcionalidades do Python que ajudam a programar boas interfaces. Além disso, para resumir tudo definiremos um checklist que você poderá usar sempre que for escrever um módulo reusável. Esperamos que isso ajude você a programar melhor, o que certamente agradará seus parceiros de trabalho e a comunidade.

Use os botões abaixo para votar:

author photo

Como procurar questões técnicas no Google, ou seja, como programar

Para ser um(a) programador(a) de qualidade é necessário uma boa dose de estudos. Todo(a) desenvolvedor(a) precisa de bases sólidas em conhecimentos necessários a programação: estruturas de dados, algoritmos, bancos de dados, sistemas operacionais e etc.


Mas mesmo tendo uma boa base, durante seu trabalho o(a) desenvolvedor(a) encontra problemas bem específicos que travam seu progresso, tais como: bugs, comportamento inesperado, problemas de configuração e falta de ferramentas para atingir um objetivo. Quase sempre alguém já teve este mesmo problema e a solução está escondida em alguma parte da internet. O problema é como encontrar essa solução!


Além disso, nem toda biblioteca, ferramenta ou linguagem tem uma boa documentação, o que torna difícil encontrar respostas para dúvidas específicas sem realizar uma busca geral.


Nesta palestra vamos ensinar a procurar dúvidas técnicas de programação de forma efetiva no Google. E também como avaliar a qualidade das soluções encontradas. Saber realizar boas buscas e ter senso crítico diante do que for encontrado é essencial para programar bem. Vamos ajudar você a desenvolver essas capacidades com dicas, truques e boas práticas em buscas por soluções de programação no Google.

Use os botões abaixo para votar:

author photo

Conhecendo o Haystack

Essa apresentação vai mostrar uma maneira de fazer buscas no django abstraindo a engine de busca utilizando o Haystack.


O Haystack é uma camada de abstração para você escrever as suas queries de forma semelhante as queries em django


e que permite utilizar as engines de busca: Solr, Elasticsearch, Whoosh and Xapian. Assim você escreve sua querie uma única


vez e tem a possibilidade de escolha da engine de busca, podendo ser alterada, sem precisar reescrever os códigos das suas


queries. 

Use os botões abaixo para votar:

author photo

Construindo websites com Django-CMS

Frustrado com a complexidade ou a falta de segurança de outros sistemas de gerenciamento de conteúdo?


Talvez o Django-CMS resolva seus problemas. Construído com o intuito de ser simples e leve, porém completo, o Django-CMS não deixa a desejar para desenvolvedores Django, permitindo integração de seus apps já existentes através de apphooks, ou a criação de plug-ins reusáveis para a plataforma utilizando apenas Python.


Ao mesmo tempo, o Django-CMS possui uma interface extremamente intuitiva, capaz de agradar qualquer editor de conteúdo, contendo recursos de publicação, manuseio de conteúdo, gerenciamento de versões e linguagens, dentre outras coisas.


Nesta palestra veremos um pouco deste sistema na prática, abordando o que é necessário para criar um website personalizado utilizando o Django-CMS. Para isto, veremos alguns tópicos relacionados à extensão das funcionalidades do Django-CMS e a criação de plug-ins.

Use os botões abaixo para votar:

author photo

Django e React.js

O que aprendemos desenvolvendo em Django com o React.js, a lib usada pelo Facebook para construir interfaces de usuários.


Serão abordados tópicos como:


- libs do ecossistema JS que usamos e o que pode ser feito no projeto Django para facilitar a integração com elas.


- Qual a diferença de single page apps e multi pages apps e o que isso interfere no projeto Django com React?


- Que ferramentas usar para facilitar o desenvolvimento de apps React e Django.

Use os botões abaixo para votar:

author photo

Django Views: Boas Práticas

Django estabelece uma arquitetura suficientemente adequada, com cada parte do sistema (views, models, templates, forms) exercendo uma função específica. No entanto, é fácil se render à tentação de incluir nas views regras de negócio do sistema. Focando no princípio DRY (Don’t Repeat Yourself) views infladas podem acarretar em repetição de blocos de código por todo o projeto. Um cálculo, uma queryset mais elaborada ou um checkout em um sistema de pagamento podem multiplicar os focos de bug no seu projeto. Nesta palestra pretendo abordar boas práticas, não só de Django Views, como também de Orientação a Objeto.

Use os botões abaixo para votar:

author photo

DSLs embarcadas em Python

Linguagens específicas de domínio, ou DSLs, são linguagens criadas para propósitos bem específicos: HTML para organizar conteudo, VimL para configurar (o melhor) editor de texto etc. Quando uma DSL é implementada como uma "extensão" da sintaxe de uma linguagem de propósito geral, chamamos ela de DSL Embarcada.


Na palestra serão abordadas quais as vantagens de EDSLs e como criá-las em Python, com exemplos de projetos usados em produção.

Use os botões abaixo para votar:

author photo

[Escalabilidade]Alta performance em Python

Nessa palestra serão apresentados os principais tópicos para desenvolvimento de aplicações escaláveis em Python, será dada uma breve introdução ao uso de mult-thread, mult-processos, Broker, bancos de dados em memória e Celery. Será mostrado quando usar cada tecnologia e exemplo de código.

Use os botões abaixo para votar:

author photo

Estrutura de dados e collections em Python

Como disse Tim Peters, um core developer do Python: "We read Knuth so you don't have to".


Python possui estruturas de dados de alta performance e saber utilizá-las corretamente afeta a complexidade e performance do seu código.


Na talk será dada uma apresentação das estruturas de dados do Python.

Use os botões abaixo para votar:

author photo

Fazendo apresentações real-time com Jupyter

Já pensou em fazer apresentações inserindo comandos em um intepretador de Python, mas tem dificuldade em digitar tudo manualmente? Com o Jupyter e o RISE você consegue gerar slides em reveal.js que suportam execução de Python em tempo real.


Nesta palestra vamos ensinar a fazer essas apresentações e customizá-las. Tomaremos como base o que foi feito na palestra Python WAT, apresentada na Python Nordeste 2016.

Use os botões abaixo para votar:

author photo

Fazendo fila com o "Aipo"

Desmontando(ou não) o celery.


A vida como ela é! Relatos de quem já sofreu, amou, lutou, mais não vive sem, em mais de 5 anos


Guia mais prático do que teório (Boas práticas, alguns macetes, problemas, dicas e surpresas)


Montando com um caso real de performance e entrega numa estrura com AWS + Django + Celery.

Use os botões abaixo para votar:

author photo

Fazendo uma excelente revisão de código

Revisões de código são uma boa forma de garantir um mínimo de qualidade e praticar o trabalho em equipe.


Vou falar sobre revisar código de forma a obter o maior benefício desse processo com o mínimo de overhead. Compartilharei o que venho aprendendo participando de revisões de código em projetos internos e open source.


Alguns tópicos a abordar:


- O que é importante saber antes de revisar o código de um patch ou pull request?


- Ao revisar código de uma pull request ou patch, o que devo olhar primeiro?


- Quantas pessoas devem revisar um patch para aprová-lo?


- Quão importante é a PEP-8?


- Quando é útil fazer git rebase?


- Quando é melhor rejeitar um pull request?


 

Use os botões abaixo para votar:

author photo

Graph Databases: Discutindo o Relacionamento dos seus Dados com Python

Você já parou pra pensar quantos relacionamentos você tem na sua vida virtual? Cada amigo no Facebook, cada página curtida, cada conexão no Linkedin ou cada perfil seguido no Twitter. Só no Brasil, temos 160 milhões de usuários do Facebook. Como representar e manipular todas essas relações? Graph Databases são banco de dados que usam estruturas de grafos (vértices e arestas) para representar e armazenar dados de forma semântica.



A palestra será iniciada com a problematização da representação de relacionamentos em Bancos de Dados Relacionais e com a apresentação de uma solução mais amigável usando Grafos. Será abordada a definição de Graph Database, suas vantagens e desvantagens, comparação de algumas ferramentas disponíveis (Neo4J, OrientDB e ArangoDB) e a aplicação de tais ferramentas em Python.

Use os botões abaixo para votar:

author photo

HATEOAS: construindo APIs realmente RESTful

Você quer ser cool e ter uma API RESTful? Desculpa, mas o que é realmente cool ultimamente são Hypermedia APIs? É, isso é bem hipster, então você pode não ter ouvido falar sobre.


A ideia por trás das Hypermedia APIs é o HATEOAS (Hypermedia as the Engine of Application State). Esse é o pior acrônimo da história, mas é uma boa ideia. A web em si é uma grande obra de engenharia e ela é possível graças ao HATEOAS. Então por que não usar esse poder em nossas APIs?


Nesta palestra vamos explicar em termos práticos o que são Hypermedia APIs e porque você deve aspirar que suas APIs sejam assim. Vamos trabalhar com um exemplo divertido em Django REST Framework para demonstrar como a Hypermedia facilita as transições que guiam o estado da aplicação para frente.

Use os botões abaixo para votar:

author photo

Introdução a linguagem python pelo ponto de vista do estudante de programação

Minha palestra terá como intuito mostrar ao público de programação em linguagens diversas,ou ao menos com conhecimentos básicos em lógica de programação, estimular o aluno a participar do processo de maneira ativa, e não apenas passivamente, e que programar pode ser algo que pode ser feito  em grupo, ou em duplas, dotando o método de ensino XP. A principio fazendo uma leve introdução da linguagem, e posteriormente abordando os seguintes critérios:


- Vantagens e desvantagens da metologia XP;


- Quais as vantagens de se programar em Phyton;


Dentre demais abordagens referente a ao tema, esclarecimento de dúvidas, e etc.

Use os botões abaixo para votar:

author photo

Isolando os dados dos seus clientes 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 em nosso 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:

author photo

Kivy: Fazendo Aplicativos para Celular com Python

Kivy é um framework multiplataforma que permite fazer aplicações em Python com interfaces inovadoras para Linux, Windows, OS X, Android e iOS.


Mas vamos falar especificamente sobre celulares.


Qual o estado do projeto atualmente? É realmente possível ter aplicativos feitos em Kivy nas app stores que não deixam a desejar em performance? É fácil de fazer? Fácil de manter? Consigo acessar os recursos do celular (gps, câmera, contatos, acelerômetro, etc)? Consigo deixá-lo com o ~look and feel~ da plataforma? Ou seja, meu aplicativo Kivy para Android vai mesmo parecer um aplicativo para Android ou algo completamente diferente do que o usuário tá acostumado?


O objetivo desta palestra é responder essas perguntas.


Será mostrado como começar a fazer seu aplicativo Kivy para celular:
- Quais widgets já estão disponíveis na biblioteca do Kivy;
- Quais não estão, mas podem ser facilmente baixados pelo (maravilhoso) Kivy Garden, o repositório de pacotes feitos pela comunidade;
- Como organizar o código separando a interface da lógica com a Kv Language;
- Como fazer testes automatizados;
- Como gerar o executável para mandar pra Play Store;
- Exemplos de aplicativos já disponíveis em produção;
- Nostra Plata, aplicativo (em desenvolvimento) para Android feito em Kivy. Código aberto, livre e gratuito. <3

Use os botões abaixo para votar:

author photo

NES Hacks

Com 30 anos de estrada, o velho Nintendinho 8 bits, hoje, não é apenas um videogame voltado a retrogames, é uma incrivel plataform para os mais váriados hackings. No coração uma CPU baseada no 6502, mesma utilizada no Apple 2 e o Atari 2600.


Nesta palestra vou apresentar alguns hacks utilizando Python, LUA, uma Raspberry PI e um processador 6502. http://imgur.com/VwaMhnU


 

Use os botões abaixo para votar:

author photo

[Performance]Truques para melhorar a performance de sua aplicação

Nessa palestra iremos mostrar alguns truques para melhorar a performance de aplicações desenvolvidas em Python. Tentaremos responder por testes as seguintes perguntas:


- Vale a pena usar map e reduce?


- Qual é a maneira mais eficiente para chamar um função?


- Devo usar map/reduce/filter ou compressão de listas?


- Qual a melhor maneira de tratar uma lista grande?


- O quanto o interpretador Python influencia na minha aplicação?


- Como posso identificar possíveis gargalos na minha aplicação?

Use os botões abaixo para votar:

author photo

Porque eventos de tecnologia são lugares hotis para mulheres

Você já se perguntou porque mulheres estão sempre em números tão pequenos nos eventos de tecnologia, cursos universitário de engenharias e computação? Não venha me dizer que isso são coisas de homem, mulheres não tem interesse por isso pois eu também já pensei isso e descobri que estava muito errado.


Entenda o porque disso e como tornar ambientes dominados por homens mais inclusivos, diverso e seguro para mulheres.


 


Meu nome é Felipe de Morais e eu organizei o Django Girls Porto Alegre este ano e gostaria de compartilhar o que vivi e aprendi nessa experiência com você.

Use os botões abaixo para votar:

author photo

Prevendo futuro com machine learn

O que você vai fazer amanhã? E nos próximos meses? Para onde vai, o que vai comprar... Você pode até não saber, mas com machine learn é possível prever suas ações, gostos e comportamentos. Estamos saindo da era da busca para era da recomendação, onde é possível identificar o que você quer antes mesmo de você pensar sobre isso. Nessa apresentação você vai descobrir como machine learn consegue fazer isso, como funciona, algumas técnicas, além de ver vários contextos e situações onde pode ser aplicado.

Use os botões abaixo para votar:

author photo

Programação funcional com Haskell, uma linguagem puramente funcional

Se você acredita nessa história de que Python é uma linguagem funcional, você não sabe de nada inocente. :)


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.


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? Deixe seu voto aqui e compartilhe para que outras pessoas façam o mesmo. Te vejo na Python Nordeste. o/

Use os botões abaixo para votar:

author photo

Programação Funcional em Python, de forma simples


Se você já usou lambda, maps ou comprehensions em Python, você já esta usando aspectos da programação funcional. Vamos explicar de forma simples o que é programação funcional, quais são as construções funcionais existentes em Python e como podemos usá-las para melhorar nosso código e prevenir bugs. Vamos  também descomplicar conceitos como Side Effects, imutabilidade, código declarativo, e expressions.



 Tópicos a serem abordados:


1) Introdução a programação Funcional:


- Paradigma Funcional X Imperativo


- Mutação X Imutabilidade


- Expressions X Statments


- First-Class and High-Order functions


2) Construções Funcionias em Python:


- Lambda


- Map, Filter, Reduce


- Compreehensions


- Partial, Comp, Operators


3) Modulos:


- Functools


- Itertools

Use os botões abaixo para votar:

author photo

Python WAT: quando Python não é como você espera

Apesar de ser uma linguagem elegante, intuitiva e fácil de aprender, nem tudo em Python é como esperamos. Vamos explorar aspectos da linguagem que não são triviais e oferecer alternativas. Esta palestra é essencial para iniciantes, mas pode prover insights para pythonistas experientes também.


Os tópicos a serem abordados são:
- Sobrescrevendo a Biblioteca Padrão
- Identidade de objetos
- Referências
- Atribuição em tuplas
- Escopo
- Variáveis de classe
- Argumentos default mutáveis
- Closures com late binding


Esta palestra é similar a que foi apresentada na Python Nordeste 2016, mas contará com recursos de introspecção para exibição dos memes.

Use os botões abaixo para votar:

author photo

Shut up and give me the data!

Produzimos milhões de dados por dia mas onde estão esses dados? Como coletá-los? Nesta palestra você irá aprender maneiras (simples) de coletar dados de diversas fontes utilizando Python.


 

Use os botões abaixo para votar:

author photo

Testando sua API web

Todo desenvolvedor com um pouco de experiência já está cansado de saber (ou deveria estar) que tests são essenciais para se desenvolver uma aplicação de maneira saudável e sustentável. Nessa palestra vamos conversar sobre APIs web explorando que partes e como devemos testa-las. Vamos usar a ferramenta para desenvolvimento de APIs mais popular do Python, o Django REST framework para os exemplos, porém os conceitos devem valer para testar aplicações feitas com qualquer outra ferramenta.

Use os botões abaixo para votar:

author photo

wolfcrypt: mantendo seus segredos em segredo.

O que é essa tal de criptografia? O WhatsApp agora pode monitorar minhas conversas?


Calma jovens, a criptografia é nossa aliada na batalha diária contra o acesso indevido a informações, mas para isso, precisamos entendê-la melhor para não utilizá-la de forma incorreta.


Nessa palestra apresento os conceitos básicos de criptografia e suas nuances. A ferramenta a ser utilizada é a wolfCrypt, engine de criptografia utilizada por trás do wolfSSL, responsável pela segurança de mais de 1 bilhão de dispositivos e aplicações. Originalmente escrita na linguagem C de programação e recentemente portada para o Python.


Por fim, apresento o trabalho realizado para trazer a wolfCrypt do C para o Python, quais problemas enfrentei e quais decisões tomei durante o porting.

Use os botões abaixo para votar: