Python Nordeste 2016

A Python Nordeste acontecerá nos dias 9, 10 e 11 de Junho de 2016 na sede do Senac Piauí, Avenida Campos Sales, 1.111, bairro Centro na cidade de Teresina, Piauí.

As palestras devem ter o tempo máximo de 40 minutos e podem abordar qualquer área dentro do universo Python (web, computação científica, desktop, educacional, ou até palestras não técnicas, contando cases ou relatos relacionados a linguagem) e principalmente, as palestras devem ser de todos os níveis, desde iniciante até avançado. Caso tenha interesse de palestrar mas está com dúvidas, nos mande um e-mail em nordeste@python.org.br que tentaremos lhe ajudar.

A data limite para submissão de palestras é 08/05/2016, e o resultado será divulgado até o dia 13/05/2016.

Sobre o evento:

A Python Nordeste é o maior encontro da região nordeste para a comunidade Python, que ocorre anualmente em cidades do nordeste do Brasil.

O encontro visa difundir tal plataforma entre universidades, empresas e instituições da sociedade civil, ao mesmo tempo focando em assuntos relacionados a Software Livre, estimulando assim a disseminação da cultura agregada ao tema e na divulgação e estímulo de desenvolvimento na Região Nordeste.

http://pythonnordeste.org


Este evento não aceita mais propostas.

Propostas

author photo

Abrindo sua mente com Open Source

Se você é desenvolvedor Python há algum tempo, com certeza já conhece esse movimento/filosofia de vida. E caso seja novo na linguagem, no mínimo já deve ter ouvido falar e/ou deve ter alguma ideia.


Nessa palestra vou falar quais as reais vantagens de se envolver com projetos open source e trazer a reflexão sobre o que isso impacta na sua carreira e quais benefícios profissionais lhe traz. Veremos também algumas maneiras de ingressar nesse mundo usando dicas de quem já está contribuindo há muito tempo.


Mas já adianto: é bem mais fácil do que parece :)

Use os botões abaixo para votar:

author photo

Ambiente de desenvolvimento unificado com Vagrant

Sabe aquela famosa frase "Na minha máquina funciona!" Pois é, com Vagrant você nunca mais vai ouvir ela, trabalhe em qualquer plataforma, Windows, Linux ou Mac, mas tenha o ambiente de desenvolvimento de sua equipe unificado, com o Vagrant isso é possível através do conceito de box, você inclusive pode usar uma box que seja igual ao ambiente de produção, por exemplo, use as mesmas tecnologias que você tem no Servidor na sua máquina de desenvolvimento, minimize falhas na hora do deploy, acabe com a gerência individual de dependências e bibliotecas diferentes entre as plataformas existentes.


Conheça o Vagrant e acelere o desempenho de sua equipe.

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

Ataque às fronteiras - isolando e testando suas integrações externas

Num ambiente web cada vez mais descentralizado, é comum termos muitas integrações com serviços externos no nosso código. Muitos desses serviços são críticos para a aplicação e a má implementação da comunicação com eles em nosso código pode virar uma enorme dor de cabeça.


Nessa paletra, pretendo apresentar como realizar essas integrações de uma maneira sustentável que facilite a manutenção dessas integrações e também a sua testabilidade.  

Use os botões abaixo para votar:

author photo

Avaliação Imobiliária com Python e Machine/Statistical Learning

Nesta palestra vou apresentar como é realizado avaliação imobiliária no Brasil e como podemos utilizar Python para realizar essa tarefa da famosa, velha e recauchutada área de Data Science.

Use os botões abaixo para votar:

author photo

Beholder: OSINT em Redes Sociais

Nesta palestra será apresentada uma nova ferramenta (desenvolvida em Python/Django) para Pentest (Teste de Intrusão) com o objetivo de realizar levantamento de informações e mineração de dados em redes sociais com base em geo-localização.

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

Comunidade, pra que se envolver com um negócio desse?

É grande o número de Comunidades no mundo, mas será que estão fazendo o correto? Será que estão atingindo todo e qualquer tipo de pessoa que se interesse pelo assunto da comunidade em questão? E o mais importante, será que estão sendo o suficiente para os membros, será que estão realmente semeando o conhecimento e a participação colaborativa, o desenvolvimento comunitário?


Comunidade é o estado ou a qualidade das coisas materiais ou das noções abstratas comuns a diversos indivíduos, é uma comunhão, resumindo, é um grupo de pessoas que compartilham algo em comum.


Vários(olhe lá se não todos) dos maiores projetos de Software que temos hoje foram desenvolvidos por uma comunidade, ou criaram a partir de sua construção uma comunidade: Python, Django, Plone, PHP, Ruby. Bootstrap, e vários outros.


Tendo isso em mente, quais motivos um desenvolvedor teria pra não participar de uma comunidade? Sendo que a comunidade é muitas vezes o refúgio do programador, é onde ele busca soluções para problemas, dicas para um melhor desenvolvimento, vagas de emprego, e claro, uma comunhão com outros desenvolvedores: ir pra algum boteco jogar pylavras fora enquanto bebe cervejas e/ou pyngas, se encontrar um final de semana em uma casa de praia, ou até mesmo numa pyscina, enfim, fazer parte de uma fraternidade, até perceber que a comunidade tornou-se uma espécie de família.


Comunidades são responsáveis por tornar o nosso trabalho mais produtivo, legal, e criativo.


Então me diga, porquê não fazer parte de uma Comunidade?

Use os botões abaixo para votar:

author photo

Conteinerizando Suas Aplicações Python Com Docker



Já imaginou parar de quebrar a cabeça com seu ambientes de desenvolvimento, produção, etc? Parar de perder tempo com problemas de dependências no seu projeto, e otimizar seu tempo investindo a maior parte dele no que realmente interessa? Sua Aplicação.


Na presente palestra, mostrarei alguns conceitos básicos do docker, seu funcionamento e como otimizar seu workflow para potencializar uma maior produtividade ao se trabalhar com aplicações python.



Use os botões abaixo para votar:

author photo

De Programador Aspirante a Desenvolvedor

Muitas dúvidas surgem quando se começa aprender a programar, uma delas é: Onde e como eu vou usar isso?


Há também aqueles que gostam bastante do que estão aprendendo e se perguntam: Como eu posso trabalhar com isso? Como evoluir?


Nesta palestra irei contar um pouco da minha experiência em um ambiente real, não aqueles fictícios dos trabalhos acadêmicos, onde eu precisei sair da minha zona de conforto e buscar conhecimento de forma efetiva, utilizando, adaptando e criando novas soluções. Pretendo dar algumas dicas pra quem quer ingressar nesse mundo louco do desenvolvimento, ou mesmo ampliar os conhecimentos de quem faz parte, afinal, isso é fazer parte da comunidade :D!

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

Ensinando Ciência da Computação com Python

Python é uma linguagem fantástica para resolver os mais variados problemas. Por que não utilizá-la para o ensino de Ciência da Computação? Nessa palestra eu irei falar sobre minha experiência ao ensinar Ciência da Computação com Python através de cursos à distância. Fui autor de alguns cursos de Python em plataformas educacionais e pretendo compartilhar um pouco dessa minha experiência ensinando diversos assuntos de Ciência da Computação utilizando Python.


Falarei também sobre as principais dificuldades dos alunos, mas também falarei sobre os benefícios trazidos por essa linguagem ao democratizar o acesso à programação por pessoas das mais variadas áreas. Também falarei da área de Bioinformática que possui pessoas de diversas áreas e como a linguagem Python facilitou para que essas pessoas pudessem resolver problemas utilizando uma linguagem de programação.

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

Google AppEngine e Python

Apresentarei o Tekton um framework full-stack para desenvolvimento web com python que utiliza a Plataforma como Serviço (PaaS) do Google App Engine como stack padrão. Possui conceitos interessantes como injeção de dependência, convenção sobre configuração, recursos de prototipação - scaffold. Possui uma gama de apps como validação de formulários, segurança para evitar ataque CSRF, internacionalização e plataforma de logins com o Facebook e Google. Isto torna  este framework útil  para desenvolvedor iniciante que opta por utilizar o PaaS do Google por não possuir grandes conhecimentos de infraestrutura de servidores e precisa de maiores recursos do que o webapp2 micro-framework padrão do App Engine oferece.

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

Kivy - Criando aplicações multiplataforma (e mobile) com Python

Vamos ver como criar aplicações gráficas multiplataforma, incluindo plataformas móveis de forma simples e rápida usando kivy.


Com kivy você consegue criar não só Aplicações multiplataforma que rodam em Windows, Linux e Mac, mas Android, iOS e até raspberry PI!


Pretendo mostrar a criação de uma aplicação kivy do zero até  a compilação e execução no Android.


A palestra deve contemplar os pontos


- o que é o kivy


- os principais widgets


- tipos de layouts


- criando a aplicação


- fazendo binding entre campos de formulários


- compilando para o Android

Use os botões abaixo para votar:

author photo

Melhores práticas para o desenvolvimento de aplicações Django

Nesta palestra vou apresentar as melhores práticas para o desenvolvimento de aplicações web usando o framework Django.


 Será mostrado como:


 - Configurar o ambiente de trabalho


 - Estruturar o projeto e suas configurações


 - Melhores práticas para escrever modelos, templates e views


 - Dicas sobre: admin, usuário padrão e testes.

Use os botões abaixo para votar:

author photo

Não é bem assim... quando Python não é como você espera

Apesar de ser uma linguagem bonita 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.


Alguns dos tópicos que vamos explorar:
- Esquecendo __init__.py
- Esquecendo parênteses
- Escopo
- Referências
- Operador is
- Variáveis de classe
- Argumentos default mutáveis
- Closures com late binding
- Sobrescrevendo a biblioteca padrão sem querer
- Capturando múltiplas exceções
- .pyc

Use os botões abaixo para votar:

author photo

print("Sociologia, Poesia Compilada e Python")

De que forma a Sociologia está presente na comunidade Python? Pode existir Poesia em um código? Onde está a Poesia no Python? Qual a relação dessas três variáveis?


Assistindo a Python Nordeste 2015 me indaguei sobre esses e outros pontos e tentarei responder nesta palestra.

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 e Criptografia

Os dados são o bem mais precioso de qualquer organização. Esses mesmos dados dizem muito sobre os clientes e sobre o próprio negocio.


Esses dados muitas vezes são armazenados em formato simples (plaintext), fazendo com que qualquer pessoa/usuário/desenvolvedor/hackers/crackers com acesso indevido ou não, possam visualizar esses dados livremente.


Nesta apresentação pretendo:


     * desmitificar a ideia que criptografia é complexa, difícil;


     * construir uma aplicação simples em python que criptografe os dados sensíveis dos clientes;


     * discutir algumas implementações de criptografia bem como suas vantagens e desvantagens (tradeoffs).


Os conceitos apresentados podem ser implementados facilmente em qualquer linguagem de programação, mas nesta palestra vou vou focar em python.

Use os botões abaixo para votar:

author photo

Shell Script: o que é, para que serve e como Python pode ajudar?

Shell script permite a programação chamando comandos executáveis do sistema (coisas que você executa na linha de comando, como listar arquivos) e combinando-os de maneira extremamente fácil. Normalmente é utilizado em sistemas UNIX, principalmente Linux e MacOSX, mas agora ele está chegando ao Windows 10!

A facilidade que ele traz também apresenta seus problemas. A linguagem é arcaica, feia e dá uma bela dor de cabeça pra se fazer um script decente. Mas ela é vista como a melhor alternativa para se utilizar as vantagens dos comandos do sistema.

Não até explorarmos o que existe em Python! Que tal trazer a facilidade de uso dos comandos de sistema à modernidade da linguagem Python?

Use os botões abaixo para votar:

author photo

Spyck - Framework extensível para mineração de dados

Spyck é um framework em Python que venho desenvolvendo a alguns meses. Ele visa facilitar o desenvolvimento de crawlers e a integração dos diversos dados coletados, independente do tipo e origem. Ele é facilmente expansível e adaptável. Tem também como objetivo ser fácil de se usar, até mesmo para leigos.


Nessa palestra abordarei sobre mineração de dados, automatização do processo com o Spyck e como está sendo feito a criação de um novo framework.


 


Mais informações: http://macalogs.com.br/spyck-apresentacao-do-framework-de-mineracao-de-dados/


Slides da apresentação do Spyck feita no XI Pylestras: http://zetaresearch.github.io/talks/spyck.pdf

Use os botões abaixo para votar:

author photo

Surfando com Python nas ondas da Internet

Bem hoje em dia já não é mas um problema desenvolver ferramentas para alimentar a Internet com conteúdo, nossos desafios são outros.


1. Capturar o conteúdo


2. Armazenar


3. Organizar


4. Aplicar Inferência no conteúdo


5. Apresentar para usuário um conteúdo contextualizado de forma rápida.


Nessa palestra gostaria de focar em captura de conteúdo em grande escala. (Scrapy, Scrapyd, Crawlers Inteligentes)

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

Testando sua aplicação web com py.test e Selenium

Escrever testes automatizados para seu código é essencial para a criação de aplicações de qualidade. A palestra apresentará, na prática, como escrever testes unitários e funcionais para um simples e-commerce usando py.test e Selenium.

Use os botões abaixo para votar:

author photo

Tornado/Python como backend para aplicações com alta carga de requisições

Python é uma das linguagens de programação mais usados no mundo em geral e para Web em específico.


Tornado é um servidor Web não bloqueante feito em Python originalmente desenvolvido pela FriendFeed (comprada pelo Facebook).


No Terra utilizamos estas tecnologias nos nossos sistemas de Backend para atender uma carga enorme de requisições e para personalizar conteúdo.


Nesta palestra vou apresentar um Use Case sobre um dos componentes na nossa arquitetura de entrega – um processador de SSIs inteligente, rápido e modular, feito em Tornado/Python – o “Montador”.

Use os botões abaixo para votar:

author photo

wedNESday - Hacks de Quarta-feira

O que fazer com uma raspberry e um processador 6502 ?


Que tal o seu proprio NES: http://imgur.com/VwaMhnU


Nesta palestra vou apresentar alguns Hacks utilizando a rasberry, como funciona o processador do NES e principalmente, como Python cola tud

Use os botões abaixo para votar: