Palestras e slides da trilha de Python no TDC Julho/2015

Coordenadores: Bruno Rocha, Diego Garcia e Guto Maia.

Python é uma linguagem dinâmica e flexivel, tem uma comunidade incrivel e tem encontrado maneiras de facilitar a vida de desenvolvedores em diversas areas da tecnologia.

Desde uma aplicação simples, um experimento acadêmico e até grandes aplicações de alto risco. Especialmente na web e no nicho cientifico Python ganhou destaque nos últimos anos, nessa trilha você vai ter contato com um pouco de cada uma dessas areas em que Python tem feito grande diferença e além disso terá contato com uma das mais carismáticas comunidades!

Programando a Felicidade - adequando seu negócio ao estilo de vida que quer! - Renzo Nuccitelli

Bate papo sobre envolvimento com a comunidade Python e como isso impactou minha vida de maneiras inesperadas, me levando a uma experiência de trabalhar apenas 2 dias por semana nos últimos 2 anos, viajar para 6 estados do Brasil e viajar para 2 países. Afinal, é possível isso sem ser rico? Apareça e contribua com a discussão ;)

Análise de Redes Sociais com Python - Ana Paula Gomes

O objetivo da palestra é mostrar como usar a teoria de grafos para extrair informações sobre o comportamento das pessoas usando dados de redes sociais. Tudo isso utilizando o Python. Será exibido um overview de como coletar os dados do Twitter e, a partir desses dados, será mostrado o que é possível fazer com esses dados. A partir de tweets vou mostrar como métricas de teoria dos grafos podem ser úteis para verificar como termos estão relacionados ou como as pessoas se movimentam dentro das cidades, por exemplo. Além da própria estrutura de grafos, alguns exemplos de métricas a serem utilizadas serão: degree centrality, closeness centrality, betweenness centrality. A biblioteca utilizada para isso é NetworkX. Depois dessa palestra, qualquer desenvolvedor Python estará habilitado para fazer esse tipo de análises.

Acesso fácil a dispositivos USB com Python e PyUSB - Wander Lairson Costa

Nesta palestra darei uma breve introdução sobre o protocolo USB e mostrarei como acessar periféricos USB com Python e a biblioteca USB. Tópicos: - Introdução ao protocolo USB - Descritores - Tipo de transferências - Enumeração de dispositivos - Introdução à biblioteca PyUSB - Encontrando dispositivos - Obtendo strings - Obtendo descritores - Enviando e recebendo dados - Portabilidade - Conclusão

Construindo rapidamente uma aplicação com Bottle - Eric Hideki

Microframeworks vem ganhando atenção dos desenvolvedores, isso devido a flexibilidade, facilidade e agilidade. Aprenda a criar uma aplicação simples com Bottle em apenas 5 minutos. Utilizando o bottle-boilerplate, é possível preparar um ambiente de desenvolvimento full-stack com Bottle, e ainda ter uma simples aplicação pronta. Utilizando conceitos como testes e MVC, Bottle se torna uma opção viável ao desenvolvimento desde pequenos a grandes aplicações.

IPython Notebook Show: Criando slides HTML5 de seus notebooks - Fernando Gomes de Macedo

IPython Notebooks são muito legais! Vá um passo além e mostre seu código ou análise com estilo convertendo seus notebooks em apresentações de slides HTML5 sem esforço. "- Markdown no IPython; - Utilizando controles de célula para apresentações de slides; - nbconvert: Ferramenta de conversão de notebooks para vários formatos; - Uso de estilos para personalizar sua apresentação."

Visão Computacional com Python e OpenCV utilizando Kinect - Humberto Zanetti

Visão Computacional é a ciência que estuda métodos e técnicas através dos quais sistemas computacionais podem ser capazes de interpretar imagens. Com esse tratamento de imagens, podemos potencializar interfaces e trazer novas funcionalidades à "devices", sendo eles ligados diretamente à computadores ou em rede (Internet da Coisas). Essa palestra tem como objetivo apresentar conceitos básicos da biblioteca OpenCV sendo utilizando com Python, capturando e analisando imagens através de um sensor Kinect. "A palestra está organizada da seguinte maneira: - Introdução ""O que é Visão computacional?"": breve intridução sobre o conceito; - O projeto OpenCV: apresentar a biblioteca e suas principais aplicações; - OpenCV e Python: mostrar o quanto simples e dinâmico é utilizar a biblioteca com a linguagem Python. - Demostração: mostrar uma aplicação de reconhecimento de imagens utilizando um sensor Kinect (biblioteca Freenect). - Agradecimentos, espaço para perguntas e contato. "

Aplicações assíncronas com Tornado - Daniel Urbano / Arnaldo de Moraes Pereira

Como usar Tornado para escrever apps mais eficientes, desenvolvidos tão rapidamente quanto apps síncronos. "Escrever apps que funcionam de forma assíncrona pode ser muito simples em Python e traz benefícios, como uma maior vazão de requisições atendidas por processo e um número menor de processos por servidor. Mostraremos as libs que usamos e as que criamos no desenvolvimento do serviço da API de pagamentos utilizada no Magazine Luiza, que usa uma estratégia mista entre operações síncronas e assíncronas, ainda com código simples e estratégias de testes e integração: replay de requisições http, requisições assíncronas para o backend de pagamento, etc. Tecnologias: Tornado, SQL Alchemy, MySQL, AWS SQS, AWS S3."

O framework de recomendação de vagas da Catho usando Python, Machine Learning e AWS - Eder Ferreira Martins / Tiago Rodrigues Magalhães

Nessa palestra discutiremos como uma arquitetura de recomendação de vagas altamente escalável (usando Python + AWS) foi construída pela área de inovação da Catho. Abordaremos alguns dos principais desafios técnicos, envolvendo big data e machine learning, encontrados no desenvolvimento dessa arquitetura. "Sistemas de recomendação fazem parte de nossa vida cotidiana. Pessoas se utilizam deles para obter informações de mais valor e mais interessantes sobre os mais diversos assuntos, como escolher um filme, livro, comida ou mesmo comprar produtos. Do ponto de vista técnico, tais sistemas apresentam vários desafios, tanto com relação aos algoritmos utilizados, quanto a forma de implementá-los de modo a ser capaz de atender requisitos de escalabilidade. Nessa palestra, apresentaremos um pouco sobre a arquitetura da inteligência artificial (AI) por traz do sistema de recomendação de vagas da Catho. Tal AI nos permitiu alcançar um aumento de mais de 280% no número de Contatos/Usuário vindos da Sugestão de Vagas. Abordaremos seus principais desafios arquiteturais, bem como a forma como utilizamos o ecossistema Python para superá-los."

pytest: escreva menos, teste mais - Erick Wilder de Oliveira

"pytest: escreva menos, teste mais Uma visão geral sobre as vantagens no uso de pytest e a experiência de redução em mais de 80.000 linhas de código." "A palestra mostra a visão adquirida na adoção de pytest em um projeto de larga escala, com o objetivo de melhorar a qualidade dos testes. São apresentadas as vantagens que foram observadas, muitas delas voltadas a redução expressiva no volume de código necessário nos testes. Além disso, conto um pouco sobre a experiência na redução em mais de 80.000 linhas de código de testes após a adoção da ferramenta."

Python no Magazine Luiza - Conheça como o Magazine Luiza utiliza Python, em produção, para servir milhões de requisições por dia - Renato Pedigoni

"Irei apresentar em detalhes como utilizamos Python no Magazine Luiza. Desde aplicações de canais de venda (site, clube de ofertas, lista de casamento, etc) até APIs internas (payments, catálogo, shipping, etc) e detalhes de como foram produzidas: - frameworks (sync: Django, Bottle - async: Tornado, Cyclone) - testing (unittest, pytest, lettuce) - docs (sphinx, swagger) - recommendations - libs internas - workflow de desenvolvimento Também irei apresentar o case do desenvolvimento da plataforma de e-commerce "powered by"

Matando um Monolítico Django: de Pluggable Apps ao Microservices - Bernardo Fontes

Muito fala-se hoje sobre microservices como a principal solução para lidarmos com a quebra de sistemas monolíticos em sistemas web. Entretanto, já começar nesse úlitmo nível é difícil pois envolvem muitas camadas e muitas tarefas com o que se preocupar. Nessa palestra, apresento as decisões de arquitetura (com os pontos prós e contra) que tive que tomar para matar gradualmente um sistema legado Django desde a primeira estratégia até a utilização de microserviços. Nessa palestra gostaria de falar sobre questões como o coração do DDD que, na minha visão, são a questão do Bounded Context e da definição fronteiras e da maneira com que pude experimentar diversas maneiras de resolver essa questão no Django até chegar a uma arquitetura de micro serviços. Nesse processo pude avaliar diversos pontos positivos e negativos das abordagens que tive desde criar pluggable apps Django, utilizar estratégias de CQRS, estratégias de banco múltiplos e a estratégia de micro serviços em si.

Metaprogramação em Python: Metaclasses e Decorators - Felipe Volpone

Nesta palestra vamos ver como você pode enriquecer suas técnicas de desenvolvimento através de dois poderosos conceitos do Python: metaclass e decorator. Dê poder aos seus objetos, crie níveis de abstração, reuse código e aumente a legibilidade

Computação de Alto Desempenho em Python - Luciano Silva

Se você tem interesse em aumentar o desempenho de suas aplicações Python explorando recursos de paralelismo, esta palestra irá lhe fornecer as bases para explorar processadores e coprocessadores multicore e manycore, clusters e FPGAs. Além dos conceitos fundamentais da área de Computação Paralela, a palestra irá mostrar os principais módulos da linguagem Python que permitem acessar diversos dispositivos aceleradores de computação. "A palestra irá apresentar os principais ambientes de Computação Paralela (processadores e coprocessadores multicore e manycore, clusters e FPGAs), evidenciando com a linguagem Python pode explorá-los para aumentar desempenho. Os tópicos a serem apresentados são os seguintes: (1) Fundamentos de Computação Paralela (2) Python em Arquiteturas Multicore (threads, processsos) (3) Python em Arquiteturas ManyCore (coprocessadores e GPUs) (4) Python em FPGAs. Em cada tópico, serão apresentados exemplos de dispositivos, módulos Python para acessá-los e exemplos de aplicações. "