Python Brasil[12] - Apresentações

Este é canal oficial para submissões de palestras para a Python Brasil 12.

A Python Brasil Será entre os dias 13 a 18 de outubro de 2016, na cidade de Florianópolis/SC, sendo que as apresentações se concentrarão entre os dias 15 e 17 de outubro no Centro de Convenções Centro Sul.

As palestras devem ter o tempo máximo de 40 minutos e podem abordar qualquer área dentro do universo da linguagem Python. Caso tenha interesse em palestrar, mas está com dúvidas, nos mande um e-mail em eventos@python.org.br que tentaremos ajudar.

Se possível oriente a categoria da sua palestra, com uma marcação como "[Web]", assim podemos filtrar da melhor maneira possível. Seguem dicas de categorias [Iniciantes, Web, Python Científico, Carreira, Embarcados, DevOps, Desktop, Mobile, Comunidade]. Podem colocar outras categorias que não foram listadas aqui.

Serão aceitas palestras em Español e English :)

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)

* Palestrantes locais (incentivar Python na região de Florianópolis)

* Número de votos

* Palestrantes novos


The event is no longer accepting proposals.

Proposals

author photo

1 ano trabalhando como Dev Django depois de 5 anos como Dev Java [Comunidade, Carreira]

Vou compartilhar as experiências que tive nesses últimos meses como Dev Django na Kiwi.com - Brno, República Tcheca. Desde o primeiro contato com Django no Django Girls São José dos Campos (Python Brasil 2015) até a talk na EuroPython 2016 em BIlbao. Vou compartilhar as boas experiências além dos maiores desafios de estar trabalhando em outro país.


- Participante do Django Girls São José dos Campos (Novembro, 2015)


- Treinadora do Django Girls Rio de Janeiro (Março, 2016)


- Treinadora do Django Girls Budapest (Março, 2016)


- Participante do DjangoCon (Março, 2016)


- Palestrante da EuroPython (Julho, 2016)


- Organizadora do Django Girls Brno (Outubro, 2016)

Use the buttons bellow to vote:

author photo

2 PaaS, 4 estágios: Usando docker, dokku e OpenShift para Continuous Delivery de Microserviços Python na Nexxera [DevOps]

Heroku e outras PaaS baseadas em CloudFoundry utilizam Buildpacks. OpenShift, por outro lado, utiliza Source2Image e suporta docker. Na Nexxera, para isolar o desenvolvimento em si da tecnologia de Cloud e PaaS, utilizamos 2 PaaS em 4 estágios: DEV, INTEGRATED, QA e PRODUCTION os quais seguem um pipeline de deploy alimentado pelo GitLab. Utilizamos dokku para DEV e INTEGRATED e OpenShift para QA e PRODUCTION. Para garantir que o mesmo bundle seja promovido em toda a esteira, utilizamos imagens docker como mecanismo base, sem que os desenvolvedores tenham que se envolver nos detalhes de Dockerfiles. Nessa apresentação detalharemos nossa arquitetura para ficarmos agnósticos de PaaS e com a produtividade de ambientes tipo Heroku, compartilhando dicas e lições aprendidas.

Use the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

A arte de roubar (idéias) dos frameworks ricos e entregar para a sociedade (PyPI)

"roubando" idéias legais do Django e do Flask e transformando em libs genéricas para uso em qualquer framework pt1.


A minha idéia é mostrar como eu extrai 3 idéias muito legais do Django e uma do Flask transformando em libs Python independentes para serem usadas em qualquer projeto python sem depender de framework especifico e falar como esse exercicio pode ser interessante do ponto de vista do desenvolvedor e também do ponto de vista da "socialização" do ecossistema. 


1. Python Manage (shell interativo e comandos)


O django possui o gerenciador de comandos conhecido como manage.py, eu extrai essa idéia em uma lib chamada manage e com ela é possivel ter o shell interativo com objetos auto-importados e comandos personalizados de forma bem flexivel além de muitas possibilidades a serem implantadas (com sua ajuda). Quero mostrar como funciona no Django, como fiz para transformar em uma lib generica e como voce pode usar em qualquer projeto Python.


2. Dynaconf (configurações dinamicas)


Além do django.conf.settings que é até bastante flexivel (apesar dos seus problemas de acoplamento) a comunidade Django sempre teve boas libs para desacolpar settings, juntando todas essas idéias eu criei o Dynaconf que faz com que seja fácil ter configurações dinamicas e flexiveis em qualquer projeto Python.


3 (bonus) import_string (imports dinamicos)


Seguindo a mesma idéia eu dessa vez fui roubar um modulo utils do werkzeug (flask) e dei uma otimizada e transformei em uma lib chamada import_string, também quero mostrar como funciona.


A idéia é dar uma palestra mostrando como é útil extrair boas idéias de frameworks e transformar em libs que todos possam usar! e também mostrar como fiz e o que as libs podem fazer por você!

Use the buttons bellow to vote:

author photo

A inevitável ruptura da comunidade

No entorno da linguagem Python e do seu ecossistema o elemento fundamental que viabiliza tudo são pessoas. Pessoas únicas e diversas em todos os aspectos.


É através da livre interação dessas pessoas que o universo Python se manifesta criando esse emaranhado fascinante que conhecemos.


Comumente nos referimos à essas pessoas usando genericamente a palavra "comunidade".


Com o crescimento da comunidade se manifesta uma tendência de “grupificação” que a solidifica e tende a inviabilizar a dinâmica de rede que a originou.


Nesta palestra eu desejo compartilhar algumas reflexões fruto da minha vivência no ecossistema Python ao redor do mundo para promover a conversa sobre uma releitura do conceito de comunidade para continuarmos fomentando espaços abertos.

Use the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

API First e BDD aplicados a um servidor REST em Python - Um Caso Real [WEB]

Behavior-Driven-Development foca em valor agregado para o usuário final mas é preciso que o software tenha uma separação em camadas de forma correta. A metodologia API-First usada no desenvolvimento do Eclipse entre outros pode ser combinada com BDD de forma a produzir soluções modulares e fáceis de manter e evoluir. Essa apresentação detalha um case real de como um servidor REST em Python para um aplicativo Mobile foi desenvolvido seguindo essa metodologia.


Os slides podem ser encontrados em http://www.slideshare.net/MarcioMarchini/bddnamoroon


 

Use the buttons bellow to vote:

author photo

APIs escalaveis, simples e com boa documentação usando Flask e SwaggerUI

O Swagger UI se transformou em uma espécie de padrão para documentação de APIs REST


Eu criei uma extensão para o Flask chamada flasgger http://github.com/rochacbruno/flasgger que automatiza boa parte do trabalho de documentar e apresentar a API em forma de UI navegavel!


Pretendo mostrar boas praticas para criação de APIs simples usando Flask puro! e como usar o flasgger para criar um playground/documentação para sua API

Use the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

Aprenda a criar mapas dinâmicos e cheios de firulas com Flask GoogleMaps

Em 2014 eu participei como mentor do Google Developer Bus e precisava apresentar uma palestra sobre Python utilizando tecnologias do Google.


Durante a madrugada da vespera eu preparei a palestra mostrando como criar extensoes para o Flask e ai saiu o Flask-GoogleMaps que encapsula a API do GoogleMaps em templates Jinja e helpers do Flask


O projeto ganhou uma boa adoção da comunidade Flask e hoje conta com a colaboração de muita gente da comunidade brasileira e internacional.


O FlaskGooglemaps é uma extensão oficial registrada no MetaFlask e foi usada para criar o PokemonGO Maps!


Pretendo mostrar como é fácil criar apps que dependam de mapas (como Uber, AirBnb etc..) usando o Flask e o Google Maps


 


https://github.com/rochacbruno/Flask-GoogleMaps

Use the buttons bellow to vote:

author photo

Aprendi Python, e agora?

Uma das maiores dúvidas que encontro com os leitores do Programe em Python e com os alunos do Python From Scratch é: Certo eu aprendi Python, ma e agora, pra que lado eu continuo?


A resposta não é fácil, e o caminho varia para cada pessoa, mas nesta palestra pretendo mostrar alguns caminhos para onde a pessoa pode seguir e dicas de libs importantes para se estudar em cada área, assim como algumas libs importantes para desenvolvedores de todas as áreas.

Use the buttons bellow to vote:

author photo

Aprimorando as habilidades de debugging e troubleshooting

No instante que um software encontra o mundo real, bugs começam a aparecer e fazer parte da vida de todos os envolvidos.


Quanto mais software cresce e se espalha pelo mundo, mais pessoas passam mais tempo tentando fazer eles funcionarem da maneira correta. Não é difícil imaginar um futuro em que os programadores passem mais tempo consertando problemas do que criando novos projetos.


Nessa palestra, falarei sobre como aprimorar nossas habilidades em encontrar e resolver bugs, mostrar algumas ideias e ferramentas que me tornaram um debugger melhor e que podem ajudar você também.


Temas incluem técnicas (shotgun, rubberduck, método científico), ferramentas (print, debugger, strace, google), deployment, testes e também saúde mental (lidando com bugs frustrantes).

Use the buttons bellow to vote:

author photo

A 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 the buttons bellow to vote:

author photo

Automatizando a infraestrutura e disponibilizando aplicações web python com Ansible [Web, DevOps]

Ansible é uma ferramenta de automatização de tarefas de infraestruta escrita em python. Com ele é possível configurar, orquestrar e instrumentar servidores para disponibilizar e manter suas aplicações desde o ambiente de desenvolvimento até produção.


Nesta apresentação irei mostrar como é simples utilizar o Ansible usando uma app Django como exemplo, fazer uma comparação com outras ferramentas do mercado como Chef e Puppet e compartilhar casos reais da minha experiência com desenvolvimento de aplicações python na Globo.com e meus projetos pessoais.

Use the buttons bellow to vote:

author photo

BDD com Python, facilite a vida de todos! [Teste]

Nessa palestra pretendo mostrar como são utilizadas TDD e BDD em projetos Python/Django de uma forma simples para aqueles ainda não familiarizado com as técnicas de desenvilvimento utilizando testes.

A apresentação será feita com exemplos práticos, mostrando o uso de TDD, e depois as vantagens em utilizar BDD com Python/Django.

 

Compartilhando um pouco da minha experiência com exemplos simples, serão expostos os conceitos e vantagens técnicas e não técnicas da utilização de BDD no desenvilvimento de seu projeto, facilitando a comunicação entre chefe e programadores.

 

Tópicos que serão debatidos:

* Problemas reais na construção de um software

* Exemplo báscio de um CRUD com Django

* Técnicas de TDD (usando a lib FactoryBoy)

* Vantagens e desvantagens do TDD

* Técnicas do BDD (usando a lib Splinter/Selenium)

* Vantagens e desvantagens do BDD

 

 

Já existe um exboço da apresentação no link: http://slides.com/daniellbastos/bdd 

Mas a apresentação será atualiza para o evento, focando no público do evento, muito diferente de uma semana acadêmica (do IFRS/POA).

Use the buttons bellow to vote:

author photo

big data disruptiva com python

trabalhar com enormes massas de dados dos mais variados tipos, é um desafio que vem sendo vencido dia a dia com python.


A palestra abordará:


- investigação e operacionalização dos seus dados;


- conceitos de computação distribuida com python:


- hackeando fonte de dados;


- estatistica e matematica para iniciantes


 

Use the buttons bellow to vote:

author photo

Big Data e Python como cidadão de primeira classe para Sistemas Distribuídos

Bibliotecas e ferramentas como numpy, Scikit, Pandas e Jupyter fizerem de Python um dos melhores eco sistemas para Data Science. Mas mesmo tendo caído nas graças dos Data Scientists, Python ainda não é efetivamente utilizada para processamento de dados em larga escala (Big Data). A maioria das ferramentas de processamento de dados, em especial as ferramentas para "Stream Processing", são escritas em Java. Nos casos onde existe algum suporte, Python é cidadão de segunda classe, sempre atrás em features ou performance.


Podemos fazer com que Python se torne uma excelente opção não apenas para os Data Scientists mas também para os Data Engineerings, que precisam prototipar e modelar pipelines complexos para Big Data. Nessa palestra entenderemos porquê Python ainda não preencheu essa lacuna, quais são os desafios técnicos e possíveis soluções para que Python seja uma linguagem de primeira classe para processamento de dados em larga escala e consequentemente para sistemas distribuídos.


Vamos investigar os seguintes tópicos e tecnologias: Stream Processing, Performance, Comunicação Distribuída e Actor Model, IO Assíncrono, Containers e Orquestração, Erlang e Elixir, Java/Scala, Netty e Akka.

Use the buttons bellow to vote:

author photo

[Carreira ] Programação transcultural

Programação é cultural. Sim, por ser produzido por um indivíduo com cultura (seja qual for), o código é permeado pela cultura de quem o escreve. E isso vai além da escrever python pythonicamente.


Entender como compreensão de cultura, mind-set ou forma de pensar fazem parte da nossa vivência também ao escrever, revisar, analisar, implementar e refatorar códigos.


Tópicos:


- Você sabe mesmo o que é cultura?
- Espera um pouco! Transcultural? É de comer?
- Tem certeza que não é um tópico para outra conferência?
- O que eu ganho com isso? Ou melhor, isso pode me prejudicar?
- Of course, my horse
- Código, processos e cultura
- Isso nunca me aconteceu antes
- Mas você não sabe onde eu trabalho
- Continue nadando...


 


 

Use the buttons bellow to vote:

author photo

Coerência de cache de granuraridade fina, usando django-signals

Fazendo o uso do cache do nginx, podemos ter melhoria de desempenho de APIs restful e conteúdos de 1000X ou mais. Mas como ter controle do que está no cache e se este conteúdo é coerente com o que está no backend?


Com sistemas de cache utilizando nginx ou varnish, geralmente são baseados em tempo (valid 10 min., 24h, ...) mas muitas vezes ao fazer modificações em models do django, seria muito bom que este cache fosse invalidado no momento da modificação (post_save, post_delete, pre_save, etc).



O django-cache-coherence foi criado para atender esta necessidade. Para cada requisição em uma url requisitada e está configurada para fazer cache, os dados da requisição são salvos em um banco e registrado um signal para fazer a limpeza deste cache (PURGE). Assim que houver uma chamada do signal registrado, é feito uma consulta neste banco de requisições cacheadas, e disparado as limpezas, invalidando o cache somente da informação modificada, deixando integro o restante ndo cache.



Para ativar este tipo de funcionalidade no nginx é utilizado o módulo [ngx_cache_purge](https://github.com/FRiCKLE/ngx_cache_purge/)


Vou mostrar a configuração do nginx e como fazer inclusive cache de APIs, com e sem autenticação. Mostrando como garantir e entrega com cache de informações sensiveis de usuários.



Para a validação de verificação do funcionamento são feitos testes de integração com testes unitários e containers docker.


 

Use the buttons bellow to vote:

author photo

Como a Globosat utiliza Python para distribuição de conteúdo

Com um acervo de mais de 80.000 mídias, é necessário que todas as informações estejam em ordem. Além disso, o trabalho de aproximadamente 10 editores de conteúdo precisa ser atualizado com o menor atraso possível. Nesta palestra, contarei sobre as soluções para processamento paralelo utilizado na Globosat, passando também pela infraestrutura das API's dos aplicativos Telecine Play e Globosat Play.

Use the buttons bellow to vote:

author photo

Como criar extensões para o Jupyter Notebook

Jupyter Notebook é uma aplicação que permite criar documentos com códigos interativos, visualizações e markdowns explicativos.


Devido a sua facilidade e capacidade de visualização de resultados, o Jupyter tem sido utilizado em desenvolvimento explorativo, prototipagem, ensino, processamento de dados, simulações numéricas, etc.


No processo comum de criação de notebooks, muitas pessoas restringem seus códigos a apenas Python e visualizações fornecidas por bibliotecas como matplotlib ou visualizações textuais padrões.


Entretanto, o Jupyter permite muito mais do que isso por meio de extensões e métodos especiais de visualização.


Nesta apresentação, pretendo explicar:
- como registrar e carregar extensões IPython no Jupyter
- como criar cell magics para modificar o comportamento de células, permitindo executar SQL, e até mesmo transformar o código Python em testes unitários
- como criar line magics para chamar funções corriqueiras sem muitos imports
- como definir métodos de exibição para visualizar grafos do graphviz (png/svg) ou grafos da d3 (html/js)
- e algumas gambiarras em javascript para alterar a célula selecionada, indicar se testes estão passando, alterar syntax highlighting para células.

Use the buttons bellow to vote:

author photo

Como deixar a lógica do sistema na mão do cliente e de forma visual usando diagramas de ações (exemplos no Odoo)

No desenvolvimento de sistemas, especialmente para empresas, o código acaba cheio de IFs que evaluam expressões hardcoded para enfrentar situações específicas que não foram documentadas ou informadas nas especificações ao inicio do projeto. Isso faz com que seu sistema seja muito mais difícil de manter e acabe cheio de gambiarras.

Misturando programação funcional, eventos, diagramas e padrões de software, achamos um modo de deixar todas essas exceções na mão do cliente. Inclusive conseguimos que o cliente mesmo altere a interface web da aplicação para adicionar botões para lançar as ações por ele programadas, ou até que programe tarefas cron recurrentes para executar determinadas ações definidas por ele mesmo.

Hoje ele consegue fazer sozinho, e de forma visual num diagrama, coisas do tipo:

- Quero um botão que apareça só quando o valor total da fatura for maior que R$ 1000,00 e que, quando pulsado, gere um relatório PDF com essas informações aqui e envie por email para o cliente usando esse modelo aqui
- Quando o usuário alterar a data de visita, mas só no caso do cliente X, estabelece a data de finalização para visita + 2 dias úteis.
- Uma vez por semana, pega as fotos anexas de cada documento, coloca uma watermark e coloca elas em um PDF com esse cabeçãlho, e envia por SFTP
- ...

A lógica do nosso código se reduziu muito, e a manutenção do sistema ficou mínima.

Todos os exemplos que serão mostrados foram feitos sobre #odoo (https://www.odoo.com), feito em #python, mas a ideia pode ser aplicada a qualquer outro framework ou linguagem.

Nota: essa funcionalidade não faz parte do odoo core, foi implementada como módulo extra.

Use the buttons bellow to vote:

author photo

Como desenvolver e manter aplicações em ambiente hostil

Introdução:


Esta apresentação tem como objetivo mostrar como é possível usar Python mesmo em um dos ambientes mais hostis conhecidos pelo homem (Windows Server). Passaremos por alguns dos problemas e curiosidades encontrados durante o desenvolvimento e manutenção de uma aplicação em ambiente Windows mostrando os projetos existentes que podem nos ajudar e o caminho que a comunidade está seguindo.


 


Alguns dos tópicos a serem abordados:


- Serviços Windows com Python, sim é possível;


- APIs web self hosted com alto desempenho;


- Por que a vida é tão cruel no Windows? Explicando os.fork;


- E agora, cadê minha thread? Explicando como podemos criar programas com execução concorrentes no windows;


- Sugestões para melhorarias e projetos carentes.

Use the buttons bellow to vote:

author photo

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

Não é fácil escrever uma biblioteca confortável de usar. É 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 existem em Python e fora dele diversos exemplos de boas libs nas 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:



  • Alta Consistência

  • Muitos dados puros

  • Baixa Verbosidade

  • Respeito ao Principle of Least Astonishment

  • Alta Extensibilidade

  • Baixa Retenção

  • Vários níveis de abstrações

  • Alta granularidade

  • Interesses claros e separados

  • Pythonica


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.


UPDATE: Slides em: http://www.vinta.com.br/blog/2016/python-brasil12-talks/

Use the buttons bellow to vote:

author photo

Como Otimizar um Problema Utilizando Algoritmo Genético em Python? [Python Científico]

Esta apresentação tem como objetivo introduzir importantes conceitos sobre Inteligencia Artificial Bioinspirada através de Algoritmos Genéticos, com o intuito de destacar como resolver problemas adicionando características evolucionárias por meio de processos evolutivos presente em todos os seres vivos utilizando a linguagem Python.

Use the buttons bellow to vote:

author photo

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

Para ser um(a) bom(oa) programador(a) é 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 the buttons bellow to vote:

author photo

Como python é usado na plataforma de vídeos ao vivo da Globo.com

A plataforma de vídeos ao vivo da globo.com já serviu a um pico de 500K usuários simultâneos e o python está presente, a ideia dessa palestra é justamente mostrar esses casos focando especificamente onde python é usado.


* Onde e como python é usado para vídeos ao vivo


* Problemas enfrentados e soluções

Use the buttons bellow to vote:

author photo

Como Python nos ajudou a interpretar o genoma humano de milhares de brasileiros 

Python é uma poderosa linguagem de programação que já vem sido utilizada em vários nichos acadêmicos e empresariais.  Especialmente no âmbito comercial, ela é poderosa para construção de aplicativos web, desktop e científicos para inúmeros propósitos.  Em nosso laboratório de diagnósticos clínicos , Genomika Diagnósticos, onde atuamos com sequenciamento de DNA para detecção de doenças raras, tumores e cânceres, temos um grande desafio na análise de dados genéticos humanos para identiicação e interpretação de variantes raras que podem explicar a suspeita clínica do paciente. São terabytes de dados consumidos e analisados mensalmente que nos exigiu "pensar fora da caixa" para solucionar vários desafios diários: desde a gestão do ciclo de vida de um exame no laboratório , gestão de equipamentos e robôs e até a análise de dados genéticos cruzadas mais de 50 bases de dados.


Python junto a outras linguagens em nosso set de desenvolvimento permitiu que nosso laboratório, com um time pequeno, pudesse desenvolver soluções científicas para atender os clientes internos e externos com oferta de ferramentas de bioinformática e gestão para inúmeras tarefas. O objetivo desta palestra é compartilhar como Python nos ajudou a escalar na interpretação de dados e automatizou vário de nossos fluxos laboratoriais. Será uma experiência enriquecidora ao público para aprender mais sobre aplicação de Python em Big Data na área de saúde e genômica.

Use the buttons bellow to vote:

author photo

Como usei o Python para ajudar animais abandonados

Nessa palestra vou falar sobre todo o processo que foi usar Python para um desafio de Data Science, desde análise e tratamento dos dados, passando pelos algoritmos e técnicas usadas na extração de conhecimento e a apresentação de conclusões.

A partir de um dataset sobre características de animais abandonados em um abrigo, junto com o que aconteceu com cada um deles, a ideia era prever o que aconteceria a animais cujas características conheço e mudar seu destino. O objetivo é entender quais medidas tomar para que todos os cachorros e gatos sejam adotados.


Possíveis destinos são: adoção, eutanásia, transferência, morte e retorno ao dono.

 

[Data Science]

Use the buttons bellow to vote:

author photo

Construíndo a Matrix com 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 the buttons bellow to vote:

author photo

Construindo uma aplicação web segura

Segurança é um dos principais requisitos não funcionais, mas muitas vezes não é levado em consideração pelas equipes de desenvolvimento.


Falhas de segurança trazem grandes riscos para o negócio e para os usuários, principalmente quando temos um "bum" na utilizaçao de aplicações web, cloud, IoT, tudo conectado na rede mundial de computadores e temos uma quantidade razoavel de informação (muitas vezes pessoal) e que cresce substancialmente.


Nesta palestra vou abordar o que times podem implantar e boas práticas de programação para manter o seu aplicativo web o mais seguro possível.


O foco da palestra será no desenvolvimento de uma API Rest usando o framework Flask e na construção de uma pipeline na ferramenta de Integração Contínua, o Snap CI.

Use the buttons bellow to vote:

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 the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

Criando um ambiente de desenvolvimento colaborativo: Desafios, Soluções e Ferramentas usadas no Code For Floripa

CodeForFloripa é uma iniciativa em Floripa onde um grupo de desenvolvedores voluntários saem, junto com a comunidade, em busca de soluções tecnológicas de impacto social e local, com código totalmente aberto.


Por sermos todos voluntários, diversos desafios surgem ao longo do processo do desenvolvimento colaborativo. Comunicação, pessoas de diferentes níveis de conhecimento, de diferentes áreas, que podem dedicar mais ou menos tempo aos projetos são apenas alguns exemplos de situações que acontecem com frequência.


Nessa palestra falaremos sobre as soluções que encontramos e testamos para facilitar o processo, como o uso do Trello, git e GitHub, Slack e outros.

Use the buttons bellow to vote:

author photo

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, apesar de todos os formatos organizarem os dados em tabelas, cada coluna com um tipo, as APIs das bibliotecas para acessá-los são completamenta diferentes.
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 CLI (command-line interface), que facilita conversões e consultas rápidas, e as vantagens e desvantagens de cada formato apresentado.


 

Use the buttons bellow to vote:

author photo

“Dá pra fazer isso sem recarregar a página?”: Single x Multi Page Applications

Mais de 80% das pessoas que têm acesso à internet no Brasil se conectam através de smartphones. Por isso, temos uma demanda crescente por sites que se pareçam com apps: devem ser simples, rápidos e responsivos para diferentes devices. Falando em responsividade e rapidez, pensamos logo em Single Page Applications (SPA), certo? Mas será que a sua aplicação web precisa, necessariamente, ser um SPA? Quais as vantagens e desvantagens de um Multi Page Application (MPA)? Como fica a arquitetura de uma aplicação Django para cada abordagem?


Essa palestra irá abordar a definição de SPA e MPA, mostrando através de exemplos as principais diferenças entre as duas abordagens, tanto com relação à arquitetura como com relação à experiência do usuário final. Também serão mostrados os prós e contras, bem como soluções para as desvantagens de cada abordagem. Finalmente, serão discutidos quais os requisitos que a aplicação deve ter para ser MPA ou SPA.

Use the buttons bellow to vote:

author photo

Definindo um Boilerplate Customizável usando Django, React e Bootstrap

Tanto para desenvolvedores iniciantes como para os mais experientes, configurar o ambiente inicial de um projeto pode consumir bastante tempo. Uma abordagem comum para solucionar esse problema é a utilização de boilerplates. Essa abordagem não só reduz o tempo inicial, como garante uma padronização dos projetos. A maioria das soluções disponíveis, entretanto, cobrem somente uma parte do problema - frontend ou backend - e integrações são sempre necessárias. Então, por que não definir o seu próprio boilerplate fullstack?


Nessa talk será apresentado o processo de construção de um boilerplate fullstack, flexível e customizável para Django, React e Bootstrap utilizando npm e webpack. Serão detalhadas as decisões de design, as possibilidades de configuração e customização e os impactos positivos de sua aplicação.

Use the buttons bellow to vote:

author photo

De grão em grão, usando A/B Test para aumentar conversão

Você sabia que uma pequena modificação, que levam minutos para executar, podem gerar mais conversão do que uma funcionalidade que envolveu toda sua equipe dev durante 2 meses?


Não é nenhuma novidade que diversas sites fazem testes com seus usuários. Amazon, Twitter, Airbnb e muitos outros.


* Como são feitos estes testes?
* Como são avaliados?
* Qual a quantidade ideal de testes que posso executar ao mesmo tempo?
* Que ferramentas estão disponíveis?
* Com faço isso em django?

Use the buttons bellow to vote:

author photo

Descobrindo as menores distâncias entre diversas cidades com Python e GLPK

Imagine que você quer viajar de carro entre as principais capitais da Europa e precisa fazer no menor percurso possível. É possível calcular a menor distância usando bibliotecas de Python para conectar com o Open Source GLPK.


A Pesquisa Operacional é um ramo da matemática aplicada que estuda a otimização de processos para auxiliar a tomada de decisão. O objetivo é minimizar custos, distâncias, perda de matéria prima, entre outros.


A proposta da apresentação é mostrar como aplicar a Pesquisa Operacional utilizando Python.

Use the buttons bellow to vote:

author photo

Desenvolvendo soluções de IoT usando Python com as placas da Intel

Nessa palestra demonstrarei como utilizar as bibliotecas da Intel (MRAA e UPM) para desenvolvimento de soluções de IoT.


Como caso de uso apresentarei o Clockwise, projeto que desenvolvi no último Intel IoT Roadshow. Trata-se de um despertador inteligente que te acorda dizendo a previsão do tempo e seus compromissos do Google Calendar, utilizando para isso a placa Intel Edison, uma caixa de som bluetooth e python.

Use the buttons bellow to vote:

author photo

Desenvolvimento web: é difícil?

Esta palestra introduz o desenvolvimento de softwares voltados para a web, fazendo um resumo sobre as dificuldades e preocupações que se tem ao desenvolver, partindo do pré-desenvolvimento até a escolha da melhor ferramenta para cada caso, abordando também algumas ferramentas em python que auxiliam nesse processo.

Use the buttons bellow to vote:

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 the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

Docker Overkill - Coisas interessantes, mirabolantes, inseguras e desnecessárias para se fazer com Docker

Quem já teve a oportunidade de se aprofundar no Docker, sabe como é facil se deixar levar pelo ímpeto de fazer de tudo com essa ferramenta.


Nessa palestra vou explorar algumas coisas não convencionais que aprendi ao longo do tempo em que usei Docker. Darei exemplos de como isso pode ser divertido, desastroso, inseguro, e claro, como pode ser útil.


Precisa de um browser para acessar a internet? Por que não um container?
Cansado de problemas com NPM e pacotes globais? Um container é tudo que você precisa!
Aflito em ter que instalar Docker numa nova máquina? Que tal rodá-lo diretamente de um pen-drive?


Se você acha isso desnecessário, bem, talvez esteja certo. Você pode pensar que é inseguro, e tenha certeza que é!
Mas, a vida é para ser vivida com emoção, e a aplicação é para ser rodada num container.


Tags: [DevOps] [Intermediario]

Use the buttons bellow to vote:

author photo

Dokku - Mini-Heroku que mudou minha vida de Dev/Ops;

Nunca foi minha praia trabalhar com configuração de servidores(apache, nginx), preparar ambiente das aplicações(principalmente quando são muitas) e
por isso sempre achei muito legal projetos como o Heroku, Appengine entre outros, no qual sua preocupação é o código de sua aplicação.
Sendo assim, uma ferramenta baseada em docker que estamos usando a cerca de 1 ano na Genomika Diagnósticos vem a ser o projeto Dokku, que nada mais é que uma implementação inspirada no Heroku e que funciona em uma VPS.


Irei apresentar os principais recursos desse projeto bem como nosso fluxo de trabalho.

Use the buttons bellow to vote:

author photo

DSLs embarcadas em Python

Linguagens específicas de domínio, ou DSLs, são linguagens criadas para resolver apenas um tipo de problema: 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 algumas técnicas para criá-las em Python, com exemplos de projetos usados em produção.

Use the buttons bellow to vote:

author photo

Easy slippy maps with folium

- don't know how to JS?


- Know JS but don't like it?


- Yet you love leaflet maps?


Fear not! You are in luck!! Folium bring the power of leaflet slippy maps, and many of its plugins, to python. Create beautiful maps and data visualizations without ever touching a line of JavaScript.  Enjoy the plethora of plugins like: heatmaps,  image overlay, fancy markers, choropleths and more.


All while writing just a few lines of our beloved Python.

Use the buttons bellow to vote:

author photo

Emotional Intelligence as the key of Professional Success

De acordo com Daniel Goleman, o sucesso na carreira depende mais da Inteligência Emocional que o Quociente de Inteligência (QI). Os resultados de seus estudos indicam que até 66% do sucesso no trabalho depende da Inteligência Emocional e chega a 85% quando o profissional lidera pessoas.


A Inteligência Emocional é um conceito muito falado, porém pouco conhecido. Na entrevista que realizamos¹ com o professor da Universidade de Yale e um dos criadores do conceito, David Caruso, perguntei para ele: “Dr. Caruso, você acha que o conceito da Inteligência Emocional é uma moda?”. Ele respondeu: “Se tivesse perguntado nos 10 primeiros anos em que o conceito foi desenvolvido poderia ter falado que sim; mas agora, após 20 anos do descobrimento, não pode ser considerado uma moda e sim uma realidade”. Por isso, entender que os níveis de IE tem uma grande correlação com o desempenho e o crescimento no trabalho é fundamental para criar uma carreira profissional de grande sucesso.


¹ Entrevista realizada em colaboração, e graças a AEDIPE Galicia (Associação Espanhola de Gestão e Desenvolvimento de Pessoas)

Use the buttons bellow to vote:

author photo

Engajmento social: Entenda seu impacto em projetos cívicos e como o envolvimento com a comunidade pode influenciar na sua carreira!

 


 


O empreendedorismo cívico procura incentivar a comunidade a agir em prol de ações que busquem o desenvolvimento de ruas, cidades, países e da qualidade de vida da população como um todo. Visa empoderar as pessoas ao invés de incentivá-las a ser apensas vozes em um mundo que precisa de mais ações.


Vamos mostrar como é positivo participar de projetos que incentivem esse tipo de engajamento e como isso pode impactar a sua vida profissional e pessoal.


Iremos apresentar o case do Code For Floripa, projeto cívico implementado na cidade de Florianópolis, que tem como objetivo desenvolver soluções tecnológicas de forma voluntária para resolver problemas de impacto da população. Conheça nossos resultados e comece a desenvolver o seu projeto cívico.


 


Já parou para pensar quantos projetos incríveis estão acontecendo nesse exato momento no mundo?


Quantos você poderia contribuir?


Por que não começar agora?

Use the buttons bellow to vote:

author photo

É Pythônico, mas… é macarrônico? [WEB]

Python é utilizado por uma enorme gama de profissionais. Alguns a usam como linguagem de script, outros como linguagem de cola entre sistemas. Mas alguns usam para construir soluções complexas de software. Nesse caso, um maior cuidado deve ser tomado em relação a práticas de arquitetura e codificação. Nessa apresentação mostraremos como alguns tutoriais ou templates online lhe orientam na direção de produzir software macarrônico em Python. Cobriremos algumas ferramentas e técnicas que podem ser usada para que suas soluções em Python sejam verdadeiramente elegantes e modulares a nível macro. Desenvolvedores poderão modernizar suas práticas e Líderes Técnicos poderão ter certeza que sua Arquitetura é preservada em toda esteira de build ao longo do tempo.

Use the buttons bellow to vote:

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 the buttons bellow to vote:

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 the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

Fazendo fila com e tabelando com o "Aipo" (SQS+Django+Celery)

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 the buttons bellow to vote:

author photo

Fishbowl: Diversidade

Um fishbowl é um tipo de painel ou mesa-redonda muito democrático. Funciona assim: são oferecidas 4 cadeiras para quem quiser falar, sendo que uma delas deve sempre estar vaga. Após explicadas as regras, três pessas voluntárias se sentam e uma delas começa a falar. O microfone vai passando entre as três pessoas sentadas. Se uma quarta pessoa quer participar, ela senta na cadeira vazia. Uma das pessoas que já estava lá precisa obrigatoriamente levantar para oferecer a cadeira vazia para quem mais quiser participar. A dinâmica funciona super bem, e permite a expressão de opiniões diversas em um clima cordial, onde as pessoas são estimuladas a ceder a vez para outras se manifestarem.


Na PythonNordeste a Roselma Mendes organizou um fishbowl sobre Mulheres em TI que foi sensacional, ouvimos depoimentos impressionantes de mulheres e homems, e todos aprendemos muito sobre os desafios de ser mulher no mercado de informática.


O tema desse fishbowl seria "Diversidade": para conversar sobre o que é, como se relaciona com tolerância/intolerância, porque é desejável, e como promover.

Use the buttons bellow to vote:

author photo

Fortran (ainda) não morreu: utilizando Fortran com Python

Muitas vezes, especialmente em computação científica, é necessário usar bibliotecas ou códigos em Fortran para resolver determinados problemas. Com frequência, as bibliotecas em Fortran estão sendo utilizadas/desenvolvidas há tanto tempo que já estão grandes e robustas demais para que se considere reimplementar tudo em outra linguagem. Mas isso não impede ninguém de usar Python!


Discutiremos nessa palestra como usar Fortran em conjunto com Python, e também alguns conceitos do Fortran moderno que podem ser surpreendentes para quem não conhece Fortran, para quem só conhece o FORTRAN 77, ou para aqueles que tem certo preconceito com a linguagem :)


Apresentaremos a f2py, faremos alguns exemplos de aplicação desta ferramenta, além de explorar outras ideias e soluções para a integração dessas duas linguagens.


p.s. Não utilizaremos GOTO nessa palestra.


Palavras-chave: fortran; computação científica; matemática; ciências; f2py

Use the buttons bellow to vote:

author photo

[Games, Back-end] Servidores de jogos em Python 


Com alguns anos de experiência em jogos, sempre usando Python no server-side, essa palestra pretende mostrar exemplos e casos de uso, com técnicas e modelos para o uso do Python como plataforma de gerenciamento e controle de jogos. tanto online quanto offline para ambientes web e mobile.


 

Use the buttons bellow to vote:

author photo

Gerenciando multiplos projetos em multiplos ambientes(local, staging, produção)

Gerenciar multiplos projetos, sem ter dor de cabeça deve ser um problema recorrente na vida de muitos desenvolvedores iniciantes.
Como gerenciar multiplos projetos em multiplos ambientes(local, staging, produção)  e como separar o código fonte dos dados de sua aplicação(url de conexão com o banco de dados, do redis)?


Nessa palestra mostrarei a solução que encontrei para facilitar meu fluxo de trabalho em multiplos projetos. As ferramentas que uso são: fabric e python-decouple.

Use the buttons bellow to vote:

author photo

GNU Radio no Projeto FloripaSat

O que essa ferramenta de processamento de ondas de rádio pode contribuir da detecção do primeiro nano-satélite produzido pela Universidade Federal de Santa Catarina, o FloripaSat?


O projeto Floripa-Sat consiste em uma iniciativa de pesquisadores e alunos da UFSC visando o desenvolvimento de uma missão espacial completa, desde a etapa de levantamento de requisitos, desenvolvimento de seus módulos, sua estação terrestre, até o lançamento do FloripaSat em 2017.


Essa palestra terá detalhes sobre o projeto do FloripaSat, assim como o GNU Radio pode (deve) nos ajudar.


Para mais informações, estamos documentando continuamente nosso projeto no GitBook. Acesse nosso Manual Técnico - Floripasat.

Use the buttons bellow to vote:

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 the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

Heimdall Guard - Spam Filter

O nosso objetivo era substituir uma ferramenta já consolidada no mercado que fazia o filtro de 8 milhões de email por mês e custava cerca de 1 milhão de reais por appliance, utilizando somente ferramentas opensource.


Para isso tivemos que fazer o uso de diversas tecnologias, como: 


- Spam Assassin


- PostgreSQL


- Amavis


- Clamav


Mas tudo isso precisava de uma interface para que o gerenciamento pudesse ser feito pelo usuário final, então utilizamos da linguagem Python com o poder do Framework Flask e do SQLAlchemy para tornar tudo isso possível e assim surgiu o Heimdall Guard.

Use the buttons bellow to vote:

author photo

Hoje sou um professor FELIZ: Python no ensino de programação

Fechei as notas finais. Foram 15% de reprovados. Quando a disciplina de introdução à programação era dada com C e Java, aqui na FATEC, esse número chegou a 70%. Agora usamos Coding Dojo nas aulas, testes nos exercícios e metododologias como o BigBrother para os alunos se ajudarem. O ensino é iterativo e incremental. Meus slides diminuíram e sinto paz na correção dos exames. Acredito que progredimos. Adicionalmente tenho um curso online, chamado Python para Zumbis, hoje com 50 mil alunos, e uma playlist com um milhão de visualizações, mantido pelo Gileno Filho. Recebo constantes feedbacks destes milhares de alunos virtuais. Pretendo compartilhar, nesta palestra, minhas experiências no ensino de programação. Eu também dei um workshop de programação na Abraji e no Curso Abril de Jornalismo. 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

Use the buttons bellow to vote:

author photo

Iniciando a jornada como sistemas distribuídos, o que devo saber?

Quando começei a trabalhar com sistemas distribuídos começei a me deparar com desafios que nunca havia encontrado antes: Transações distribuídas, protocolos de rollback e como integrar, de forma mais tranquila, dezenas de apis. Portanto, nessa palestra pretendo abordar esses assuntos e alguns outros referentes ao inicío da jornada de um dev com sistemas distribuídos e como enfrentar os problemas mais básicos com soluções provadas e aprovadas pela academia e pelo mercado.

Use the buttons bellow to vote:

author photo

[Iniciantes] Mock Away! Uma análise de a escrita de testes de unidade e mocks para algumas ferramentas e frameworks conhecidos

Introdução:


Nesta palestra, vou dissertar sobre a minha experiência nos ultimos meses desenvolvendo testes de unidade para aplicações que usam modulos Python populares para diferentes contextos, como Flask e Falcon para Web-APIs, Pymongo e Pymssql para conectores de banco de dados (Mongo DB e SQL Server), entre outros.


Em conjunto, apresentarei algumas das minhas decisões de implementação e soluções para uso dessas ferramentas para multiplas aplicações em uma arquitetura de micro-serviços.


 


Tópicos:


- Introdução a testes de unidade no Python


- O que "mockar" e o que não "mockar"?


- Flask e Falcon: Criando e mockando end-points


- Conectores de banco de dados: Vamo que vamo


- Mensageria: Mockar o gerente de canais de leitura e escrita e/ou o conector da fila?


- Redis: Agora a vida ficou fácil


- Discussão

Use the buttons bellow to vote:

author photo

[Iniciantes] Python para malabaristas - uma introdução ao OpenCV

Você sabe fazer malabarismo? E programar python? Sabe qual dos dois é mais fácil?!


Nesta palestra você vai aprender como é possível fazer um script python com menos de 100 linhas que usa OpenCV para contar quantas vezes você conseguiu alternar três bolas no ar. Ficou animado? Não consegue esperar? Então aqui vai o spoiler: https://github.com/ocarneiro/conta-bolas/blob/master/conta_arremessos.py


OpenCV é uma biblioteca muito poderosa e sua interface com python é muito simples de usar.


Otávio vai falar sobre as dificuldades que um iniciante enfrenta, sobre a instalação da biblioteca OpenCV, os principais métodos e, se alguém perguntar, dará dicas para você se iniciar no malabarismo.

Use the buttons bellow to vote:

author photo

[intermediário] REGEX - Do iniciante ao Avançado (usando Python)

Nessa palestra irei abordar expressões regulares passando pelos seguintes tópicos:


- O que são expressões regulares?


- Metacaracteres;


- Enxergando usa regex com um automato;


- Seguencias em grupos de caracteres;


- Exemplos de aplicação;


- Exemplos praticos (Busca de texto, classificação de textos e etc).

Use the buttons bellow to vote:

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 the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

[ Machine Learning ] Treinando Modelos Ensemble com Scikit-Learn

Árvore de Decisão é um algoritmo de máquina de aprendizado supervisionado. Uma das grandes desvantagens desse algoritmo é a dependência do conjunto de treino. Qual o problema disso? O que ocorre com classificadores desse tipo é o overfitting. Em outras palavras, tais classificadores ficam 'viciados' no conjunto de treino. O que fazer para contornar isso? É aí que surgem os modelos ensemble: tais modelos utilizam como classificação o voto majoritário de um conjunto de classificadores ditos fracos. Intuitivamente, seria como se numa conferência médica, especialistas em diferentes áreas quisessem diagnosticar um paciente com diferentes sintomas. O diagnóstico dado pelo voto majoritário de todos os conferencistas é mais forte que o diagnóstico dado por um único médico, certo? Quer saber mais sobre isso? Você pode conferir essa palestra através de uma apresentação de exemplos cotidianos.

Use the buttons bellow to vote:

author photo

Mantendo Test Case e Código de Automação juntos no código fonte

Todo mundo que trabalha com automatização de testes deve conhecer pelo menos um sistem de gerenciamento de test cases. Aqueles que trabalham há muito tempo nesta área devem ter passado por vários destes sistemas, que no final acabam mais atrapalhando que ajudando. Se você é um dos poucos sortudos que conseguiram achar uma fórmula mágica e continua usando o mesmo sistema, mesmo assim deve sofrer com a manutenção de test cases, pelejando para que eles continuem atualizados e relevantes.


 


Manutenção de test cases funcionais é um processo chato, demorado, que requere um investimento pesado no princípio, e super frágil para mentê-los relevantes a um produto que está sempre atualizando. Um botão novo, ou uma página com menu novo adicionados (ou removidos) do seu aplicativo web, por exemplo, pode tornar vários dos seus test cases obsoletos. Não seria bacana se você pudesse se concentrar somente no código de automatização e tivesse todos os seus test cases automaticamente gerenciados no sistema de gerenciamento de test cases da sua companhia, seja lá o que ele for?


 


Eu gostaria de apresentar como que a equipe de engenheiros da Red Hat trabalhando na automatização de testes funcionais do produto Red Hat Satellite 6 fazem para que todos test cases são automaticamente importados, atualizados e mantidos usando algumas ferramentas escritas em python. Se você trabalha com automatização de testes em python, com certeza naa vai querer perder esta apresentação!

Use the buttons bellow to vote:

author photo

Matemágica Discreta com Python 

Matemática Discreta é um dos campos de estudo mais importantes para Ciência da Computação, provendo um conjunto de técnicas para modelar problemas e projetar sistemas de computação (hardware e software).  A Matemática Discreta contribui com ferramentas básicas para o projeto e análise de algoritmos, permitindo que programadoras(es) desenvolvam um conjunto primordial de habilidades: saber contar, modelar e estimar bem. 


Os conceitos da Matemática Discreta também estão presente em Banco de Dados, Circuitos Integrados, Inteligência Artificial, Redes de Computadores, Sistemas Distribuídos, Otimização, Compiladores, Criptografia, Sistemas Críticos, entre outros. 


Apesar desses fatores, nos cursos de graduação a Matemática Discreta é uma das disciplinas mais temidas e odiadas, apresentando um alto índice de reprovação. Os estudantes têm contato com o conteúdo já no início do curso, porém tanto a didática dos professores como a pouca informação sobre a importância e a aplicação da disciplina são fatores que geram desinteresse e, consequentemente, um aproveitamento deficiente dos poderes da Matemática Discreta ao longo da carreira, seja acadêmica ou em suas funções no mercado. 


Nesta palestra veremos como Python pode tornar interessante e fazer mágicas com Matemática Discreta. Podendo ser utilizada tanto para o ensino de conteúdos matemáticos como técnicas de programação com Python.  Também irei compartilhar como tem sido minha experiência como Monitora da disciplina de Matemática Discreta no Curso de Licenciatura em Computação da UFRPE.

Use the buttons bellow to vote:

author photo

Minerando a Internet com Python e GO

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, Data Mining]


Essa é uma palestra melhorada da  Surfando com Python nas ondas da Internet que apresentei no Python Nordeste.

Use the buttons bellow to vote:

author photo

[Mobile] 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 the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

Nobody expects the floating point inquisition

Umas das primeiras coisas que nos ensinam quando aprendemos a programar é a fazer contas simples: multiplicar, somar, calcular média etc. O problema é que geralmente esquecem de nos avisar que a aritmética que o computador "sabe" é bem diferente da que a gente aprende na escola, principalmente quando lidamos com números do tipo float. Vou abordar um pouco de quais são essas diferenças, quais pegadinhas podem surgir e como Python pode ajudar a mitigá-las.

Use the buttons bellow to vote:

author photo

O que é esse tal de REST?

REST é a bola vez quando falamos sobre API. As maioria dos serviços que encontramos na web fornece interfaces deste tipo para que possamos desenvolver integrações. Será mesmo que estas APIs podem ser consideradas RESTful? O que é preciso para que uma API seja considerada RESTful? Você sabia que este padrão já existe a mais de 15 anos? Nesta palestra vamos nos aprofundar no tema e entender os conceitos e constraints de um sistema RESTful para que possamos explorar suas vantagens na hora de arquitetar nossa próxima API web.

Use the buttons bellow to vote:

author photo

Performance Analysis 101

O que aprendemos na faculdade sobre performance não é suficiente para cobrir as necessidades de um software de alta performance, pois otimizações de algoritmos e codigo não fazem, necessariamente, seu programa eficiente e rapido.


Nessa palestra apresentarei ferramentas para analise de performance de programas python, para testes de carga e tambem cobrirei a analise depois que sua aplicação está em produção. Tambem mostrarei tecnicas sobre como chegar ao problema raiz mais rapido e como montar uma infraestrutura de metricas.


*O escopo da palestra será aplicações web com python, rodando num ambiente linux. 


Tags: Intermediario

Use the buttons bellow to vote:

author photo

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

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 the buttons bellow to vote:

author photo

Peripécias do trabalho remoto

Uma palestra sobre as vantagens e desvantagens de se trabalhar em casa e algumas idéias para resolver os pontos problemáticos.

Use the buttons bellow to vote:

author photo

Porquê Mr. Robot usa Python?

Python é a linguagem mais utilizada no mundo da segurança da informação, seja para o bem, seja para o mal.


Grande parte das bibliotecas de exploração de falhas, assim como software de engenharia reversa são escritos em Python.


Com certeza Python é a linguagem de programação preferida de todo jovem empreendedor que deseja mudar o mundo através do hacktivismo.


Nesta palestra será apresentada a linguagem Python no contexto do universo hacker e como a linguagem é utilizada em diversas vertentes, sendo apresentado a criação de um cavalo de troia escrito em Python.

Use the buttons bellow to vote:

author photo

Porque PyGame se eu tenho Unity?

A proposta dessa palestra é trazer a discussão de porque seria legal usarmos pygame mesmo tento tantas ferramentas que facilitam a vida do desenvolvedor de jogos como Unity, UDK, Cosntruct2 e tantas outras game engines.


A idéia não é fazer um comparativo, mas levantar idéias de onde PyGame se aplica e se sobressai e como sua maior adoção poderia contribuir para aumentar sua maturidade e funcionalidade a um patamar em que a competição com as ferramentas mais famosas seja mais justa.

Use the buttons bellow to vote:

author photo

Portando para Python 3 mantendo retrocompatibilidade

Portar para Python 3 pode ser muito tranquilo quando você pode abandonar o suporte para Python 2 e não se preocupar com retrocompatibilidade.
Todavia, nem sempre isso é possível, no caso de projetos que são utilizados por muitas pessoas diferentes é importante portar de maneira mantendo as funcionalidades anteriores e suportando as mesmas plataformas.


Nessa palestra, vou falar sobre como portar código para Python 3 mantendo retrocompatibilidade com Python 2 e minimizando a perda de funcionalidades.


Compartilharei como isso aconteceu no Scrapy (framework open source para web scraping & crawling) e como você pode fazer também nos seus projetos.

Use the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

Produzindo lindos relatórios com Pweave

A ideia de notebooks é recente, mas a ideia de Literate Programming (que significa reunir em um mesmo documento código, resultado de código e comentários em linguagem natural) foi proposta há algum tempo por Donald Knuth. Por outro lado, em alguns casos é interessante que os notebooks gerem documentos que possam ser impressos, distribuidos, consultados offline, etc.


Para isto, apresentaremos a ferramenta Pweave, que é capaz de capturar os resultados e gráficos gerados por bibliotecas como NumPy, SciPy e matplotlib. O documento resultante pode estar em formato LaTeX, Markdown, reST ou HTML, por exemplo.


Discutiremos o funcionamento do Pweave, bem como alguns exemplos de utilização da ferramenta e suas vantagens no ambiente acadêmico e comercial.


Palavras-chave: pweave; documentação; LaTeX; computação científica

Use the buttons bellow to vote:

author photo

Programação além do código: comunidade e mulheres na tecnologia

O que existe além do código? Qual a importância da diversidade de gêneros na tecnologia? O que fazemos para a diversidade? E tão importante quanto: o que fazemos para NÃO incentivar a diversidade?


Contando a história de como passei de oceanógrafa para desenvolvedora, pretendo abordar esses e outros temas e mostrar como pequenas ações podem mudar a vida de muitas pessoas.


Tema: Iniciante, Comunidade

Use the buttons bellow to vote:

author photo

Pyladies e Django Girls ajudando a tornar a comunidade Python mais diversa e mais inclusiva

Iniciativas centradas em resolver a disparidade de gênero vem ganhando força internacionalmente nos últimos anos, e a comunidade open-source brasileira tem se destacado em quantidade e efetividade de ações voltados a esses projetos.


Nesta palestra falaremos sobre a nossa experiência com o PyLadies e Django Girls em diferentes estados no Brasil, onde resumiremos um pouco da história da criação do PyLadies e Django Girls Brasil, como tudo começou e o caminho que seguimos até hoje. 


Também apresentaremos “A MARAVILHOSA VIDA DE PYLADY” onde vocês conhecerão mais sobre nossos eventos (minicursos, palestras, workshops), encontros, sprints… E toda a construção e troca que acontece dentro da nossa comunidade e com as diversas comunidades que nos apoiam nos mais diversos cantos do país, suas particularidades, dificuldades e resultados. 


[comunidade, diversidade, inclusão]

Use the buttons bellow to vote:

author photo

PyRobô: Automatização com Python

Tem vontade de aprender algo novo? Quer participar mais de Happy Hour com a galera? Quer contribuir para projetos Open Source?


Mas você não tem tempo para tudo isso?


Automatize tarefas do dia-a-dia com Python!


 Nessa palestra mostrarei algumas bibliotecas Python que podem te auxiliar na automação de algumas das tarefas repetitivas do dia-a-dia.


Acompanhem a minha criação da apresentação em: https://docs.google.com/presentation/d/1KsrCnsAelQm5gWEiWC_V_PKZGpnRAzDPj_vFS857fVo/edit?usp=sharing

Use the buttons bellow to vote:

author photo

Python ao invés de Shell Script! Como?

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, considerada não elegante e dá uma bela dor de cabeça para 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?


Apresentarei quatro alternativas, desde a mais rude à com melhor usabilidade, incluindo um shell nativo em Python que pode ser usado no lugar do bashzshfish, etc.


A quem quiser experimentar, este shell chama-se xonsh: https://github.com/xonsh/xonsh

Use the buttons bellow to vote:

author photo

Python Assíncrono: tudo ao mesmo tempo agora

Python 3.4 incorporou um loop de eventos e a biblioteca AsyncIO. No 3.5 ganhamos 4 construções sintáticas novas: await, async def, async for e async with, junto com vários métodos especiais para suportar essas construções, como __aiter__ e __anext__. E agora temos o pacote uvloop, que traz para o Python o alto desempenho da biblioteca libuv -- o motor assíncrono do Node.js. Estamos mais preparados do que nunca para resolver problemas envolvendo alta concorrência de I/O. Vejam o que diz a engenharia de infra-estrutura do Facebook:


We are increasingly relying on AsyncIO, which was introduced in Python 3.4,
and seeing huge performance gains as we move codebases away from Python 2.


(Estamos contando cada vez mais com AsyncIO, que foi lançado no Python 3.4, e observando grandes ganhos de desempenho à medida que convertemos nosso legado de Python 2). Vamos falar sobre isso, e -- com sorte -- até ouvir depoimentos dos presentes sobre usos de AsyncIO!

Use the buttons bellow to vote:

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).


 

Use the buttons bellow to vote:

author photo

Python Lendo e Escrevendo Python

O Python oferece módulos builtins (em sua biblioteca padrão) que permitem ler código Python identificando os elementos da linguagem, como, por exemplo, as docstrings e blocos de decisão. O objetivo dessa palestra é apresentar alguns dos módulos que podem ser utilizados para ler e interpretar código Python e, também,  como aproveitar as informações coletadas para escrever código Python capaz de refatorar o uma base código já existente.


Serão apresentados dois casos, um realizando a leitura e interpretação (como obter informações sobre testes de uma suite de testes) e o outro realizando a refatoração de uma base de código já existente (refactor das docstring de mais de 2500 testes de uma suite de testes). Estes casos serão apresentados para mostrar que um desenvolvedor, mesmo não sendo um expert em compiladores, árvores abstratas sintáticas e interpretadores, é capaz de escrever um código Python capaz de tanto ler e interpretar quanto refatorar uma outra base de código Python.


Alguns dos módulos da biblioteca padrão do Python que serão abordados são ast, inspect e tokenize.

Use the buttons bellow to vote:

author photo

Python na criação gráfica

Esta palestra se propoõe a apresentar as principais ferramentas de criação visual opensource que permitem a utilização de Python para criação de scripts e plugiins, com exemlpos.

Use the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

Rastreando pessoas com WIFI

Vou contar como construí um sistema de rastreamento e contagem de pessoas baseadas em sinais WIFI de seus dispositivos móveis.


A idéia é falar de internet das coisas e dos desafios e soluções encontradas no caminho.


- Redes de sensores;


- Protocolos de comunicação;


- Aquisição de dados;


- Processamento e armazenamento;


- Entrega dos dados processados via API REST;


- Machine learning para setoriza,ão de ambientes.


 

Use the buttons bellow to vote:

author photo

REST com um quê de KISS: apresentando a biblioteca Restless [Web, REST]

Você não precisa de uma biblioteca grande e burocrática para implementar uma API RESTful na sua aplicação web.


Restless é uma solução leve, compatível com diversos frameworks (Django, Flask, Pyramid e Tornado) e facilmente extensível para criar serviços REST de uma forma Pythonica.


Nas palavras de seu criador: "all I really ever personally want are the RESTful verbs, JSON serialization & the ability of override behavior". Você tem a liberdade para fazer cada recurso se autenticar e se comportar da forma que sua aplicação precisa, enquanto o Restless garante que suas respostas, sejam elas sucessos ou erros, serão retornadas conforme manda o figurino.


Se você precisar de algo diferente, é fácil plugar uma solução alternativa para autenticação, serialização ou mesmo um framework novo!

Use the buttons bellow to vote:

author photo

RobotFramework: Testes de aceitação full-stack e controle remoto que fala sua lingua

RobotFramework é um sistema de automação e de testes de aceitação (ATDD) baseado em palavras chaves escritas em linguagem natural.


Essas palavras chaves podem ser escritas:


 - Na própria sintaxe de linguagem natural do Robot Framework


 - Em Python


Com ele você pode automatizar ou testar


 - Aplicações web completas pilotando um browser


 - Comandos em máquinas remotas através de conexões SSH


 - Aplicativos em Android, iOS e no Desktop (em Window, Linux e OSX)


E outras funcionalidades mais, através das várias bibliotecas de palavras chaves que já foram desenvolvidas para RobotFramework.


Nessa palestra vamos ver:


 - Como escrever testes de aceitação com o RobotFramework


 - Algumas das funcionalidades de pilotagem remota acima


 - Como é fácil escrever novas palavras chave, tanto na linguagem natural do RobotFramework quanto em Python

Use the buttons bellow to vote:

author photo

Seja contratado! - Dicas para se preparar para um emprego remoto

Nessa palestra vamos apresentar algumas dicas de como se preparar para entrevistas de emprego com foco em vagas remotas e de empresas do exterior. Confira dicas de como preparar seu curriculo, como se comportar na entrevista e as skills necessarias.


 


Alem de como se preparar, tambem será apresentado como é trabalhar em equipes distribuidas pelo mundo, como funciona a comunicação e quais sao as atitudes que voce deve ter ao trabalhar numa equipe assim.


 


Vale lembrar que as informacoes apresentadas podem e nao vão cobrir todos os casos, mas pelo menos oferecerá uma base para se preparar melhor e ser contratado.

Use the buttons bellow to vote:

author photo

Sistema de TV por assinatura com middleware desenvolvido em python/django [CASE]

Quero passar através desta apresentação, como python e django ajudaram a construir um middleware de TV por assinatura. Considerado um dos melhores de mais responsivos, por muitos clientes, fornecedores e parceiros, que já testaram outros sistemas de gigantes de telecom mundiais.


Como este middleware controla o sistema de TV por assinatura desde a recepção do sinal de satélite até a TV na casa do assinante.


Vou mostrar como funciona um headend de TV por assinatura, tendo como foco principal o python e como ele ajudou a construir o projeto.


O sistema em questão se chama kingrus, e teve seu início no final de 2010 e hoje está operando várias cidades com planos de mais de 200 canais, equivalente à grandes TVs por assinaturas nacionais, porém com o foco em entregar conteúdo de altissima quanlidade de resolução.


Dentro do middleware fica todas as informações de tudo que está em execução no cluster de recepção, controle de stream de todos os canais, bem como todas as informações dos equipamentos de clientes (SetTopBox).


Todo o controle de streams multimídia, como trajeto, transformações, armazenamento de conteúdo é gerido pelo middleware.


O middleware também é responsável por prover e consumir um grande número de APIs para interagir com diversos sistemas internos e de terceiros.


O middleware recebe uma grande quantidade de requisições simultâneas de todos os clientes on-line e foi criado um sistema de cache e coerência de cache para aguentar uma grande quantidade de requisições simultâneas.


 

Use the buttons bellow to vote:

author photo

Sockets, a resposta para a pergunta fundamental sobre a Internet, redes e sistemas distribuídos

No baixo nível, o que exatamente é um socket? Como o sistema operacional faz uma interface entre aplicações e a rede? E os WebSockets, onde se encaixam? Todas as respostas para essas perguntas serão abordadas nessa palestra que visa trazer um pouco de redes pro contexto de programadores de aplicações. São apresentados a história, o funcionamento e o futuro dos Sockets, além de demonstrações de como são feitos protocolos, servidores e chats.
E claro, como o python faz essa interface com o sistema operacional. 

Use the buttons bellow to vote:

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 the buttons bellow to vote:

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 the buttons bellow to vote:

author photo

Um ano depois.. O que aconteceu depois da minha primeira Python Brasil.

Vou contar o que aconteceu depois da minha primeira Python Brasil. Como eu sai de SAP para me tornar desenvolvedora e palestrei na Euro Python 2016. Como cada um mesmo sem tanto conhecimento técnico pode contribuir e ajudar pessoas.


“Todos os dias faça alguma coisa de que você tem medo.” Eleanor Roosevelt


 


[Comunidade]

Use the buttons bellow to vote:

author photo

Uma Orquestração de componentes baseados em MDA, MDD utilizando a Linguagem Python + Django.

Uma Orquestração de componentes baseados em MDA, MDD utilizando a Linguagem Python + Django.

Use the buttons bellow to vote:

author photo

Venha para o Lado Python da Força: acabando com o domínio Matlábico

É um período de guerra civil. Partindo de uma base secreta, naves Pythonicas atacam e conquistam muitas vitórias contra o perverso Império Matlábico.


O mundo de análises de dados é muitas vezes dominado pelo Matlab e a mudança para o lado Python da força pode ser mais complicado do que se imagina. Porque meu código vive reclamando de identação? Aonde estão as variáveis nessa linha de comando? Como saber que módulo importar? O que é um dicionário? Strings e números na mesma variável? Porque o meu for não funciona?


Vamos abordar as principais problemáticas relacionada à transição entre ferramentas algumas soluções para ajudar a se livrar de uma vez por todas do dominio do Império Matlábico.


 


Tags: Iniciantes, Data Science

Use the buttons bellow to vote:

author photo

Visualização de dados em Python

Nessa palestra irei abordar algumas bibliotecas para visualição de dados em Python, com enfoque em Bokeh, MatplotLib, GNU plot; Serão abordados os seguintes tópicos:



- Exemplos de graficos produzidos;



- Comparação de performance;



- Prós e contras de cada uma.

Use the buttons bellow to vote:

author photo

[WEB] Django Performance Tips

Você cria um projeto Django, desenvolve, testa e põe em produção, começa a ter alguns usuários e de repente o sistema começa a ficar lento. O que você faz? Aumenta as configurações do servidor, correto? Errado!

Nesta palestra pretendo apresentar dicas de performance na hora de colocar o seu projeto Django no ar.
Mostrarei como identificar gargalos e mensurar o desempenho da sua aplicação, como realizar otimizações que incluem otimizações de consultas no banco de dados, estratégias de cache, otimização de templates, e algumas outras alternativas que são bastante úteis quando se procura deixar o seu projeto Django com o máximo de performance.

Use the buttons bellow to vote:

author photo

[Web] Escalabilidade de aplicativos utilizando Celery para executar tarefas distribuídas no Django

Nesta apresentação vamos estudar a utilização de filas com Celery e RabbitMQ para executar tarefas cujo custo computacional ou tempo fazem com que seja impraticável a execução das mesmas em tempo real.


Vamos analisar como o BlogBlogs captura contéudo e processa imagens em background à partir da submissão de um blog por um usuário.


Esta mesma técnica se aplica também à tarefas corriqueiras como Importar e Exporta arquivos.


E por fim vamos entender como o uso de Filas permite a escalabilidade horizontal de um aplicativo através da distribuição de tarefas em múltiplos servidores.


 

Use the buttons bellow to vote:

author photo

[Web] Real Time Django usando Redis e Websockets

As aplicações web estão cada vez mais avançadas. É necessário reagir em tempo real na camada de apresentação dos usuários à eventos gerados server side.


Esta palestra explora a utilização de websockets no Django usando PubSub do Redis e uma aproximação diferente do tradicional request-response cycle. As conexões websockets são feitas através de um loop dedicado no Django para completar as conexões usando Gevent. Farei também um breve paralelo desta solução com o Django Channels também.


Vamos explorar nesta apresentação:

* Websockets
* Limitações do Django
* Django Channels
* Redis PubSub

Use the buttons bellow to vote:

author photo

[Web] Search Engines com Python e Elasticsearch

Uma Search Engine é um software responsável por realizar buscas em grandes quantidades de dados.
Os algoritmos envolvidos são complexos e a arquitetura não é trivial.
Neste cenário, o ElasticSearch aparece como a solução ideal para realizar as tarefas de indexação e busca.

Nesta palestra mostrarei como simplificar o desenvolvimento de uma Search Engine utilizando Python e ElasticSearch.

Demonstrarei como o Python pode ser usado para construir Web Crawlers e Scrappers e também como enviar os dados coletados na web para indexação no ElasticSearch.

Use the buttons bellow to vote:

author photo

[WEB] Sua API é uma UI

User interface é "o espaço onde a interação entre humanos e máquinas ocorre. O objetivo desta interação é a operação e controle efetivos da máquina no lado do usuário e o feedback da máquina, que auxilia o operador na tomada de decisões operacionais."

Ter a ideia clara de quem é seu usuário e prover uma boa experiência para ele já é bastante trabalhado em interfaces gráficas. Técnicas e processos são aplicados para criar uma fomar simples e intuitiva de usar o produto/serviço. Mas quando a interface de interação é o código, como melhorar a experiência?


Nessa palestra pretendo falar um pouco de usabilidade sob a visão de um desenvolvedor e mostrar técnicas e protocolos para melhorar APIs web.


 

Use the buttons bellow to vote: