Python Brasil 2018 [PALESTRAS]
Python Brasil 2018 [PALESTRAS]
Este é o canal oficial para submissões de palestras da Python Brasil 2018.
A 14ª edição do evento acontecerá em Natal/RN entre os dias 17 a 22 de outubro, sendo os dias 19 a 21 destinado para as palestras.
O local das palestras será no auditório do Hotel Holiday Inn.
Submissões:
As palestras devem ter o tempo máximo de 25 minutos e podem abordar qualquer área de conhecimento dentro do universo da comunidade Python.
Caso tenha interesse em palestrar, mas ainda está com dúvidas, mande um e-mail para eventos@python.org.br que estamos disponíveis para te ajudar.
Se possível oriente a categoria da sua palestra com uma marcação como por exemplo: "[Web]", desse modo podemos filtrar da melhor maneira possível.
Algumas sugestões de categorias: Iniciantes, Web, Científico, Carreira, Embarcados, DevOps, Desktop, Mobile, Comunidade. Fique a vontade para adicionar outras categorias que não foram listadas aqui.
Serão aceitas palestras em Português, Espanhol, e Inglês.
Critérios de escolha de palestras:
- Número de palestras do mesmo assunto (maior diversidade de assunto);
- Número de votos;
- Número de palestras por palestrantes (maior diversidade de palestrantes);
- Palestrantes novos.
Dicas:
- Procure colocar uma descrição bem detalhada sobre o conteúdo de sua palestra para que todos possam compreendê-la;
- Você pode buscar inspiração para o tema da sua palestra nas propostas submetidas em edições anteriores. Dê uma olhada em https://speakerfight.com/events/
- Seja criativo na hora de criar o título da sua palestra!
- Envie quantas palestras desejar! Não há limite de proposta por participante (e quem sabe mais de uma seja selecionada).
Observações:
- Para participar do evento o palestrante precisa estar de acordo com o Código de Conduta. Você pode acessá-lo em http://2018.pythonbrasil.org.br/codigo-de-conduta
- Após o encerramento das votações entraremos em contato com todos os candidatos que foram selecionados;
- Para participar do evento, mesmo como palestrante, é necessário adquirir um ingresso. Para mais informações sobre compra de ingressos acesse o site http://2018.pythonbrasil.org.br
Datas:
- Submissão de palestras até dia 30/06/2018
- Divulgação dos resultados até o dia 25/07/2018.
Se liga nas datas e não deixe para a última hora!
Python Brazil 2018 [TALKS]
This is the official channel for submissions of Python Brazil 2018 talks.
The 14th edition of the event will take place in Natal/RN from October 17th to 22nd, with the days 19 to 21 being reserved for the talks.
The lectures location will be the auditorium of Hotel Holiday Inn.
Submissions:
The talks should have a maximum time of 25 minutes and they can address any area of knowledge within the universe of Python community.
If you are interested in giving a talk, but still have doubts, send an email to eventos@python.org.br, we're available to help you.
If possible tell us the category of your talk with a tag such as "[Web]", this way we can filter them the best way possible.
Some suggestions for categories: Beginners, Web, Scientific, Career, Embedded, DevOps, Desktop, Mobile, Community. Feel free to add other categories that have not been listed here.
Will be accepted talks in Portuguese, Spanish, and English.
Criteria for choosing talks:
- Number of talks of the same topic (greater diversity of topic);
- Number of votes;
- Number of talks by speakers (greater diversity of speakers);
- New speakers.
Tips:
- Try to write a very detailed description of the content of your talk so that everyone can understand it;
- You can seek inspiration for the theme of your talk from proposals submitted in previous editions of this and other events. Take a look at https://speakerfight.com/events/
- Be creative when making up the title of your talk!
- Send as many talks as you wish! There is no limit to the proposal of talks per participant (and who knows if more than one is selected).
Comments:
- To participate in the event the speaker must act accordingly with the Code of Conduct. You can access it at http://2018.pythonbrasil.org.br/codigo-de-conduta
- After the votes are closed, we will contact all the candidates that were selected;
- To participate in the event, even as a speaker, you must purchase a ticket. For more information about ticket purchases, visit http://2018.pythonbrasil.org.br
Dates:
- Submission deadline for talks on 06/30/2018
- Disclosure of results until 07/25/2018.
Pay attention to the dates and do not make your proposal last minute!
Propostas
0o0 (ETL Python e Ruby) - Python não tem preconceito
Extração, Transformação e Carregamento. O processo de Extração, Transformação e Carregamento (Extract, Transform, Load – ETL) é um processo que envolve: Extração de dados de fontes externas.
Nessa palestra vou explicar como construímos um ETL que gerar dados estratégicos para tomada de decisões.
2 anos de trabalho remoto - o lado bom e os problemas
Nesta palestra quero falar sobre minhas exériências como desenvolvedor "freelancer" na plataforma Toptal durante estes dois anos trabalhando neste modelo.
Pretendo falar das vantagens do trabalho remoto e das desvantagens também.
Airflow - Pipeline/Workflow para Gigantes
Apache Airflow uma plataforma open source para criar, programar e monitorar fluxos de trabalho de forma programática, totalmente em Python.
Desenvolvido pelo Airbnb é utilizado por empresas gigantes como HBO, Grupon, Banco ING, Paypal, Spotfy, Yahoo, 99 e XP Investimentos, além de muitas outras.
Nesta palestra serão apresentados os principios do Airflow bem como desenvolver o seu pipeline de dados ou workflow de tarefas utilizando programação Python nesta ferramenta fantástica.
![author photo](https://lh4.googleusercontent.com/-s4GIGanEmvE/AAAAAAAAAAI/AAAAAAAAZDY/IRYsp8OEoDk/photo.jpg)
Álgebra e Cálculo com Python: Usando Sympy pra computação simbólica
Algoritmos numéricos são muito comuns nos mais diversos problemas de ciência, engenharia e análise de dados. Mas em alguns casos eles podem ser otimizados com uma validação prévia do problema utilizando computação simbólica.
Com o SymPy, uma biblioteca Python de computação simbólica e Matemática não só podemos resolver algebricamente equações como também dá pra verificar os exercícios de cálculo :-)
Nessa apresentação vou falar um pouco da computação simbólica, como funciona por trás dos panos e apresentar a biblioteca SymPy.
![author photo](/media/photo912729032447076723.jpg)
Algoritmo Genético com Python - “Fruto do acaso ou de um processo evolutivo?!” [Python Científico]
Algoritmo genético é uma técnica de otimização e um dos conceitos mais recentes de algoritmos evolutivos, dos quais são baseados em uma gama de mecanismos da evolução biológica como hereditariedade, mutação, seleção natural e crossing over. Tais modelagens computacionais surgiram para resolver problemas de complexidade, isto é, a natureza otimiza seus mecanismos para resolver um ou mais problemas. Neste caso, nosso próprio código otimizará os recursos para encontrar soluções ótimas. Nesta palestra vamos entender como funciona essa técnica de otimização e sua implementação utilizando Python.
Tópicos a serem abordados:
- "Fruto do acaso ou de um processo evolutivo?!" - Base biológica;
- O que são técnicas de otimização;
- Conceito de algoritmo genético;
- Implementação com Python.
A linguagem Go pode ajudar o Python a ter mais performance?
Esta talk tem o objetivo de apresentar alguns exemplos de como trabalhar com código Go dentro do Python e TALVEZ (só talvez) apontar um ganho de performance. Um esboço da talk pode ser visto aqui:
- https://github.com/rafaelhenrique/go-improves-python
Minha pretensão é responder essa pergunta "A linguagem Go pode ajudar o Python a ter mais performance?" durante a talk, mostrando alguns testes que fiz e os resultados obtidos :).
Assuntos abordados:
1. A linguagem Go
2. A linguagem Python
3. Como fazer um código em Go rodar em Python
4. Discutir sobre desempenho/performance desta prática
A Maelstrom of Pythons (using Python in disaster recovery at scale)
Facebook services are deployed in multiple data centers across the globe. In order to ensure uptime in the face thousands of incidents, we have developed Maelstrom, a Python based engine which let us test disaster recovery (DR) scenarios and mitigate actual incidents. In this talk I will present how we leverage Maelstrom to improve our service resilience across the globe and how our engine helps us understand the complex nature of inter dependent services deployed over multiple physical locations.
![author photo](/media/foto.jpg)
Ansible 101
Ansible é uma uma ferramenta de gerência de configuração, orquestração e automação desenvolvida em Python. Um dos projetos open source mais populares (stars e contributors) do GitHub e largamente utilizada ao redor do mundo.
Explore todo o poder do Ansible nesta apresentação - que mostrará do que a ferramenta é capaz e como a simplicidade do Python é empregada tanto no seu desenvolvimento quanto no seu uso.
![author photo](https://lh4.googleusercontent.com/-s4GIGanEmvE/AAAAAAAAAAI/AAAAAAAAZDY/IRYsp8OEoDk/photo.jpg)
Apache Mesos: Distribuindo e escalando códigos em Python
É muito comum hoje em dia se falar em microserviços, escalabilidade e map reduce. Todos esses termos são na verdade faces de um mesmo hipercubo, a programação esclável e distribuída.
No mundo de hoje onde temos algumas características que mudam completamente a visão de software eficiente que tínhamos há alguns anos:
- a demanda por desempenho e o volume de dados a serem manipuladosé enorme
- em lugar de supercomputadores esse processamento pesado precisa ser feito em vários computadores com menor capacidade
- Deve-se levar em conta a resiliência e escalabilidade do software, pois falhas acontecem, e elas devem custar o mínimo para serem recuperadas
A forma de resolver todos estes problemas é com o processamento distribuído, mas nem sempre Map Reduce ou microserviços atendem a essa demanda. Algumas vezes precisamos apenas delegar tarefas mais complicadas para outra unidade de processamento e com isso manter um serviço suficientemente resiliente, ou apenas queremos economizar ativando certos recursos apenas quando necessário. O Mesos, sistema operacional de datacenter da Apache, atende a esses pré-requisitos, e aqui vamos dicustor como utilizá-lo para distribuir recursos usando Python.
![author photo](https://lh4.googleusercontent.com/-s4GIGanEmvE/AAAAAAAAAAI/AAAAAAAAZDY/IRYsp8OEoDk/photo.jpg)
Aplicações de IA com Tensorflow com Python
Inteligência Artificial está na moda e uma das melhores ferramentas para IA avançada em GPU é o Tensorflow.
Aqui vou falar um pouco sobre a ferramenta e apresentar o básico para que ela possa ser usada em projetos de Machine Learning ou Deep Learning, desde o treinamento até produção.
Aplicações de Python à Neurociência Computacional
A neurociência computacional tem como principal objetivo a simulação e emulação das funções cerebrais, a partir de modelos que representam os aspectos físicos, químicos e biológicos da dinâmica cerebral, em diferentes níveis.
Dessa forma, qualquer arcabouço computacional voltado para neurociência computacional deve, antes de tudo, ter um ecossistema de computação científica ou numérica capaz de atender, de forma eficiente, problemas como a simulação do funcionamento e da interação de neurônios, da plasticidade sináptica, de redes de neurônios e das dinâmicas da cognição, por exemplo.
Python vem, nos últimos anos, ocupando um lugar antes quase absolutamente tomado pelo FORTRAN, C e MatLab, principalmente por ser uma linguagem de fácil aprendizado, ser multiplataforma, e ter um ecossistema poderoso voltado para a computação numérica, formado por bibliotecas como Numpy, Scipy, Matplotlib, ScikitLearn, para citar algumas. Especificamente para a neurociência computacional, dentre várias possibilidades, a MNE, voltada para o processamento de sinais neurais incluindo letro e magnetoencefalograma, que o usuário seja capaz de visualizar dados crus oriundos de gravações de sensores, definir épocas de visualização, remover ruído do sinal coletado, computar contrastes entre condições, entre sensores, por meio de objetos, etc., realizar estatísticas não paramétricas no espaço, tempo e frequência, realizar análises de sinais em tempo-frequência, estimar conectividade entre sensor e fonte espacialmente distribuídos, entre outras funcionalidades. O projeto MNE é financiado conjuntamente por NIH, NSF, NCCR e Amazon, nos EUA e por IDEX Paris, ERC e French National Research Agency, na França.
Nessa palestra, nós conheceremos o ecossistema Python atualmente disponível para aplicações em neurociência computacional, com enfoque na MNE, a partir de exemplos e casos de uso para o processamento de sinais cerebrais, mostrando como python pode ser uma poderosa ferramente para a construção de pesquisas e aplicações voltadas para o campo da neuroengenharia.
![author photo](/media/13533010_1175682175817397_4224092058355342971_n.jpg)
Aplicações serverless com Python - Desvendando esse mistério
Várias perguntas são feitas quando falamos de serverless:
- Tem cases em produção?
- Esse negócio funciona?
- Quais os trade-offs?
- É uma evolução para substituir os containers?
- Tem como desenvolver em python?
- Tem framework?
- É testável?
Nesta palestrar vou demonstrar como é possível construir aplicações robustas serverless com python. Também irei abordar como identificar de forma coesa quando a aplicação deve ou não ser serverless.
![author photo](https://lh6.googleusercontent.com/-dS_TBilOaq8/AAAAAAAAAAI/AAAAAAAAArs/nypiz2qhyHk/photo.jpg)
Aplicando Domain Driven Design em aplicações WEB usando Python
Nesta conversa apesentarei soluções implementadas para evoluir um projeto de 10 anos utilizando conceitos de DDD, sob a ótica do livro Domain-Driven Design: Tackling Complexity in the Heart of Software (Evans, Eric. 2003).
Alguns concetos de DDD serão aprensentados e ilustrados com exemplos de código, de forma a analisarmos os prós e contras da utilização dessa técnica.
Application/Service Configuration sem dor de cabeça
Muitas aplicações e serviços dependem de arquivos de configuração para comportar-se acordo com as necessidades do usuário final. A biblioteca padrão do python nos fornece a classe ConfigParser e muitos projetos se utilizam dela para ter suporte a configuração de uma forma fácil.
Usando oslo.config, podemos ler arquivos de configuração da mesma forma que o ConfigParser, mas também podemos tornar tal configuração flexível por meio de argumentos de linha de comando e obter benefícios adicionais para na manutenção das opções de configuração e segurança dos valores de configuração.
Aprendendo a Gestão do Tempo e da Decisão
Qual um dos maiores fatore do sucesso? O bom uso do tempo. Seja na vida de desenvolvedor Python ou na vida pessoal, como usamos o tempo é vital para qualidade dos resultados. Assim aprender a tomar boas decisões vai ajudar ter uma melhor
Aprendendo com os erros
Bugs em produção acontecem e muitas vezes o caos é generalizado, criando estresse e desorganização no time.
Umas das soluções realizadas é a checagem de erro no monitoramento e criada uma hotfix, mas poucas vezes é pensado no que causou o erro, como uma falha de documentação ou validação.
Ganhamos bem mais com uma prática de aprendizado e melhoramento contínuo do que com apontamento de dedos e procurando quem culpar, pois dificilmente os mesmos erros irão retornar quando são precavidos.
Nessa palestra você vai ver:
* Abordagem: Reativa x Proativa. Qual o momento exato de usar?
* Métricas de monitoramento de erro eficientes e eficazes.
* O poder do Post Mortem para resolver problema!
* Desafiando o status quo em busca da melhoria contínua
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.
![author photo](/media/30688555_1472508482861301_2665792746433806336_n.jpg)
[APRENDIZAGEM] ARTE + PROGRAMAÇÃO - Experiência com Processing
A arte está cada vez mais inclusa na tecnologia, permitindo que mais artistas tenham o potencial de inovar em suas criações, desse modo, nesta palestra pretendo mostrar a minha experiência como artista plástica na trajetória de iniciação a programação com python, trazendo reflexões sobre os efeitos dos resultados ministrados pela tecnologia e pela programação. Com isso, apresentar o desenvolvimento do meu processo de aprendizagem com a linguagem py.processing para criar um projeto de exposição artístico, realçar idéias de inclusão do conhecimento de programação para o meio artístico, a fim de mostrar a conexão iminente entre as duas áreas.
- Visão de artista em relação a programação python
- Processo de aprendizagem com processing
- Exposição de projeto artístico
- Como levar conhecimento de programação para a arte
![author photo](https://lh4.googleusercontent.com/-e4h7v4sOFqs/AAAAAAAAAAI/AAAAAAAABc8/WEC73ETtUSM/photo.jpg)
Aprendiz de Python, compartilhe o pouco que sabe...
Com essa palestra quero aproveitar e contar um pouco sobre minha experiência como iniciante com a línguagem python, enquanto cursei informática para internet, onde era novidade até mesmo para alguns professores.
Relatar algumas dúvidas que apareceram. E agora como faço? Alguém sabe? Alguém me ajuda?
Foi aí que começou minha busca por comunidades e pessoas com o mesmo interesse na tecnologia que eu acabava de descobri.
Alguns pequenos desafios que para muitos que já conheciam eram besteira.
E perguntas que sentia vontade de fazer em eventos e me calava por achar que era bobagem.
Ei pare aí repense, não se cale o que é bobo para quem sabe, não é para você! Pergunte sem medo.
Sua experiência ou suas dúvidas pode ser as de outros!!!
E um projeto em construção relacionado a depressão que quero desenvolver com a línguagem, ainda em construção.
Apresentando graphene uma lib graphql para o django
Neste palestra vou apresentar o que é graphene.
Teremos um overview de como e o que é graphql. Quais suas vantagens de adoção como podemos melhor o desempenho de nossas aplicações e como facilita para o trabalho com grande volume de dados.
A privacidade morreu? A importância da privacidade atualmente e como isso nos afeta.
A privacidade mudou muito nos últimos anos e afeta diretamente nosso cotidiano e nosso futuro sem perceber. Assim devemos dar mais importância para esse tema.
![author photo](/media/58766741a160a_normal.jpg)
Arduino + Python = Best Match
Arduino é uma plataforma de prototipagem eletrônica de hardware livre projetada com um microcontrolador, com suporte de entrada/saída embutido, uma linguagem de programação padrão essencialmente C/C++. Podemos usar Python em sua programação, através da porta serial. Nesta palestra mostrarei o clássico exemplo do piscar de um led em C e em Python, além de mostrar um simples sistema de medição usando um sensor ultrassônico.
![author photo](/media/Screen_Shot_2018-04-25_at_10.53.49_AM.png)
[Arquitetura] Entropia, Entropia de Software e Clean Archictetures
A segunda lei da termodinâmica diz que, a princípio, o nível de desordem de um sistema isolado não pode ser reduzido - somente aumentar ou permanecer inalterável.
Desde os anos 90, alguns trabalhos relacionam esse conceito da Física a sistemas de software, o que parece plausível. Quantas vezes vemos arquiteturas antes simples se tornaram monstrinhos após algumas iterações, atrapalhando a velocidade de novas entregas ou requerendo um esforço dedicado em refatorações?
Será que a entropia de software é realmente implacável?
Essa talk explora o conceito de entropia na evolução de um software como um argumento para a adoção de Clean Architectures, passando pelos conceitos de Domain-centric Architecture, Functional Organization, Microservices, Commands and Queries e Event Sourcing, como Python se compara a outras linguagens nesse sentido, e possíveis ferramentas para manter a sanidade de código durante a evolução de um software.
[Arquitetura] S.O.L.I.D - Como criar uma base de código compreensível, coesa, simples, robusta e livre de bugs
Nessa talk, vamos falar sobre como aplicar os 5 princípios SOLID em python, e usá-los tanto orientado a objetos quanto orinetado a funções.
Como criar um código padronizado, simples, robusto de forma pythonica. Tirar vantagem de toda a simplicidade do python para trazer robustes ao código.
Algumas dicas sobre código defensivo e limpo.
Dismistificação de algums mitos da programção em geral.
Assistentes Pessoais, Chatbots e Como Aplicar o Python a Essas Novas Tendências
Nivel: Intermediário
Assistentes pessoas como Google Home, Amazon Echo e os famosos chatbots do Facebook Messenger e demais plataformas vem ganhando a cada dia mais e mais adeptos. Seguindo essa tendência venho por meio dessa palestra apresentar uma perspectiva maker com essas tecnológias utilizando o python e o django como carro chefe do desenvolvimento.
Tópicos:
- Chatbots
- Introdução
- Telegram
- Facebook Messenger Platform
- Show me the code!
- Assistentes Pessoais?
- Google Home
- Amazon Echo
- Show me the code!
![author photo](/media/58766741a160a_normal.jpg)
Automação residencial com Python e Arduino
Monstrando alguns porojetos com Python em conjunto com Arduino, voltados para automação residencial, como por exemplo, acender um led através de uma página web, fazendo analogia de uma lâmpada, e um projeto onde acionamos um led de acordo com a luminosidade do local.
AutoML with Python - machine learning made easy(ish)
AutoML may be one of Google's latest buzzwords, but automated algorithm engineering has been around for at least a decade, with many interesting applications.
In this talk, we'll catch a glimpse of how wide these possibilities are, and go hands-on with a few AutoML Python libraries that are meant to help new (and experienced!) machine learning users create effective algorithms ;)
![author photo](https://lh4.googleusercontent.com/-LKSb9D7vUbc/AAAAAAAAAAI/AAAAAAAAAAA/WXRMBTHNTTY/photo.jpg)
AWS, devops, celery, pyramid,python, sqlalchemy, squads. Stack tecnologico de uma fintech.
AWS, devops, celery, pyramid,python, sqlalchemy, squads. Como Stack tecnológico baseado em Python me ajudou nos diferente estágios de desenvolvimento de uma fintech. Um pouco da historia da Geru. https://www.geru.com.br.
![author photo](/media/ph_face2.jpg)
Babel: verdades e mentiras no discurso político digital [Ciência de Dados][Inovação Cívica]
Babel é uma plataforma aberta de análise de manifestações políticas. É um hub para reunir dados e implementar análises sobre quaisquer publicações de pessoas ou instituições ligadas à política.
Desenvolvido em Python, com a coordenação do Laboratório Hacker da Câmara dos Deputados e contribuições de hackers e pesquisadores parceiros, Babel tem sido utilizado para analisar e confrontar discursos políticos ao longo do tempo e em diferentes canais, como os espaços oficiais e redes sociais.
A palestra será, mais do que uma apresentação da arquitetura e aplicações, um convite para os devs da comunidade Python se juntarem a esse projeto de inovação cívica.
[Big Data] Big data com PySpark
O Apache Spark é uma das principais engines de processamento de dados distribuídos. Ela permite que sejam desenvolvidas aplicações capazes de processar grandes quantidades de dados dentro de poderosos servidores. Estas aplicações podem ser desenvolvidas em várias linguagens tais como Scala, Python, R, e SQL. Para realizar a comunicação Python-Spark foi desenvolvida a API PySpark que possibilita, por exemplo, o uso das tradicionais bibliotecas de computação científicas do Python dentro do Spark.
Nessa palestra mostrarei como escrever aplicações Python para o Spark, bem como as vantagens e desvantagens de se utilizar o PySpark.
![author photo](https://lh5.googleusercontent.com/-1QIpEAR2Qe8/AAAAAAAAAAI/AAAAAAAANbI/43GjXSVVAJw/photo.jpg)
BLKN: o BPM - em Django - usado internamente pela Kiwi.com [Intermediário] [Django]
BLKN (Balkan) é o Sistema de Gestão de Processos de Negócio (BPM - Business Process Management) usado principalmente pela equipe de Suporte ao Cliente na Kiwi.com.
Gostaria de compartilhar a minha experiência trabalhando com Python/Django neste que é um dos principais sistemas usado internamente pela Kiwi.com.
Os desafios e alguns exemplos de soluções - em código! :) - para problemas críticos que enfrentamos.
Brasil.IO: Dados abertos para mais democracia
A quantidade de dados públicos brasileiros que fica disponível a cada dia na Web só cresce, mas com ela cresce a complexidade de estruturar e fazer com que essas bases de dados se comuniquem.
O Brasil.IO nasceu para resolver esse problema: é uma comunidade de desenvolvedores que criam scripts para capturar, limpar e estruturar bases de dados de interesse público, que ficam disponíveis no site para download e para acesso através de uma API.
O projeto é software livre e já está sendo utilizado por diversos jornais brasileiros para criar matérias guiadas por dados, bem como em outras áreas (como no direito).
Cara Gente Branca do RH
Nessa talk, com plano de fundo da série CARA GENTE BRANCA da Netflix, vou abordar como e por quem são realizados os processos seletivos nas empresas de Tecnologia. Quem são as pessoas que selecionam pessoas? Quantas pessoas negras você conhece que trabalham em empresas de TI?
Como comprender, conhecer e combater os vieses inconscientes, que nos fazem contaminar as decisões e consequentemente o processo de escolha das pessoas que vão trabalhar nas empresas.
Vamos juntos entender como tratar o racismo em processos seletivos em empresas de Tecnologia,com cases práticos e dicas valiosas.
[Carreira] Aventuras de um Nômade Digital
Oi, eu sou o Jojo, e desde Outubro de 2017 eu só tenho um trampo remoto, uma mochila nas costas e vontade conhecer o mundo. Nessa palestra – que mais parece uma conversa de bar – vou contar pra vocês como foi meu último ano vivendo como um nômade digital e como você pode fazer o mesmo!
Vamos trocar uma ideia sobre:
* Dicas de trampo remotos
* Dicas de viagem
* Dicas de vida
* Nomadismo, minimalismo e essencialismo
* Aventuras e Desaventuras
* Piadas ruins
* Paisagens de causar inveja
* Como curtir o rolê
Vou ficando por aqui, porque na Índia já é tarde 🇮🇳
[CARREIRA] Como conseguir o meu primeiro emprego com Python?
Quando estamos iniciando a jornada na programação sempre ouvimos conselhos como: "É só estudar Python que você consegue um emprego."
Mas o que seria "estudar Python"?
Existem inúmeras possibilidades de carreira e especialização na tecnologia e todas necessitam de mais do que apenas uma linguagem. Nessa palestra vou mostrar o que é realmente necessário aprender em termos técnicos e de habilidades pessoais, quais as possibilidades de carreira e como se aproximar das oportunidades do mercado de trabalho para conseguir o seu primeiro emprego como desenvolvedora/desenvolvedor Python!
[carreira] Entenda o que é um Programador Intraempreendedor
Como programdor usei minha paixão e todo meu conhecimento em empreendedorismo para dentro da empresa onde trabalho, em 2 anos meu salário cresceu 400%, subi alguns níveis de cargo e hoje faço o que amo, empreendendo e próximo dos códigos.
Intraempreendedorismo começou a ser visto como uma opção de carreira e uma forma de absorver os diplomados e os que por algum motivo não conseguem se colocar no mercado de trabalho, nada mais é que um processo que ocorre dentro de uma empresa existente, independente de seu porte, e leva-a não somente a novos negócios, mas também a outras atividades e orientações inovadoras como o desenvolvimento de novos produtos, serviços, tecnologias, técnicas administrativas, estratégias e posturas competitivas.
Veremos nessa palestra como empreender na empresa onde você trabalha, e os resultados de alguns CEOs de tecnologia sobre o assunto.
![author photo](https://lh3.googleusercontent.com/-3E1zNcGxh_U/AAAAAAAAAAI/AAAAAAAABxM/W7j09iRXdMw/photo.jpg)
[CARREIRA] O patinho feio developer: o que um conto de fadas pode nos ensinar sobre vida, carreira e sobre escrever um código melhor
O patinho feinho nasceu talvez no lugar errado, estava na família errada, não sabia nadar e estava triste. Não era reconhecido pelo que tinha de bom mas rejeitado pelo que tinha de ruim. Algum tempo depois descobriu que era um cisne.
Nesta palestra falarei um pouco sobre vida, carreira e código. Muitas vezes, como desenvolvedores, focamos demais em nossa parte técnica e deixamos de evoluir outras características igualmente importantes para identificar se estamos na empresa, no emprego, no cargo errados, convivendo talvez com as pessoas erradas, fazendo com que tenhamos uma impressão errônea sobre nós mesmos.
Tentarei mostrar através de exemplos e experiência como fazer para evoluir em ambientes adversos, lidar com pessoas, trabalhar em equipe, encontrar oportunidades de crescimento dentro e fora do trabalho, além de dicas sobre como evoluir seu código e habilidades de desenvolvedor mais rapidamente para que esse patinho feio não demore para se tornar um cisne ;)
[Carreira] Precisamos falar sobre dinheiro!
Nesta palestra pretendo compartilhar o que aprendi sobre dinheiro e investimento nos últimos 2 anos.
Vou passar por:
1. Por onde começar a se organizar?
2. Como monitorar as finanças pessoais e fazer orçamentos?
3. Diferença entre ativo e passivo
4. Primeiro passo dos investimentos
5. Como analisar um investimento
6. Como de fato realizar os investimento
7. Como viver de investimentos sem precisar trabalhar
E tudo mais que você quiser saber sobre investimentos e finanças
[Carreira] Técnicas de Negociação para Devs
A negociação muitas vezes é associada ao ato de comprar e vender alguma coisa, e é uma habilidade que costuma passar longe do nosso dia a dia como devs. Porém, negociar vai muito além de comprar e vender: podemos estar negociando um prazo, a quebra de uma história, a escolha de uma tecnologia ou o desenho de uma arquitetura. Na verdade a venda está lá, mas deixa de ser a venda material para ser uma venda de ideias.
Nesta talk vou trazer as principais técnicas de negociação que são úteis para o contexto das carreiras mais técnicas. Vou falar sobre motivadores, tipos de negociação, formas de poder, mecanismos psicológicos e eventuais armadilhas.
![author photo](https://lh4.googleusercontent.com/-K_ee0t5eg7g/AAAAAAAAAAI/AAAAAAAAAXw/zXLmH-Cus0w/photo.jpg)
Celery: Mandamentos para paralelizar tarefas sem perder a sanidade
Celery é uma excelente ferramenta para delegar tarefas para processos em "background".
Mas se mal usada, pode dar uma dor de cabeça "danada" quando as coisas não saem como esperado.
Nessa palestra vamos passar umas diretivas sobre como escrever tarefas em background que minimizam a dor de cabeça quando as coisas não dão tão certo.
As lições apresentadas são aplicáveis a qualquer sistema de execução de tarefas assíncronas (até threads lançadas na mão), mas serão ilustradas com exemplos em Celery, e com alguns casos tirados da vida real.
![author photo](https://lh5.googleusercontent.com/-3xXWVtU7SEo/AAAAAAAAAAI/AAAAAAAAUXU/k1ptQP6ooug/photo.jpg)
CI/CD - Automatizando a entrega da sua aplicação
Um overview sobre criação de esteira de CI/CD, boas práticas para alcançar o continuous deployment e um pouco sobre o conceito de Intelligent Deployments que está falado atualmente utilizando Machine Learning, irei mostrar uma esteira de CI/CD completa, passsando por testes unitários, converage, integração, segurança, performance e a entrega (bluegreen/canary/a-b).
![author photo](https://lh6.googleusercontent.com/-X53ZOZiFIRc/AAAAAAAAAAI/AAAAAAAAAC8/ty6F1Fm-myI/photo.jpg)
[Ciência de Dados] Construindo data pipes para parendizado de máquinas com Python e Luigi.
Um cientista de dados lida com.... Dados! Não exatamente :p. Na academia estamos acostumados a lidar com problemas bem definidos e bases de dados padrões, mas o mundo, o mundo meu amigo é uma selva. Boa parte do trabalho de um cientista de dados se concentra em lidar com APIs, queries em [inclua aqui seu db favorito], treinamento na nuvem, reports, etc., etc., sobrando pouco tempo pra aplicar aquele algoritmo que você acabou de ler no [inclua aqui seu blog de ML favorito]. Nessa palestra vamos mostrar como podemos usar o Luigi para automatizar fluxos e tomar mais sorvete.
Nesse palestra:
- Luigi, o segundo encanador mais famoso do mundo
- Luigi uma lib de fluxos de execução
- Fluxos de preprocessamento, treino e validação
- Estendendo classes básicas.
[Científica] Fazendo deploys de modelos em produção: chegou a hora do DataOps?
O aprendizado de máquina (machine learning) já faz parte do dia a dia de muitas corporações, mas na prática ainda existe uma lacuna muito grande entre o desenvolvimento de modelos e as práticas que os levam até produção. Alguns autores já citam a necessidade da existência da disciplina de DataOps como uma evolução do DevOps para o mundo de processamento de dados. Nesta talk vou contar um pouco sobre a minha experiência pessoal criando uma arquitetura de machine learning para produção.
A talk será estruturada em 3 partes:
Parte 1: introdução rápida ao tema machine learning
Parte 2: apresentação de uma arquitetura de machine learning em produção
Parte 3: uma visão sobre dataops como solução para a ligação entre os dois conceitos
![author photo](https://lh6.googleusercontent.com/-xu5MYX3ssjQ/AAAAAAAAAAI/AAAAAAAAAIc/uO4tAqV1-hg/photo.jpg)
[Científico] Análise de preços de passagens aéreas com Python
A partir de Julho de 2017, as companhias aéreas no Brasil passaram a cobrar o despacho de bagagens sob a premissa de que isso impediria aumentos no preço das passagens aéreas. Análises posteriores de órgãos com o IBGE, FGV e Abear apresentam resultados diferentes quanto ao comportamento das tarifas após a cobrança por bagagem: segundo a Abear, não houve aumento nos valores das passagens após essa cobrança; análises do IBGE e FGV, no entanto, apontam aumentos entre 16% e 35% nos meses posteriores à cobrança.
A ideia dessa palestra é apresentar como é possível usar os microdados disponibilizados pela Anac a fim de se tentar responder a essa pergunta e ilustrar um processo exploratório de análise de dados usando Python com Pandas e Matplotlib.
![author photo](https://lh3.googleusercontent.com/-YSxsdmiZUMU/AAAAAAAAAAI/AAAAAAAAAQY/Oc-uUqT4Oms/photo.jpg)
[Científico] Como Hackear a Biologia com Python
Nesta palestra, relatarei o uso do Python na bioinformática, área que une a Biologia com a Informática. Mostrarei programas desenvolvidos em Python que tem sido usados na área, bem como exemplos de códigos em python para análises simples de dados biológicos.
[Científico] Python + Machine Learning aplicado em Cyber-Segurança
Quer construir o seu próprio Next-Generation Firewall (NGFW) ?
Como analisar mais de 50 gigas de tráfego coletado ?
Nesta palestra eu vou apresentar algumas aplicações de Python e Machine Learning na área de Cyber-Segurança.
[Cloud] Configurações de aplicações distribuidas com etcd
ETCd é o banco de dados do Kubernetes, muito utilizado para gerir configurações, dados críticos e locks distribuidos, nesta palestra quero demonstrar como orquestrar aplicações em python distribuidas para usar o poder desta ferramenta.
CMS em Django! Wagtail!
Um CMS(Content Manager System) baseado em Django
Wagtail com facilidades indescritíveis para o desenvolvedor.
A idéia é apresentar as principais funcionalidades do Wagtail:
Introdução ao Wagtail
Instalando e melhores práticas
Definindo a estrutura de informação de um Site(models)
Apresentando as capacidades dos formulários automáticos
Organizando os templates
Internacinalização de conteúdo
Wagtail com Docker
Backups, scripts para manuteção e estratégias de atualuzações
Meu primeiro Site com Wagtail e Docker Rodando! :-)
Código mais claro com Python3 e Type Hints
Descubra porque uma especificação clara de tipos pode te ajudar. Você vai aprender o que são anotações de tipos, como utilizar e como podem te ajudar na legibilidade e manutenção do código.
![author photo](https://lh6.googleusercontent.com/-FUTkyZv8isw/AAAAAAAAAAI/AAAAAAAAAAc/aEPAiuI4Z4s/photo.jpg)
Como administrar uma infraestrutura que suporte 1.2 bilhões de inserções por dia
Os desafios técnicos, tecnológicos e gerenciais de administrar uma estrutura que suporte 1.2 bilhões de inserções por dia
Como aprender Python com a ajuda da comunidade
Palestra para o público iniciante, mostrando como uma comunidade forte e acolhedora pode nos ajudar a aprender qualquer linguagem de programação!
Como construimos o novo site de SciELO para atender mais de 20 milhões de page views por mês acessando conteúdo open access
SciELO é um projeto com 20 anos de atividade continua que disponibliza artigos científicos com licencia open access. Tendo instâncias em todos os paises de America Latina, Espanha, Portugal e Africa do Sul, recebe uma quantidade importante de acessos. Em pouco mais de 2 anos trabalhamos na reconstrução da principal interface contando desde novembro do ano passado com a primeira instalação (scielosp.org)
Neste projeto de recontrução do zero utilizamos Flask, Django, MongoDB, Postgres, Elasticsearch, Redis, APIs Rest e GRPC, tudo embrulhado com Docker, além de um conjunto de bibliotecas do ecossistema Python. Nosso código é open source, e agora queremos mostrar para vocês o que contruimos, como, as dificuldades, as vantagens e as lições aprendidas neste projeto.
Como ganhar dinheiro com software livre: Conhecendo Modelos de Negócios Bem Sucessidos
Várias empresas que optaram pelo liberar seu software como livre são bem sucedidas. O software livre não é só uma questão de filosofia. É uma questão de negócios. Vários modelos empresarias de sucesso mundial fizeram uma escolha pela liberdade do software colhendo ótimos resultados.
![author photo](https://lh6.googleusercontent.com/-FUTkyZv8isw/AAAAAAAAAAI/AAAAAAAAAAc/aEPAiuI4Z4s/photo.jpg)
Como garantir a segurança de dados críticos de empresas e governos
As técnicas e tecnologias que a startup brasileira que criou um banco de dados do zero, e atende grandes empresas e governos ao redor do mundo, utiliza para garantir a segurança de dados críticos.
![author photo](https://lh4.googleusercontent.com/-DgqU_scjSyM/AAAAAAAAAAI/AAAAAAAAHFs/fzH9p8pjJCo/photo.jpg)
Como melhorar o onboarding no seu time com uma DevCLI
Onboarding é a arte de integrar pessoas num time ou em uma organização. Isso envolve apresentar a pessoa recém chegada a vários aspectos do projeto. As tarefas iniciais dessa pessoa podem ser muitas: entender o contexto e a visão técnica ou arquitetura, conhecer as pessoas, saber horários e cerimônias. Mas, pra uma pessoa técnica – seja ela desenvolvedora ou analista de qualidade, é fundamental que o ambiente esteja redondinho em sua máquina para que ela possa entender e se adaptar à aplicação, ao código fonte e aos demais artefatos técnicos, antes de poder contribuir.
O setup de um ambiente envolve instalações e execução de comandos - muitos, muito frequentemente. É fácil se confundir com versões e achar que o ambiente está em conformidade com o dos demais. Ou até mesmo fazer coisas erradas por seguir uma documentação obsoleta.
Scripts são documentações executáveis. E uma DevCLI é uma interface de comando no terminal composta por diversos scripts visando fazer a vida das desenvolvedoras mais fácil.
O setup do ambiente é apenas uma das coisas em que uma DevCLI pode nos auxiliar. É notável o ganho de tempo de onboarding quando comparado com times que não usam essa técnica. Executar testes de regressão a cada mudança traz a confiança que a pessoa nova precisa de que ela não é responsável por inserir bugs e ela vai se sentir mais confortável em contribuir. Com uma DevCLI é possível ter um comando que execute todos os testes, verifique as dependências e instalações, e muito mais.
Apresentaremos um exemplo de uma DevCLI para que se possa entender como funciona, quais as diferenças de um comando completo e do mesmo numa interface de comando customizada; além de saber como criar uma DevCLI para tirar proveito dessa técnica ao aplicar em seus projetos!
(Por Camilla Crispim e Gabriel Bareto)
![author photo](/media/rob.jpg)
Como Programar seu Processo de Software
Todas as pessoas seguem um processo para programar, uma forma de organizar as atividades que lhe garante eficiência e boas soluções. Mas quando começamos a agrupar pessoas, fica extremamente mais difícil de encontrar um meio de acomodar todos os interesses e preferências individuais de como trabalhar. Para resolver esse problema, empresas comumente recorrem à métodos ágeis, o problema surge quando se adota uma metodologia única, sem alteração ou adaptação, esperando que ela resolva todos os problemas. Isso normalmente gera decepção e descarte da metodologia pois ela não serviu como bala de prata.
A verdade é que não existe uma bala de prata, é muito difícil de achar uma metodologia que se encaixe perfeitamente em todas as nuâncias de uma empresa. Por sorte, já existem pessoas discutindo como iterar sobre um método até que se chegue em resultados ótimos por uma abordagem mais bottom-up. Esse processo de iteração tem que se basear em algo, em princípios, e talvez os princípios do manifesto ágil devam ser atualizados. Uma das vertentes que defendem essa linha é chamada Modern Agile. A ideia é começar com experimentações de pequenas iterações de práticas para resolver problemas pontuais, para então validar sua eficiência e sedimentá-la com código ou ferramentas de software que garantem clareza para os desenvolvedores e formas incrementais de automatização de tarefas rotineiras.
Essa palestra se foca em como usar código para implementar princípios de Modern Agile em um processo de desenvolvimento que usam a stack Django.
Como uma modelagem de dados errada pode te dar dor de cabeça e outras lições sobre arquitetura de dados
Com a popularização dos ORMs tenho percebido que cada vez menos desenvolvedores tem prestado atenção no que muitas vezes é o coração da aplicação: o modelo de dados. Nessa palestra eu pretendo explorar algumas lições aprendidas até aqui sobre:
* Entendendo a sua aplicação antes de começar a codar
* Como NÃO modelar seus dados
* As implicações das suas escolhas através da vida da sua aplicação
* Problemas de evolução/escalabilidade, tanto de negócio quanto de infraestrutura e código
* Como resolver esses problemas
Computação Neuromórfica - dos achados da neurociência a uma nova forma de pensar a computação, usando python.
[Científico] Chegamos em um momento que estamos perto do limite da Lei de Moore, e as pesquisas para novos caminhos na computação estão cada vez mais efervecentes. Venha descobrir o que é a Computação Neuromórfica. Como ela afeta as nossas vidas, e o desenvolvimento social a partir dessa novo campo de pesquisa tecnológico. E os aspecto de Open Data e Open Science estão nesse contexto novo
Vamos responder questões de como saber python é imprescidivel nesse processo, quais bibliotecas já estão sendo utilizadas nesse processo todo.
[Comunidade] AfroPython - Representatividade e ativismo com tecnologia
Essa palestra abordará como surgiu o AfroPython, uma iniciativa que visa incluir e empoderar pessoas negras na área de tecnologia.
Por que um projeto como esse é necessário?
Qual a relevância dele?
Como isso impacta a vida das pessoas?
O que é ser protagonista?
Depois de uma oficina de programação em Novembro de 2017 e uma conferência de tecnologia em Maio de 2018, obtivemos muitos resultados e feedbacks positivos. Quero compartilhar com a comunidade a experiência de proporcionar às pessoas negras, que estão acostumadas a ser uma minoria na área, uma vivência em papéis de protagonistas. Além de refletir sobre a importância dos aliados, pessoas que não são negras mas apoiam o movimento, para o sucesso de atividades como o AfroPython.
Apesar de no Brasil 53% da população ser negra, os únicos lugares onde essa comunidade é uma estatística proporcional são em locais marginalizados. Entre eles estão os encarcerados, vítimas de assassinatos envolvendo policiais e posições de subempregos.
Idioma: Português
[Comunidade] Como (e por quê) compartilhar seu código com a comunidade? - Uma introdução prática com o PyPI
A comunidade Python é um dos maiores bens que a linguagem conquistou. Com milhões de pythonistas por aí, temos um grande número de pessoas dispostas a ajudar uma a outra e construir um melhor espaço de conhecimento pela Internet.
Em uma defesa aberta do software livre e do código aberto, pretendo trazer argumentos e, se possível, criar um ambiente de discussão a respeito do porquê devemos estar abertos a compartilhar o código que a gente produz com a comunidade. Junto com isso, veremos o passo a passo (com boas práticas!) de enviar um pacote Python para o PyPI (o grandioso pip) - o maior repositório de pacotes Python que temos.
Venha fazer parte ativamente desse mundo!
[Comunidade] [Educacao] print("Você já ensinou Python para uma pessoa hoje?")
Nesta palestra irei falar da relação do meu Projeto Poesia Compilada com a comunidade Python e como isso está contribuindo para levar Python até crianças do interior do RN.
Comunidade e fazer dinheiro, é possível a convivência?
Comunidade e fazer dinheiro, é possível a convivência? Essa pergunta vem martelando minha cabeça a muito tempo e gostaria de propor um bate papo sobre as atividades que acontecem na comunidade Python, tanto as feitas por voluntários quanto aos negócios que de desenrolam e saber se é possível que os dois coexistam. Quais os limites? Quais os perigos? Quais as implicações entre as relações entre os membros? O que acha quem é contra fazer dinheiro junto à comunidade? O que acha quem é favor?
Participe e contribua com a discussão ;)
[Comunidade] Experiências lúdicas na comunidade Python
...aprendendo, construindo e formando valores.
A comunidade Python teve um papel fundamental na minha formação como profissional.
Nessa palestra, analiso quais são os processos que a comunidade tem a oferecer para iniciantes e programadores já experientes. Essas são formas de compartilhamento de conhecimento diferente das que achamos em processos da educação formal?
A idéia é apresentar os métodos que utilizamos no dia a dia e nos eventos para compartilhar conhecimento como Coding Dojo, Lightning Talks, Open Spaces e outras novas propostas de aprendizado lúdico dentro da nossa comunidade.
Além disso, há um questionamento: Essas atividades são capazes de formar e consolidar os valores que compartilhamos?
![author photo](/media/rob_DnOw5hy.jpg)
[Comunidade] Hacktivistas: a história de grandes figuras femininas na área da segurança (que você nunca ouviu falar)
Quando pensamos na história de grandes figuras de segurança da informação, raramente pensamos em figuras femininas. Nossas primeiras referências geralmente são o Kevin Mitnick, Captain Crunch, McAfee, o pessoal do LulzSec ou alguém como o Aaron Swartz.
Mas, onde estão as mulheres nessa história? Será que realmente não haviam mulheres em cenários de ativismo/hacking durante toda a ascenção da internet?
Essa palestra visa apresentar alguns nomes super bacanas de hackers/hacktivistas mulheres; o legado histórico e sua participação em momentos importantes para a tecnologia - além de mostrar o cenário atual, com mulheres que hoje em dia dominam a área de segurança pelo mundo (e pelo nosso Brasilzão :D)
Queremos inspirar mais meninas a conhecer a história de figuras femininas dentro da segurança, e entrar para a área também. Bora lá! :)
![author photo](https://lh6.googleusercontent.com/-RHDNalvXXPc/AAAAAAAAAAI/AAAAAAAADdw/P_FrNlhvGiM/photo.jpg)
[Comunidade] ProPython - Construindo a comunidade Python local do zero
O projeto de extensão ProPython tem já mais de seis meses de ações, dentre elas listam-se o apoio à formação da célula local do PyLadies, cursos de apoio em escolas estaduais locais, bem como produção de material a nível técnico e superior para as disciplinas de introdução a programação e afins. Alguns discentes maratonistas que costumavam concorrer utilizando C e C++ tem agora se sentido bem mais a vontade utilizando esta bela linguagem.
O intuito da palestra é socializar as ações realizadas e, principalmente, os desafios encontrados e como contorná-los.
[comunidade] Recebendo propostas de emprego toda semana através da sua lista de networking.
Você programador, seja em Python ou não. Você é um produto, você é uma empresa, ou seja, precisa ser divulgado precisa ser bem falado e ser um exemplo na empresa, sala de aula, ou onde estiver.
Nessa palestra irei apresentar a estratégia de networking que fiz para obter até 2 propostas de empresas, indicações de amigos e até mesmo chamar para ser um sócio em um projeto.
Veja alguns tópicos
- Comunidade;
- Comunicação;
- Ajudar (e ajudar muito o próximo);
- Ser referência;
- Com quem se relacionar;
Entre outros que podemos discutir no decorrer da palestra.
Corrotinas e Concorrência
Como as linguagens de alto nível aprenderam a utilizar o SO em benefício próprio. Esse talk tem como objetivo mostrar e apontar o funcionamento de alguns processos internos do sistema operacional, tais quais: processos, threads, context-switching etc. E como as linguagens de alto nível. como python, aprenderam a se beneficiar dessas operações e processos para aumentar a performance em tempo de execução. Mostrarei alguns conceitos e internas de como coroutine funciona internamente, além de alguns exemplos práticos de melhora em termos de performance que isso trouxe à linguagem.
![author photo](/media/allisson.jpeg)
Criando clients inteligentes com o simple-rest-client
Aprenda (com exemplos práticos) a criar clients que suportam programação assíncrona e síncrona usando a lib simple-rest-client.
Criando e melhorando seu marketing pessoal e virtual
No mundo competitivo de hoje é importante se destacar. Mas como fazer? Existem plataformas virtuais, técnicas e atitudes que podem ser usadas para se evidenciar.
Criando uma esteira de entrega continua com Python + Ansible + Jenkins e Openshift
[DevOps]
Em empresas com processos definidos por um comitê de segurança e supervisionada por um órgão regulador federal, as vezes não é possível fazer o deploy dos sistemas de forma 100% automatizada. Porém é possível automatizar os processos manuais e deixar somente a parte de aprovação do ambiente para os analistas/gestores.
Nessa palestra será demonstrado um dos casos para deploy de aplicações com linguagem JAVA em um banco público. Utilizando Python como frontend para um Dashboard de controle e ansible como orquestrador do deploy das aplicações, integrando o pipeline com Jenkins com o Openshift Origin.
O projeto foi solicitado por um banco publico, para auxiliar na criação de uma esteira de entrega contínua, foi solicitado a utilização do ansible com o Jenkins para padronizar a forma de criação dos containers.
Foi criado um dashboard para acompanhar o pipeline, esse dashboard integra com o Gitlab, Jenkins e Openshift. Ele é utilizado para cadastrar e executar as build dos projetos, assim como é utilizado para fazer a promoção entre os ambientes de DEV, Teste de Qualidade, Homologação e Produção. Fazendo o deploy das versões de forma acumulativa, para em caso de falha na versão o chaveamento possa ser realizado de forma simples e rápida, também é possível criar um balanceamento entre as versões da aplicação, criando assim um deploy do tipo A/B.
[CUDA][HPC] Python Anabolizado: Acelerando Soluções Utilizando GPU
O desenvolvimento de soluções aceleradas por computação em GPU tem revolucionado o mercado de tecnologia nos últimos anos.
Esta abordagem não é aplicada somente em soluções de inteligência artificial (passando por visão computacional, processamento de linguagens naturais, carros autônomos e outras coisas legais), mas também em computação científica e de alto desempenho.
Porém, para pequenas e médias empresas, incluindo startups, o custo para prototipagem de soluções acaba sendo elevado devido aos recursos exigidos (de hardware a conhecimento em linguagens como Java e C++).
Nesta palestra discutiremos como podemos unir a flexibilidade e rápido desenvolvimento utilizando a linguagem python com o poder e a performance oferecido pela utilização de GPU para processamento específico.
Para alcançar este objetivo a idéia é seguir este plano:
a) uma rápida introdução de programação com GPU - conceitos e características
b) introduzir módulos python que permitam a utilização de GPU - especialmente ficando em PyCUDA, Numba, cupy e scikit-cuda
c) incluir características, vantagens e utilização de cada um dos módulos citados, salientando o mínimo aumento de complexidade do código
d) Mostrar comparativos de códigos com o mesmo objetivo técnico, com e sem utilização de GPU
e) Mostrar como prototipar soluções de python com GPU utilizando a cloud ao invés de adquirir recursos de hardware.
Da requisição à resposta - Como o Django processa uma requisição
Eu sempre me perguntava: como o Django responde uma requisição?
Minha resposta veio quando comecei pesquisar mais a fundo sobre o que exatamente fazia com que o django fosse mais lento do que, por exemplo, o API Star ou o Sanic.
Pretendo abordar todos os passos em que o django nos permite, de forma não invasiva, manipular o fluxo de resposta:
- WSGI;
- middlewares;
- views;
- context processors;
- detalhes de implementação.
Database as a Service com python na globo.com
Venha descobrir como python mantém mais de 800 bancos de dados rodando na cloud da Globo.com
DBaaS é um projeto open-source que possui features como:
- Deploy de novas infras
- Escalibilidade Vertical e Horizontal
- Upgrades de versão
- Backup/Restore
- Clone
- Maintenance
- Alarmes
- ...
Respeitando os conceitos de cloud, como: alta disponibilidade, desempenho, escalabilidade, segurança etc etc...
Atualmente suporta MongoDB, Redis e MySQL (Queremos adicionar, não sei,talvez todos os outros?)
Prentendo explorar a arquitetura desse projeto, features, compartivo com concorrentes, exemplos de uso real e futuro.
![author photo](/media/my_photo.jpg)
[Data Science] [Científico] Case Recommender: Fazendo recomendação em Python
Que tal falar sobre recomendação?
Os sistemas de recomendação são uma subárea de recuperação de informação (do inglês, Information Retrival) que tem por objetivo fazer novas sugestões personalizadas que possam vir a ser de interesse do usuário, com base nos seus feedback (sejam implícitos ou explícitos) ou nas escolhas feitas por outros usuários com gostos similares. Bons sistemas de recomendação podem aumentar as vendas/acessos em vários pontos percentuais. É por isso que eles se tornaram um recurso essencial para lojas e serviços online e têm sido uma área bastante procurada no mercado. Devido a esta necessidade de conquista, a personalização tem se apresentado como um fator facilitador no momento de "cativar" o usuário.
Ao navegar por sites como Amazon, Facebook e Americanas você já se deparou com frases como “Quem viu este produto, viu também…”, “Clientes que compraram este item também compraram…” e “Porque você comprou este produto…” ? Ou quem sabe, ao assistir um filme ou ouvir uma música no Netflix/Spotify, encontrou, dentre as sugestões, alguma outra produção que se encaixava direitinho com seu gosto? Esta palestra dará uma visão geral sobre os sistemas de recomendação utilizados nas tarefas de personalização, assim como ferramentas e bibliotecas que podem auxiliar os desenvolvedores a implementar esses sistemas em Python. Serão apresentadas diversas bases de dados públicas reais, scripts e algoritmos em Python, para gerar e avaliar a recomendação, além dos principais problemas que surgem durante a implementação de um recomendador. A fim de facilitar a aprendizagem e a compreensão do conceito, esta palestra irá se utilizar do framework Case Recommender: uma ferramenta implementada em Python, que possui uma série de populares algoritmos de recomendação, tanto para feedback implícito quanto explícito, em diferentes abordagens baseadas nos principais tipos de recomendação, sendo eles previsão de notas e ranking.
Serão abordados, ainda, conceitos de Aprendizado de Máquina e Inteligência Artificial, como Cross Validation, KNN, SVD, métricas de similaridade, entre outros, utilizando as bibliotecas numpy, scipy e sklearn do Python. Assim, serão apresentados os principais conceitos e estratégias que os sistemas de recomendação utilizam para transformar dados em informação personalizada altamente poderosa.
![author photo](https://lh3.googleusercontent.com/-HY8F6k6SdGI/AAAAAAAAAAI/AAAAAAAACLs/5E769cRQmtI/photo.jpg)
[Data] Sistemas de Recomendação: From Zero to Hero
Um overview sobre o papel da recomendação no cenário atual e como isso se reflete nos negócios de empresas como Netflix e Amazon, assim como os elementos que compõem um sistema de recomendação e por onde começar a estudar sobre o assunto e a implementar um sistema básico.
Tópicos abordados:
1. O que e pra que recomendação?
2. Importância da recomendação;
3. Etapas da Recomendação;
4. Algoritmos de Recomendação;
5. Cálculos de Distância;
6. Exemplo de Filtro Colaborativo;
[Desempenho] Reutilizando código C no Python com CFFI
Desde as primeiras aulas de ciência no primário somos ensinados a não reinventar a roda. E esse ensinamento é repetido muitas vezes na nossa formação como desenvolvedores.
Se você ainda acha que só dá para utilizar rodas feitas em python para construir coisas em python, cola junto, pois veremos que dá para utilizar muito mais.
Nessa palestra nós vamos discutir como mapear bibliotecas escritas em C módulos Python, para que possamos continuar programando em Python forever and ever!
![author photo](/media/out.jpg)
Desenhando Doideras com Python
Nessa palestra pretendo apresentar o modo Python do Processing. Pretendo falar sobre dois conceitos para a criação de objetos digitais - Maze builders e Perlin noise - mostrando como utilizá-los de uma maneira simples e pythônica.
Processing é uma linguagem de programação de código aberto e ambiente de desenvolvimento integrado (IDE), construído para as artes eletrônicas e comunidades de projetos visuais com o objetivo de ensinar noções básicas de programação de computador em um contexto visual e muito utilizado por artistas para gerar obras digitais.
Desenvolvimento de Jogos com PyGame
Aprenda conceitos e comandos básicos para criar seu game multiplataforma com a biblioteca PyGame, conhecendo funcionalidades que incluem o mecanismo de renderização para gráficos 2D ou 3D, um mecanismo de detecção de colisão, suporte a sons, uma linguagem de script, suporte à animação e etc.
![author photo](/media/foto.jpg)
Desenvolvimento de Módulos Ansible
Módulos são o core do funcionamento do Ansible - as "baterias inclusas" da ferramenta - e aprender a desenvolvê-los não apenas ajudará a expandir seu potencial como aumentará consideravelmente sua capacidade de entender o seu funcionamento.
Quando devo desenvolver um novo módulo? Quais as opções para expandir o funcionamento da ferramenta? Quais princípios de Infraestrutura como Código módulos ajudam a seguir?
Está palestra abordará um case com um passo a passo para criação de um módulo, do desenvolvimento ao testes.
[Devop][Container] ASGARD: Abstraindo orquestradores de containers
Pontos principais:
1. Apresentar a arquitetura do ASGARD, a plataforma desenvolvida para abstrair o orquestrador Marathon;
2. Como o ASGARD ajudou nossos times de desenvolvimento a sair de um esforço de horas para minutos no deploy;
3. Como o desenvolvimento do projeto ASGARD contribui para a evolução do Projeto open-source Marathon UI.
Resumo:
O ASGARD é uma plataforma open-source que foi desenvolvida para abstrair, inicialmente, o orquestrador Marathon. Ela tem como benefícios simplificar o deploy das aplicações, pelos times de devs, uma vez que eles podem abstrair a existência do orquestrador, focando 100% na aplicação que está sendo desenvolvida;
Essa plataforma adiciona funcionalidades como autenticação, isolamento para múltiplos times (multi tenant) e permissionamento (implementação futura).
Nesta palestra será apresentado o motivacional que levou ao desenvolvimento do ASGARD; o antes-e-depois das equipes que hoje utilizam o ASGARD; a arquitetura do ASGARD e como ela pode se tornar um multiorquestrador no futuro.
![author photo](/media/eu_oOvsMBx.jpg)
De zero a dev em 3 meses
Nesta palestra vou traçar um breve histórico do que fez me levar a pensar em seguir a carreira de desenvolvedor, e mostrar como utilizei o python nesse processo.
Vou mostrar: como o LinkedIn pode te dar feedbacks que outros sites de vagas não disponibilizam,
Como seu perfil pode ser mais atrativo para os RHs, e também,
Como a combinação LinkedIn + Python, pode acelerar sua relocação no mercado de trabalho, através da automatização do processo de busca de vagas.
Django+ : Do modelo de domínio às nuvens
Já pensou em criar um sistema web especificando basicamente o modelo de domínio? Pois bem! Essa é a proposta do Django+, uma extensão do framework Django que possibilita o desenvolvimento de sistemas de informações gerenciais (SIGs) com foco no modelo de domínio. Através da definição de alguns meta-dados e utilização de decoradores (decorators) nas classes de modelo, é possível gerar em tempo de execução aplicações web completamente funcionais, responsivas e de fácil utilização.
Além da aplicação propriamente dita, o framework é capaz de gerar a documentação do sistema contendo um fluxograma, diagramas de classes e especificações de caso de uso. Com base no fluxograma, é possível gerar o código do caminho feliz (happy path) dos testes automatizados, os quais são executados com Selenium. Com um único comando é possível implantar a aplicação em serviços de hospedagem nas nuvens como Digital Ocean, por exemplo.
Enfim, com o Django+ você escreverá menos, terá pouco código para manter, além de um sistema documentado e testado.
Vote nessa proposta e entenda melhor como tudo isso acontece.
Nos encontramos em outubro na Cidade do Sol. =)
Apesar da previsão do lançamento de uma nova versão até o início do evento, curiosos em saber um pouco mais sobre o projeto, podem acessar os seguintes links:
http://djangoplus.net/ (site do projeto)
https://github.com/brenokcc/djangoplus (repositório do projeto)
https://pypi.org/project/djangoplus/ (releases)
![author photo](https://lh3.googleusercontent.com/-uF4ynBjbtPU/AAAAAAAAAAI/AAAAAAAAACI/RE0X4gGmbQk/photo.jpg)
Django Querysets: Avançado
Nesta talk vamos ter a oportunidade de ler o codigo fonte do Django juntos e atraves de exemplos vamos entender como Querysets no django funcionam por dentro. A proposta desta Talk e uma interacao em que vamos partir de problemas para adentrar o codigo do django e entender como as Querysets realmente funcionam. Entre os assuntos abordados estao cache, non queryset metodos e aninhamento de querysets.
![author photo](https://lh5.googleusercontent.com/-3xXWVtU7SEo/AAAAAAAAAAI/AAAAAAAAUXU/k1ptQP6ooug/photo.jpg)
Docker + Python - Artefatos Imutáveis
Vamos falar de boas práticas usando Docker para criar artefatos imutáveis de aplicações Python, falaremos de Docker MultiStage e vai rolar várias builds de aplicações flask, django, vamos brincar com Docker Compose subindo aplicações completas (Database/Queues/Web).
![author photo](https://lh4.googleusercontent.com/-SrFYLrqQAGw/AAAAAAAAAAI/AAAAAAAAPjg/kPqVlVBxN84/photo.jpg)
Do MVP ao Unicórnio, tudo que não te contaram sobre Startups [Carreira]
- Modelo de gestão de Startups;
- Armadilhas em vagas de emprego;
- Casos de sucesso e de falha;
- Rodadas de investimento e IPO;
- Stock options;
- Evaluation.
Do REST ao GraphQL com Python
Aberto para a comunidade em 2015, o GraphQL surgiu como uma alternativa poderosa, eficiente e bem documentada para construção de API’s. Foi desenvolvida e utilizada pelo Facebook por mais de 3 anos antes de sua publicação.
Nessa palestra abordaremos os fundamentos da especificação, as principais diferenças com o REST e como desenvolver uma API GraphQL utilizando python.
[Educação] Pensamento Computacional com Blocos e Python
A palestra relata a experiência do ensino de Algoritmos para alunos na faixa de 14 a 17 anos. Os alunos são apresentados ao Pensamento Computacional, um conhecimento necessário nos dias atuais até mesmo para quem não quer seguir na área da Computação.
O estudo de Algoritmos já iniciando com o Portugol ou mesmo com uma linguagem de programação já é comprovado que gera uma evasão relevante na escola. Muitos alunos se assustam com a mudança de paradigma, pois os mesmo não estavam acostumados com o pensamento computacional. Assim, nos meus 11 anos de experiência como professor, conheci as teorias do pensamento computacional e ao aplicar em sala de aula percebi na prática o maior interesse dos alunos.
Na palestra irei abordar os conceitos do pensamento computacional, a computação desplugada, o uso do Code.org, do Scratch e da linguagem Python, e como esses assuntos são trabalhados em sala de aula para atingir o êxito na aprendizagem de Algoritmos.
[Embarcados] Robótica com Python: Caso Robolt-0
Robolt-0 é uma plataforma robótica projetada para ser usada em diferentes aplicações, a principal delas: o ensino de robótica e programação através da montagem do hardware e criação de aplicativos de controle e monitoramento do robô. Pode ser empregado, ainda, em testes de inteligência artificial, facilitando a coleta e análise de dados ao prover uma arquitetura genérica e bem definida. Ele é extensível, permitindo que novos componentes possam ser adicionados facilmente, e open-source, possibilitando sua evolução e facilitando a padronização, além do intercâmbio de aplicações. E o melhor: tanto a modelagem gráfica da estrutura quanto seu código base foram feitos em Python!
[empreendedorismo] Como empreender com Python - Como um programador pode abrir seu próprio negócio.
A cada evento do Python Brasil, sai ano e entra ano. O que venho percebendo em comum na comunidade é o programador Python empreedendo, ou seja, criando um produto, ensinando Python, até mesmo entrando como sócio já em um projeto pronto.
Nesses poucos minutos irei demonstrar os caminhos para empreender com Python e até mesmo outras linguagens. Como seu o seu próprio patrão, fazer seus horários (se já não faz rs) e ganhar 6 ou mais digitos na conta :)
Essa paixão em empreender com o khow-how de desenvolvedor, após 8 anos desenvolvendo, estudando e participando de eventos Python, comecei a empreender. Quando comecei a estudar sobre empreender, montar o meu próprio negócio, a facilidade em compreender e a profundar no assunto foi o conhecimento em processos, em detalhes, bastante leitura, esse é o know-how de um programador.
O Programador tem uma imensa capacidade de empreender, pois ele pensa diferente, ele pensa fora da caixa, tem uma forte capacidade de mudar, replanejar. Com isso abordarei os pontos fortes de um bom programador para empreender. Também ferramentas de marketing estratégico, canvas entre outras para te ajudar a montar seu negócio.
Emulação de processador: primeiros passos para emular um NES em Python
O poder de processamento que temos em mãos hoje é algo impensável 30 anos atrás. Hoje podemos emular em software processadores que se destacaram no mercado por turbinar máquinas como o MSX (processador Z80) e o NIntendo Entertainment System, o NES (processador 6502). Existe algo mais divertido que aprender como esses processadores funcionam, escrever software que emule seu comportamento e de brinde ainda brincar com jogos famosos no seu próprio emulador?
Nesta palestra vamos abordar a arquitetura e o conjunto de instruções do processador 6502, a construção de um emulador para ele e explorar o formato iNES de ROMs para o NES.
[English] Git for the Brave - Rebase
You are a programmer joining a new team and starts studying the Pull Requests and merges between Git's branches: your first reaction is astonishment: "When and where does this feature begin?! Where and when it ends?!" In a world where there is only merge, chaos is the only possible scenario.
In this presentation, we will talk about Git Rebase: a powerful (and quite controversial) tool for maintaining the history of Git commits and how it can help us on a day to day basis.
We're going to take an exploratory tour of the tool and get rid of some of the myths and fears and see the benefits of using Rebase.
![author photo](/media/58766741a160a_normal.jpg)
Entenda Blockchain construindo uma
Entenda o conceito e funcionamento da Blockchain, construindo sua própria blockchain, usando conceitos como o Proof of Work.
Envie e Esqueça . Messaging 101
Como criar serviços espalhados pelo mundo, distribuídos em múltiplos servidores, com alta escalabilidade, resilientes, seguros?
Esta apresentação contará um breve histórico da evolução técnica e fatoração de sistemas web, e como conceitos básicos de troca de mensagens podem auxiliar na abordagem de problemas comuns em relação a escala, resiliência, transparência operacional, distribuição de módulos pequenos, coesos e desacoplados, dentre outras questões relacionadas a este modelo operacional.
Escrevendo código flexivel com Design Patterns
Design Patterns (padrões de design) são arquiteturas genéricas de código que podem ser aplicadas na solução de diversos problemas. Eles foram inicialmente introduzidos pelo livro "Design Patterns: Elements of Reusable Object-Oriented Software" mas continuamos descobrindo novos até hoje. Esses padrões são formas tão boas de se estruturar código que alguns deles já vêm embutidos no Python, como o por exemplo o iterator.
Alguns dos melhores exemplos de aplicação de Design Patterns estão em bibliotecas open source. Estas bibliotecas se utilizam destes padrões para dar flexibilidade e facilidade de integração para os programadores. A biblioteca Python-Social-Auth (PSA) é um ótimo exemplo disso, ela permite integração com um grande número de provedores de autenticação ao mesmo tempo que funciona com os frameworks Django, Flask, Tornado e Pyramid e sabe lidar com os protocolos OAuth1, OAuth2, OpenID e SAML. Isto só é possível por que a PSA foi totalmente construida com base em Design Patterns.
Nesta talk vamos introduzir o que são Design Patterns e destrinchar mais sobre 3 dos mais populares: Adapter, Strategy e Collection Pipeline. Iremos dar exemplos de como aplicar esses padrões em situações reais, mostrar como eles podem melhorar a qualidade do seu código e mostrar como a PSA e outras bibliotecas se utilizam deles.
Executando Tarefas assíncronas no Django usando Celery
O Celery é uma fila de tarefas assíncrona, implementada em python, com base na passagem de mensagens distribuídas. Seu foco são operações em tempo real, mas também oferece suporte ao agendamento.
Nessa palestra irei explicar a diferença entre Aplicações Síncronas e Assincronas e seus prós e contras. Em seguida irei criar uma aplicação Django a partir de uma questão problema que deve ser resolvida de forma assincrona. Dessa forma, farei uso do Celery (explicando desde como configurar até a criação e execução das tasks) para resolver esse problema.
Fazendo interfaces em modo texto com Python e urwid
Se você também passa bastante tempo usando um terminal em modo texto, não diria que faz sentido aprender a programar para esse ambiente?
Apesar de não serem populares como as GUIs, as interfaces de modo texto (TUIs) são rápidas, práticas e o principal: muito divertidas de trabalhar com elas!
Nesta palestra você vai conferir como pode usar Python e a biblioteca urwid para escrever aplicações elegantes usando uma interface modo texto.
Vou mostrar alguns apps que fiz, compartilhar algumas soluções para problemas comuns e truques que aprendi ao long do caminho.
Cabe uma leve advertência: programar esse tipo de coisa não dá dinheiro e diverte tanto que pode levar ao vício!!
Física e Python, uma relação simples e prática!
Como co-organizadora da PyLadies Teresina aprendi que o Python é uma forte ferramenta para qualquer programador(a) e muito mais que uma ferramenta para a Comunidade, é o mantra máximo de que PESSOAS > TECNOLOGIA. Como estudante de física identifiquei e uso o Python no meu dia a dia acadêmico. Nessa palestra trarei aplicações do Python na Física Aplicada e no Ensino de Física, mostrando como o bom uso de uma linguagem poderosa é vantajoso e incrível, tornando práticos os processos experimentais, estimulando a compreensão matemática de fenômenos físicos e a multidisciplinaridade entre Programação e Física.
[Funcional] Programação Funcional no Python (e porque nosso BDFL não é o maior fã)
Nessa palestra, conheceremos um pouco do paradigma funcional de programação, com foco nas principais ferramentas de programação funcional que o Python sustenta, como expressões lambda, o map(), o filter(), o reduce() e até as compreensões de lista. Conhecendo esse novo universo, tentaremos entender o porquê do Python não avançar no suporte a esse paradigma e o porquê de Guido van Rossum, o BDFL do Python, se posiciona contra a inclusão de tudo isso na linguagem.
![author photo](https://lh3.googleusercontent.com/-3E1zNcGxh_U/AAAAAAAAAAI/AAAAAAAABxM/W7j09iRXdMw/photo.jpg)
[GERAL] Vamos falar de código Python?
Que tal falar de Python? Nada melhor que uma Python Brasil para falar de... Python, não é mesmo? Todos aqui gostamos dessa belíssima linguagem, nos apaixonamos, trabalhamos duro e nos divertimos todos os dias.
Mostrarei vários códigos Python belíssimos, em diversos contextos, para que possamos apreciar, aprender, compartilhar e também dar algumas risadas. Além disso, falarei também sobre boas práticas, como escrever um código legível e que facilite a manutenção, mostrarei péssimas práticas e falarei um pouco sobre como utilizar de seus próprios erros e do seu time para evoluir mais rapidamente.
Git para corajosos - Rebase
Você é um desenvolvedor, entra em um novo time e começa a estudar o fluxo de Pull Requests e Merges entre Branches do Git: a primeira reação é de espanto: "Quando e onde começa e termina esta feature?!". Em um mundo onde só existe o Merge, esse é o único cenário conhecido.
Nesta apresentação eu conto sobre o Git Rebase: uma poderosa (e bastante polêmica) ferramenta para manutenção do histórico de commits do Git e como ela pode nos ajudar no dia a dia.
Nós vamos fazer uma viagem exploratória na ferramenta e com isso acabar com alguns dos mitos e medos e observar as vantagens em utilizar o Rebase.
![author photo](https://lh4.googleusercontent.com/-K_ee0t5eg7g/AAAAAAAAAAI/AAAAAAAAAXw/zXLmH-Cus0w/photo.jpg)
Git: Revisionismo histórico (ou como manter seus Pull Requests limpinhos)
A massacrante maioria dos projetos Open Source tem seus repositórios de código em Git, e projetos Open Source em Python não são exceção.
E como participação em projetos Open Source é uma das melhores maneiras de dar um impulso na carreira, nessa palestra vamos falar sobre:
- como reescrever a história de um branch em git de forma a manter o histórico limpo,
- com "commits" cujas mensagens correspondam ao conteúdo
- e que ajudem as pessoas do futuro (inclusive você) a entender o que aconteu com o código, e por que, ao olhar o histórico do git.
Nessa palestra vamos aprender a:
- Escrever mensagens de commit com as "melhores práticas"
- Adicionar, eliminar e trocar commits de ordem no histórico do git
- Desenvolver código sem se preocupar com nada disso
- E limpar a bagunça depois
Go e Python lado a lado
Sim, eu continuo adorando Python e amando a nossa comunidade!
Mas Go é muito legal, e surpreendentemente Pythonica! Há que diga até que Go segue o Zen do Python mais de perto!!! Eu discordo, mas mesmo assim vale a pena conhecer essa linguagem que tem fortes influências de Python e de outras linguagens, como Pascal e Modula 2, que influenciaram fortemente o design de Python também. Há muitos motivos para gostar de Go, mas os dois principais para mim são coisas que em Go é fácil fazer, mas em Python é uma encrenca:
* Gerar binários executáveis fáceis de distribuir.
* Fazer progragramas de alto desempenho que usam todos os núcleos da CPU para atacar problemas computacionalmente pesados.
Nessa palestra eu vou mostrar exemplos de código Python e Go lado a lado para você notar a diferença, as vantagens, e desvantagens de cada uma.
Informação Salva: Python ajudando a entender um problema silencioso de saúde pública no Brasil e no mundo, o Suicídio.
Segundo a OMS (Organização Mundial de Saúde), a prevenção de qualquer doença, morbidade ou patologia só é possível com informação. Cerca 90% dos casos de suicídio podem ser prevenidos, pois estão associado a psicópatologias como: depressão, transtorno bipolar, ansiedade, síndrome do pânico, que são diagnosticáveis.
Na palestra em questão toda parte de captura, conversão e análise dos dados é feita em Python, baseados em dados abertos. Será apresentado através da análise dos dados um panorama geral do suícidio no Brasil e no mundo, como podemos quebrar esse tabu e combater esse problema de saúde pública mundial.
[Iniciante] [Análise de Dados] Explorando o Petróleo: Uma análise exploratória dos dados públicos da ANP.
O que acha de ter uma visão introdutória de Análise Exploratória de Dados (AED) com bibliotecas Python amigáveis e, ainda por cima, com aplicação diretamente na indústria?!
O que você irá ver e para quem é:
Nesta palestra, mostrarei de forma suscinta ferramentas bastante poderosas de análise de dados com Python, porém de simples utilização, tais como as bibliotecas Pandas e Geopandas, além de manusear a biblioteca Folium (isso mesmo, você verá como se faz mapas interativos em Python com umas 3 linhas de código)! A palestra é de caráter expositório e introdutório, sendo apenas necessário conhecimento geral básico de Python. Portanto, se você nunca viu nada do que eu disser nessa proposta, não se preocupe, ela te serve perfeitamente.
Sabe o que é o melhor de tudo isso?
Será aplicado em bases de dados da indústria, especificamente em dados públicos da Agência Nacional do Petróleo, Gás Natural e Biocombustíveis (ANP). Iremos aprender onde se produz mais, em que local há mais poços de petróleo e quem detém a maior quantidade deles. Tudo isso feito de forma acessível, avaliado diretamente num mapa interativo! E vamos utilizar, basicamente, apenas as bibliotecas Pandas, Geopandas e Folium para isso.
Resumidamente e recapitulando:
Com esta palestra, você será exposto à uma introdução à Análise Exploratória de Dados, além de entrar em contato com ferramentas de Georreferenciamento e tratamente de arquivos correlatos em Python. Tudo isso aplicado em uma base de dados da indústria. Quem sabe não te dê um spoiler do que você precisará no seu futuro emprego?!
[iniciante] Aprendendo a ensinar - Ensinar é a arte de estar sempre aprendendo.
Todo ano, toda empresa, todo código, todo mês, toda classe, todo dia, todo aluno, todo algoritimo, tudo muda o tempo todo.
E se não mudarmos também, se não acompanharmos as mudanças e nos inserirmos nelas, o mundo nos mudará assim mesmo e nos tornará ultrapassados e obsoletos. É nesse mundo sempre novo e diferente, onde os problemas já não podem ser apenas obstáculos a nos deterem, mas antes de tudo desafios a serem superados, em que ensinar passa a ser uma arte: a arte de estar sempre aprendendo.
![author photo](/media/perfil-1024-1024.jpg)
[Iniciante] Django em 30 minutos
Nessa palestrar irei mostrar como configurar uma aplicação django em pouco tempo e fazer o deploy no heroku.
[iniciante] O melhor programador Python é aquele que melhor ensina Python
Você sabe Python ? E ensinar Python, sabe ?
Sabemos o quão poderoso é nosso Python, e quão vem crescendo interessados em aprender essa linguagem. Mas sabemos como ensinar? Pra quem ensinar ? E o que ensinar ?.
Respondendo essas perguntas, mostrarei através de uma pesquisa com vários programadores Python, estatísticas em relação ao público que quer aprender Python e que sabem Python. Onde nasce o interesse em Programar em Python. Porque ainda existe pessoas que começam estudar Python e desiste ?
[Iniciantes][Análise de dados] Análise de dados com Pandas e Jupyter Notebook
O Jupyter Notebook é um ambiente web que permite a criação e compartilhamento de diversos tipos de documentos, chamados Notebooks. Um Jupyter Notebook pode conter imagens, textos, gráficos e até mesmo equações. Estes documentos representam o resultado de um cálculo computacional completo e que pode ser exportado para vários formatos.
O Pandas, por sua vez, é uma biblioteca Python para manipulação e análise de dados, focada em tabelas numéricas e séries temporais.
Nessa palestra demostrarei como analisar, manipular e plotar séries de dados utilizando a biblioteca Pandas, e então compartilhar os resultados em um Jupyter Notebook.
[Iniciantes][DevOps] Automatizando serviços na AWS com Python
A configuração manual de infraestrutura, além de ser repetitiva, muitas vezes pode levar a erros. Nestes casos a solução é a automatização através da criação de scripts que façam essa configuração, e que possam ser executados quantas vezes forem necessários. Dessa maneira a infraestrutura pode ser definida como código (Infrastructure as code), aumentando a segurança e eficiência ao realizar mudanças na stack.
No Python temos a biblioteca Boto 3 que permite a manipulação de serviços da AWS, como o S3 e o EC2. A biblioteca disponibiliza uma API extensa e fácil de usar, sendo amplamente utilizada por desenvolvedores Python.
Nessa palestra mostrarei como criar scripts Python para configurar infraestrutura na AWS e também algumas ferramentas para efetuar testes locais, simulando a AWS.
[Iniciantes] Dominando as listas no Python
Se você já é familiarizado com o Python, provavelmente já conhece as listas - uma das estruturas de dados mais importantes da linguagem, para armazenar valores diversos em tipo e quantidade. Mas será que você realmente sabe como esse tipo funciona?
Aprenda a utilizar uma lista com elegância, conheça seus métodos nativos e entenda suas características especiais. Nessa palestra, teremos um pequeno projeto como objetivo e veremos como o uso apropriado da lista pode solucionar muitos de nossos problemas. Aprenderemos como as listas se diferenciam das tuplas e entraremos com tudo no aspecto mutável das listas e como ele pode causar comportamentos esquisitos para alguém desavisado.
Pare de usar só por usar e domine de vez esse poderoso tipo no Python!
[Iniciantes] "Mas dá pra abrir no Excel?" Exportando para txt, csv e JSON com Python
![author photo](https://lh4.googleusercontent.com/-LynZdpgFUdw/AAAAAAAAAAI/AAAAAAAAADE/qopsNz5dDwQ/photo.jpg)
Inteligência Artificial aplicada ao mundo jurídico: a vida real longe das BuzzWords!
Neste bate-papo iremos apresentar o percurso traçado pela equipe de Inteligência Artificial do Ministério Público do Estado do Rio de Janeiro no desafio de ler e classificar textos jurídicos, extraindo informações relevantes que auxiliem promotores à tomarem decisões baseadas em dados. Os documentos analisados são transcrições de decisões dos juízes feitas durante audiências e, como o mundo real nunca é perfeito como nos manuais, não existe um formato conhecido esperado para esses documentos, o que aumenta ainda mais o desafio da criação de ferramentas automatizadas que possam auxiliar nos processos e investigações.
Iremos apresentar na prática, sem BuzzWords(!), as tentativas que não funcionaram e as que funcionaram (até agora), desde a raspagem de documentos do site do Tribunal de Justiça do Estado do Rio de Janeiro, passando pelo pré-processamento de textos e extração de features com Processamento de Linguagem Natural, assim como os algoritmos, modelos estatísticos e heurísticas empregados na análise dos documentos judiciais extraídos. E o melhor, tudo feito em Python, com ajuda de bibliotecas livres como BeautifulSoup, Pandas, NLTK, sklearn e outras mais.
Categorias: [Jurimetria] [Inteligência Artificial] [NoBuzzWords]
Palestrantes: Felipe Ferreira, Rhenan Bartels e Henrique de Andrade
[Intermediário] Desmistificando modelos de dados em python
Muitos livros e tutoriais em Python propõem ensinar a utilização de features mais avançadas, mostrar funções builtin para otimizar seu tempo em codar aplicações. Isso é muito bom para ter mais ferramentas ao seu dispor ao utilizar a linguagem.
Só que para ser um melhor programador em Python, nem tudo se resume a saber o que cada feature da linguagem faz e sua syntax.
Essa palestra propõe um entendimento dos modelos dos dados do Python e seus métodos, para lhe dar uma noção de como a linguagem é estruturada e lhe dar o poder de saber como as features e modelos de Python são estruturados quando você esbarrar num deles.
![author photo](https://lh4.googleusercontent.com/-JsfuZmAeqSo/AAAAAAAAAAI/AAAAAAAAICE/BqOVlQ0w-NI/photo.jpg)
[Internet das Coisas] PyoTEA – Uma colher de chá para a Internet das Coisas (IoT)
Essa palestra tem como objetivo mostrar aplicações de Internet das Coisas (IoT) usando Python, apresentando a PyoTEA uma plataforma Open Source para registro de dispositivos, coleta e análise de dados massivos em tempo real.
Detalharemos a arquitetura usada pela plataforma, que usa Flask, Docker, React.js, Apache Cassandra, Apache Kafka, entre outras tecnologias.
Discutiremos a importância de uma plataforma para gerenciar os dispositivos na nuvem, as dificuldades que surgem nesse contexto (segurança, desempenho, disponibilidade).
Entraremos em detalhes em como o Python pode ajudar a resolver esses problemas em diversas camadas de aplicação (Big Data Analytics, Segurança de dados, Visualização de dados) e apresentaremos a PyoTEA, uma plataforma em Python que resolve esses problemas de uma forma simples e prática para desenvolvedores
Finalmente, mostraremos exemplos de aplicações IoT que podem ser feitos com a plataforma.
Assuntos Abordados:
1. O que uma plataforma IoT? Para que serve e por quê preciso disso?
2. Desafios e características de uma plataforma IoT
3. PyoTEA – Desenvolvendo apps de forma simples e escalavel
4. Stack e escolhas de tecnologias: Python, Flask, Docker, Dash (React.js), MQTT, Redis, Cassandra, MongoDB, Kafka, …
5. Big Data Analytics para IoT com PyoTEA, Kafka, e Cassandra
6. Aplicações (Cidades inteligentes, Smart Home, Hospitais, ...)
7. Futuro das plataformas IoT (e PyoTEA)
![author photo](https://lh3.googleusercontent.com/-eK89a-wtw-s/AAAAAAAAAAI/AAAAAAAAAAA/AB6qoq34r3a3Qz14Ad6YRxYCink93T-epQ/mo/photo.jpg)
[IoT] Avaliação de técnicas de inteligência computacional para identificação de atividades de vida diária
Tópicos:
- Inteligência artificial
- Body Sensor Network
- Health Smart Home
- Smart Homes
O monitoramento da vida diária pode ser utilizado para ajudar idosos ou pessoas com doenças crônicas, promovendo melhorias na qualidade de vida. Quando tecnologias como Smart Homes são utilizadas para ajudar pessoas com necessidades especiais, temos o conceito de Health Smart Home (HSM), que emerge da combinação da telemedicina, automação residencial e sistemas da informação, definida como uma casa inteligente com dispositivos de assistência a saúde e que podem ser acessados remotamente.
Com o intuito de melhorar aplicações de inferência sobre a estrutura de uma HSM, esta palestra apresenta uma avaliação de alguns algoritmos de aprendizado de máquina (utilizando a linguagem Python) para identificar atividades da vida diária (ADLs) e quedas. Para isso, um conjunto de dados gerados por uma Body Sensor Networks (BSN) foi utilizado para comparação das técnicas.
![author photo](https://lh3.googleusercontent.com/-eK89a-wtw-s/AAAAAAAAAAI/AAAAAAAAAAA/AB6qoq34r3a3Qz14Ad6YRxYCink93T-epQ/mo/photo.jpg)
[IoT] Identificando comunidades dos senadores brasileiros em redes sociais com técnicas de deep learning
Tópicos relacionados:
- Redes sociais
- Deep learning
- Análise de sentimento
- Identificação de Comunidades
A ideia de comunidade foi mudada com o advindo da redes sociais (como fórum, blogs e micro-blogs), trazendo assim a possibilidade de pessoas (com ajuda da internet), conectar-se em uma interação online baseada em compartilhamentos de interesses e atividades, mesmo em casos de não estarem próximas geograficamente.
Com 100 milhões de usuários ativos diários, o Twitter e uma das mais populares rede sociais dos dias atuais. Ele permite que os usuários enviem mensagens curtas de até 280 caracteres e tenham cerca de 6000 tweets por segundo, o que corresponde a mais de 500 milhões de tweets por dia. Contando com esse enorme volume de dados gerados, o Twitter pode ser visto como uma valiosa fonte de dados que é útil para monitorar vários aspectos sociais, como detectar e analisar comunidades.
Nesta palestra visamos mostrar como identificar comunidades de senadores brasileiros através de mensagens no Twitter com auxilio de técnicas de Deep Learning. Utilizando Python analisamos tweets de senadores brasileiros com a finalidade de melhor compreender a visão política compartilhada.
![author photo](https://lh4.googleusercontent.com/-IqWJuA2EyHQ/AAAAAAAAAAI/AAAAAAAAAEk/ozJsb-I3FD0/photo.jpg)
[IoT] [Localização indoor] Uma aplicação “GPS” para deficientes visuais em ambientes fechados e mapeados com dispositivos Beacons Bluetooth
Tópicos abordados:
- Beacons BLE
- Fazendo mapeamento do ambiente
- Aplicação de localização
Resumo:
Atualmente, no cenário de internet das coisas, temos dispositivos conectados que nos fornecem dados para serem analisados e gerar aplicações.
Diversas vezes vemos algum deficiente visual com dificuldades de locomoção, principalmente em ambientes públicos como, por exemplo, faculdades, hospitais, shoppings e aeroportos. A palestra visa abordar uma solução de localização indoor feita em Python-Qt para dispositivos móveis e que tem como finalidade guiar deficientes visuais em ambientes públicos previamente mapeados com Beacons BLE.
![author photo](https://lh4.googleusercontent.com/-IqWJuA2EyHQ/AAAAAAAAAAI/AAAAAAAAAEk/ozJsb-I3FD0/photo.jpg)
[IoT] Rastreamento indoor de pessoas e ativos através de dispositivos Beacons Bluetooth, Esp32 e com arquitetura de servidor-aplicação em Python
Tópicos abordados:
- Beacons BLE
- ESP32
- Servidor e banco de dados
- Aplicação de rastreamento
- Possíveis features: local atual, histórico de posicionamento, fora de ambiente, nível de bateria.
Resumo:
Atualmente, no cenário de internet das coisas, temos dispositivos conectados que nos fornecem dados para serem analisados e gerar aplicações diversas. Diversas vezes perdemos objetos em ambientes conhecidos ou desconhecidos como o carro em um estacionamento, ou desejamos saber mais sobre nossos pets enquanto não estamos em casa, porém o baixo custo de tais soluções é muito importante.
A palestra visa abordar soluções de rastreamento indoor que podem ter como finalidade rastrear chaveiros, pets, carros (num cenário de estacionamento), entre outros ativos desejados. Baseado em Beacons BLE e ESP32 que são dispositivos de baixo custo no mercado. Mostrarei arquitetura de servidor e aplicação em Python para rastreio indoor.
Iteradores e geradores: a preguiça como virtude
Entre as linguagens populares hoje, Python foi a primeira a ter um laço for inteligente, que sabe acessar diretamente os itens das coleções nativas também das criadas pelo usuário, sem depender de um índice numérico. Mas a inovação não ficou por aí: Python também popularizou o conceito de função geradora, um jeito muito mais simples de fazer objetos "iteráveis" do que o padrão de projeto "iterator" clássico. Nessa palestra básica vou mostrar como os iteradores e os geradores funcionam, e também mostrar alguns geradores poderosos que vêm prontos para usar na biblioteca padrão de Python. Você vai ver porque entender geradores é a chave para entender o jeito Pythonico de programar!
![author photo](https://lh4.googleusercontent.com/-s4GIGanEmvE/AAAAAAAAAAI/AAAAAAAAZDY/IRYsp8OEoDk/photo.jpg)
Levando IA pra produção com Python
Inteligência Artificial está na moda, vemos formas eficientes de resovler e atacar problemas que antes só poderiam ser feitos por humanos ou com um nível de precisão razoável. Porém, quando falamos em IA estamos quase sempre falando de metodologia de treinamento, e raramente nos preocupamos com o nosso problema em produção.
Aqui vou discutir formas de fazer o deploy de produtos de Inteligência Artificial usando ferramentas como Tensorflow e Sickit Learn, além de discutir o aprendizado online, onde focaremos em sistemas que precisam ser treinados enquando estão em produção.
[Machine Learning] Aprendendo Deep Reinforcement Learning com Python e videogames!
Machine learning, redes neurais e deep learning vem sendo utilizado como os facilitadores para a criação de produtos inteligentes, capazes de interação ambiental e tratar dados complexos em áreas como visão computacional, carros autônomos e processamento de linguagem natural.
Reinforcement Learning é um tipo de Machine Learning que busca ajudar a solucionar problemas através de sistemas que aprendem baseados em "tentativa e erro" e de acordo com a "recompensa" de suas ações - diversas soluções vem utilizando este tipo de abordagem, como sistemas de controle físico (andar, voar, nadar, etc), solucionar problemas logísticos (alocação dinâmica de banda de rede, otimização de consumo energético, etc) e melhoria de soluções interativas, como de experiência aumentada de clientes.
Nesta palestra discutiremos como podemos ver Deep Reinforcement Learning na prática utilizando python e o framework OpenAI. Para alcançar este objetivo a idéia é seguir este plano:
a) uma rápida introdução conceitual de machine learning, deep learning e reinforcement learning
b) os fatores e conceitos a serem considerados em um programa que utiliza deep reinforcement learning
c) visualizar na prática um modelo que aprende a jogar videogame através de python e deep reinforcement learning
Após isso, discutir, rapidamente, soluções comerciais e industriais que já utilizando este conceito para solucionar problemas do mundo real.
![author photo](https://lh6.googleusercontent.com/-X53ZOZiFIRc/AAAAAAAAAAI/AAAAAAAAAC8/ty6F1Fm-myI/photo.jpg)
[Machine Learning] - Hackeando redes neurais com Python.
Redes neurais tão na hype. Desde seu sucesso no ImageNet Chalenge em 2012, aplicações novas são propostas quase que diariamente, indo de sistemas de segurança autônomos à inferência de humor no facebook, passando por produção de arte! Nesta palestra vamos entender melhor do que se tratam esses modelos e como usar python para manipulá-los: como importar modelos pre-treinados; como explorar seus limites; e como enganá-los. Clique no ':)' se você quiser descobrir como fazer uma rede neural pensar que bananas são torradeiras!
Nesta palestra:
- Redes neurais profundas 101
- Usando redes neurais pré-treinadas
- Hackendo redes neurais profundas
![author photo](https://lh3.googleusercontent.com/-HY8F6k6SdGI/AAAAAAAAAAI/AAAAAAAACLs/5E769cRQmtI/photo.jpg)
[Machine Learning] Mas afinal, para que serve Análise de Sentimentos?
Temos milhares de opiniões circulando nas redes sociais. Podemos utilizá-las para saber as pessoas que estão secando a seleção na copa, quem vai votar no Lula nas próximas eleições e quem curtiu ou não a compra do GitHub pela Microsoft.
Nessa talk vou abordar como utilizar análise de sentimentos em redes sociais para entender os sentimentos e propensões das pessoas e como utilizar essa informação.
Os tópicos abordados serão:
1. O que é analise de sentimentos?
2. Como funciona?
3. Entendo análise textual;
4. O que tem Python a ver com isso?
5. Como validar;
6. Usos práticos;
[Machine Learning] Predição de séries temporais com ênfase em variáveis extraídas de redes de sensores
Dentro do contexto de redes de sensores é notável que geramos grandes massas de dados, onde podemos sobrecarregar a banda da rede, ou ocupar muito espaço do armazenamento. Logo uma solução é usar técnicas de redução de dados, não sendo foco da palestra, só fazer breves comentários. Então a partir de uma base de dados reduzida é necessário uma forma de reconstruir todo bloco de dados, assim chegamos as técnicas de predição ou reconstrução, nessa palestra em especial abordaremos variáveis que se comportam em função do tempo.
Tópicos abordados
discussão sobre problema de armazenamento;
breve introdução sobre algoritmos de redução;
introdução a predição;
mostrar métricas de avaliação;
por que usar técnica diferente para séries temporais?
diferença entre variáveis bem comportadas e caóticas;
mostrar exemplo com variável caótica e outro com variável bem comportada;
[Machine Learning] Prevendo o resultado de partidas de League of Legends com Python
Com o aumento dos e-Sports e a grande competitividade de jogos online, às vezes é melhor simplesmente evitar jogar algumas partidas para não perder ranking e, muitas vezes, sanidade mental.
A proposta é apresentar um projeto em Python usando técnicas de web scraping e machine learning que consegue com sucesso prever com mais de 70% de precisão o resultado de partidas de LoL sem bases de dados de terceiros usando apenas Scrapy.
Mapeando 1 milhão de recursos em uma Cloud
A Globo.com proporciona uma vasta quantidade de opções para os times de desenvolvimento criar e fazer deploy um projeto. Dando liberdade para os desenvolvedores escolherem arquitetura, linguagem, DB, etc.
Para proporcionar todos esses recursos, as equipes de infraestrutura buscam, automatização dos fluxos, processos e configurações, e assim garantir uma entrega rápida da infraestrutura para os times de desenvolvimento. Por pensar dessa forma, temos
Everything as a Service dos recursos de infraestrutura, o que possibilita que entreguemos Storage, Redes, ACL, Firewall, Banco de Dados, DNS, Dominios, VMs, Containers, etc, como serviços. Somando os recursos gerenciados, facilmente passa o alcança o patamar de centenas de milhares de itens e relacionamentos entres os sistemas
Mesmo com a automatização não havia uma forma sistemática de entender como elementos TI se relacionavam. Para resolver esse gargalo que criamos o Globo Map, uma ferramenta open source e extensível, usada para fazer esse mapeamento.
Mas Cadê as Oportunidades de Python?? Elas estão na Comunidade e no PyJobs!
Muitas pessoas reclamam sobre a falta de oportunidades para programadores Python e quero provar que elas estão erradas. Há mais de 6 meses, eu lancei o PyJobs e com muito apoio da comunidade e das empresas, nós conseguimos atrair muitas vagas e oportunidades de trabalho para diversas pessoas que precisam. Nesta palestra irei mostrar como é o PyJobs, sua estrutura, as vagas que temos, quantas pessoas já se cadastraram e mais uma série de coisas que são interessantes.
Mas eu sou só um programador!! Como vou empreender??
[Empreendedorismo]
O medo de empreender as vezes consome grandes potenciais empresários.
Tenho que vender?
Tenho que lidar com os gigantes tubarões do mercado?
Preciso saber lidar com pessoas, funcionários?
Marketing???!
Fluxo de caixa, direito do trabalho, fundos de investimento?
Empresário precisa saber de todos estes pontos e muito mais.
Mas como um programador, que só sabe Python, e quer empreender vai conseguir se manter no mercado sem todas essas skills?
Conheça como um coração empreendedor(mas que só sabia programar Python) conseguiu tirar suas ideias do papel e transformar todo um sonho em realidade.
Além disso, vou apresentar os caminhos e requisitos que precisam ser trilhados para tornar real a vontade do espírito empreendedor, que não depende de idade, cor, classe ou nível de escolaridade. O seu meio influencia, mas não determina!
Medindo o preconceito no aprendizado de máquinas
Os algoritmos cada vez mais regem nosso dia a dia, desde recomendando filmes até estimando a probabilidade de reincidência de um criminoso. O aprendizado de máquina trouxe mais um complicação: nem sempre é impossível interpretar ou compreender o funcionamento desses algoritmos. Entendendo que nenhum algoritmo é perfeito, como podemos levar em consideração o viés social inerente à nossos dados e medir o quanto esse viés influencia nossos algoritmos? Será que basta não alimentar informações sobre etnia e sexo? CREIO QUE NÃO!
Micropython: Python em computadores pequeninos
MicroPython é um interpretador criado por Damien George que implementa a maior parte de Python 3 de um jeito tão compacto que roda em micro-controladores com kilobytes de memória. Começou com uma placa especial, PyBoard, fruto de um financiamento coletivo bem sucedido em 2015, mas hoje existem versões de MicroPython rodando em vários dispositivos diferentes, como o BBC micro:bit, as placas CircuitPython da Adafruit, e as populares e baratas placas baseadas nos chips ESP8266 e ESP32.
Nessa palestra vou mostrar um pouco do universo MicroPython através de demonstrações com alguns dispositivos.
![author photo](https://lh4.googleusercontent.com/-ZfND9Mw116k/AAAAAAAAAAI/AAAAAAAABtU/MhzmJpy3_jM/photo.jpg)
Migrating an older code base to Python 3: the expected - and the unexpected
Python 3 is used extensively inside Facebook, but this was not always the case: there are some large services written years ago that sometimes need to be brought into the new world as new features need to be added, features available in Python 3 libraries only.
While there are semi-automated tools that can help with such migrations and also some very well known "gotchas" - e.g. print function syntax or differences when rounding floating point numbers, sometimes things do not go as planned. One such service, when migrated to Python 3, has started to exhibit a memory leak that was not present before, keeping us puzzled for days. This talk will tell the story on how we got to solve a problem that, at some point, seemed to have no acceptable solution.
Minha experiencia em publicar um livro sobre Python
Escrever um livro sobre programação em Python é um projeto muito gratificante por vários motivos.
É uma forma de enriquecer o seu curriculo, mostrar para o mundo o seu conhecimento de programação em Python e tambem é uma forma de ajudar a comunidade Python divulgando a línguagem e ajudando desenvolvedores de todos os níveis (experientes e iniciantes) e tambem pessoas que tem interesse em aprender Python.
Em Fevereiro de 2018, eu lancei o meu livro primeiro livro intitulado "Python Programming Blueprints" que foi publicado pela editora Packt e nesta palestra eu pretendo compartilhar a minha experiencia em escrever este livro e de desmistificar o processo de escrever e lançar um livro de programação. Enfim, esta paletra é indicada a todos os desenvolvedores interessados em ampliar suas carrerias lançando um livro.
A palestra inicia contando como consegui fazer contato com a editora, o planejamento dos capitulos e topicos abordados.
Continuando, irei abordar topicos como: processo criativo, criando o codigo usado no livro, as ferramentas utilizadas e também como foi o processo de revisão pelos editores e pelos revisores técnicos. Enfim, é um "walkthrough" de como lançar o seu primeiro livro de programação.
Principais topicos:
- Fazendo contato com a editora
- Definindo os tópicos abordados nos capítulos (the outline)
- Processo criativo (Escrevendo o código do livro)
- Ferramentas utilizadas
- Best practices e escrevendo codigo "pythonico"
** Esta palestra pode ser em Português ou Inglês.
Sobre:
Daniel Furtado é um desenvolvedor de sistemas com mais de 20 anos de experiência e que nos ultimos 12 anos trabalha como desenvolvedor de sistemas em Estocolmo na Suécia. Os primeiros 10 anos de sua carreria foi trabalhando no laboratório de Bioinformática no Instituto Ludwig de pesquisa de Cancer e na fundação Antonio Prudente (Hospital do Câncer) em São Paulo. Na Suécia ele atuou em grandes empresas como Lehman Brothers, EpiServer, Atea, Snow Software e atualmente ele trabalha na Epidemic Sound desenvolvendo em Python e ReactJS.
Muito mais que map, filter e reduce
A ideia desse palestra é transformar a mentalidade de que python é uma linguagem ruim para usar programação funcional. Vamos entender como funcionam as features e o que python pode nos proporcionar de melhor. Vale resaltar que o objetivo de tudo não é vender programação funcional como o centro do universo, mas mostrar como mesclar conceitos declarativos para que você escreva um código mais simples e clean.
Pré-requisitos:
- Python básico
- Saber o que é uma função
- Se souber usar lambda será ótimo, se não a gente explica
Roteiro:
- Uma introdução não axiomática a teoria dos conjuntos.
- Um pouco sobre iteradores
- Funções, funções e funções
- - Funções totais
- - Funções parciais
- - Funções anônimas
- Closures, o centro do universo
- Composição/Pipelines
- lambdas para vencer
- Bibliotecas não builtins que pode te ajudar
Vamos construir um parser live-code (o objetivo é esse)
Multi-Tenancy: Uma introdução à arquitetura
Nos últimos anos o modelo de entrega de software como serviço, ou Software as a Service (SaaS), surgiu trazendo softwares mais flexı́veis e reutilizáveis. Este modelo provê suporte a diversos usuários sobre uma mesma infra-estrutura configurável, oferecendo funcionalidades sob demanda. Multi-Tenancy, ou multi-inquilino, é uma abordagem organizacional do modelo SaaS que oferece as características citadas anteriormente.
Essa apresentação tem como objetivo fazer uma introdução sobre a arquitetura Multi-Tenant, mostrar as diferenças entre Multi-Tenancy e algumas arquiteturas correlatas, analisar as características chave mostrando como elas podem ser implementadas em Django, destacar os principais desafios da arquitetura e finalmente levantar vantagens e desvantagens da mesma.
Ao final da talk, o público terá entendido o conceito, detalhes de implementação, além das vantagens e desvantagens da arquitetura Multi-Tenant. Dessa forma, será possível entender os casos de uso da mesma e identificar qual a melhor forma de utilizá-la em qualquer linguagem ou framework.
Agenda:
- Introdução a Multi-Tenancy
- Arquiteturas Correlatas
- Multi-Tenancy X Multi-User
- Multi-Tenancy X Multi-Instance
- Características Chave
- Compartilhamento de Hardware
- Alto Nível de Configurabilidade
- Compartilhamento da apliacação e do DB
- Vantagens e Desvantagens da arquitetura
- Conclusão
![author photo](https://lh3.googleusercontent.com/-QLxZGX0RuZQ/AAAAAAAAAAI/AAAAAAAADME/AzHWoBaqPzc/photo.jpg)
Não é magia, é tecnologia
Trabalhando com testes unitários você provavelmente já usou mocks e disse: "Uau! Isso é muito mágico!".
Alterar o comportamento de objetos é muito legal, mas está bem longe de ser magia, então a proposta dessa palestra é explorar os conceitos e design patterns implementados pelos mocks e ressaltar os pontos fortes desse aspecto dinâmico de Python.
NES Hacks 2 - The Mission
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. A palestra consiste em um conjunto de lighting talks atualizada sempre com novos hacks.
Nesta palestra vou apresentar alguns hacks utilizando Python, LUA, uma Raspberry PI e um processador 6502. http://imgur.com/VwaMhnU
O casamento sagrado entre o Pipfile, pip e Virtualenv
O Pipenv é uma ferramenta que permite a criação de ambientes de desenvolvimento em Python de maneira rápida e descomplicada. Essa palestra tem como objetivo mostrar como você pode aumentar sua produtividade ao montar seu ambiente de desenvolvimento com o Pipenv.
![author photo](https://lh4.googleusercontent.com/-K_ee0t5eg7g/AAAAAAAAAAI/AAAAAAAAAXw/zXLmH-Cus0w/photo.jpg)
Odoo, não como um ERP, mas como um RAD
Odoo é conhecido em alguns círculos como um ERP Open Source, o mais popular desses que é escrito em Python.
Mas nesta palestra não vamos falar sobre ERP, e sim sobre como usar o Odoo para escrever applicativos web que são:
- Lindos, Responsívos e fáceis de usar em dispositivos móveis
- Com as camadas de persistência (em PostgreSQL) e de apresentação (HTML/CSS/JS) já resolvidas e prontas pra você
- Com um sistema de permissões e controle de acesso elaborados
- Onde você não precisa se preocupar em fazer uma interface "admin" separada da interface "web" (mas pode, se quiser)
- Com um Kanban à lá Trello já embutido e disponível para seus modelos
- E o melhor de tudo, sem precisar escrever uma linha de HTML, JS ou CSS
Nessa palestra vou mostrar como usar Odoo de maneira produtiva desta forma, e mostrar um case em uma empresa na área da saúde, onde um aplicativo desenvolvido assim é usado para gerenciar o tratamento de clientes em "home care".
O Marceneiro de software - como serrote e pregos podem ensinar a ser um programador melhor
Essa palestra pretende abordar como um ofício tão antigo pode ser uma abstração tão próxima ao dia-dia do desenvolvedor, toda a manufatura, planejamento e realização do produto passam pelas mãos de quem o constrói.
Você vai aprender:
- Como organizar sua bancada
- Reaproveitamento de pregos
- Serrar, colar e lixar
- Desenhar um móvel
- Vender
Então prepare seu serrote e pregos para construir a melhor cadeira do mercado.
O poder dos conjuntos
Conjuntos são muito úteis na programação e por esta razão, Python implementa esta estrutura de dados com um grande leque de operações poderosas.
Nesta palestra pretendo demostrar o uso dos Sets e seus métodos mais importantes para o processamento de dados mais eficiente efetivo.
O Python em uma fusão entre .NET e Java
O que acontece quando duas grandes empresas, porém proporcionalmente diferentes, se fundem? O que acontece com o Python quando já está sendo usado por pessoas acostumadas a desenvolver na plataforma Microsoft se junta com uma turma com Java, NodeJS, Scala e outras plataformas comuns no mundo *NIX?
Nessa palestra pretendo apresentar uma visão pessoal porém tentando ser imparcial se possível e analítico sempre.
Espero mostrar como uma linguagem que preza a simplicidade pode ajudar nesse ambiente caótico.
![author photo](/media/profile.png)
O que são Blockchains, do que se alimentam e como construir isso com Python
O conceito de Blockchain ganhou notoriedade nos últimos anos graças ao grande sucesso da principal criptomoeda nascida dessa tecnologia: o Bitcoin. O Blockchain é um grande banco de dados aberto. Sua importância se dá pelo fato dele não ser um banco de dados comum: o sistema funciona como um livro de registros, inviolável, incorruptível e extremamente eficiente. Mas a verdade é que esse tal de Blockchain serve para uma variedade de outras coisas, tais como sistemas financeiros, comerciais, governamentais, eleitorais e etc etc etc. Nesta palestra aprenda um pouco mais sobre essa tecnologia revolucionária e venha construir uma pequena Blockchain com Python.
![author photo](https://lh3.googleusercontent.com/-4uDgYWO6zcE/AAAAAAAAAAI/AAAAAAAAHmU/mrvyldCj5fg/photo.jpg)
O que vem depois do tutorial do Django Girls?
Em vários tutoriais do Django, vemos como receber requests e responder responses com páginas html contendo diversas informações.
Isso é bem legal para começar a entender o processo que o Django faz: recebe requests e devolve templates. Mas ok, e depois disso?
Quando começamos a fazer um sistema um pouco mais complexo, nos deparamos com diversas funções de get e post que tem que fazer um monte de verificações, as suas classes ou funções começam a ficar gigantes, complexas e, normalmente, pouco efetivas para cobrir o todas as possibilidades que podemos vislumbrar
É aí que entram na história as Class Based Views do Django. Essas maravilhas podem facilitar infinitamente a sua vida, mas podem ser bem chatinhas pra entender no começo.
Vamos descobrir como fazer um sistema mais complexo? Vamos descobrir o que existe para além dos tutoriais?
Os desafios de implantação do gestão ágil de projetos
Quais os desafios ao usar o gestão ágil de projetos.
Perdendo o medo da Web com Django
Por mais que a web seja uma praia paradisíaca, com águas claras e areia bonita, o desenvolvimento de suas aplicações pode parecer com uma viagem por mares nunca antes navegados, com águas escuras e profundas, repletas de lendas e histórias de monstros marinhos que assustam só de imaginar (Como implementar? Como subir para o servidor? Como integrar ao banco de dados? E as consultas?).
Nesta palestra irei mostrar que todos esses medos podem ser perdidos se utilizarmos o Django como o navio desta viagem. Com os seus diversos recursos, o Django torna o desenvolvimento de aplicações web algo simples e fácil, tornando piada todos os monstros marinhos e aquele mar assustador passa a ser visto como uma marola conhecida.
[POO] Orientação a Objetos do jeito certo no Python
Se sua bagagem de programação é de alguma linguagem propriamente orientada a objetos, como Java, você já deve ter se estranhado um pouco com como POO funciona no Python. Nessa palestra, destacaremos as principais diferenças e especificidades do Python quanto a esse paradigma e entenderemos o porquê de tudo funcionar como funciona. Afinal, será que um método privado é bom? Encapsulamento não existe no Python? E cadê as interfaces? Tire todas essas dúvidas e programe OO em Python sem gambiarras, adequando a linguagem e o paradigma para um software melhor.
"Porquê aprender Python?"
Vou falar um pouco sobre a abordagem de python que faço quando ensino programação ao pessoal do curso de programação básica ao qual sou instrutor, Mostrar as diferentes sintaxes de programação e o que faz da python ser uma das melhores linguagens de programação para se começar a aprender logo na primeira viagem. E aí vamos ter uma breve introdução de Como se preparar para uma Maratona de Programação do zero ao codebuilder e porquê grandes empresas estão buscando cada vez mais jovens que participam de Maratonas de Programação.
Processando dados de acidentes de trânsito em streaming com PySpark
Processar dados em streaming, ou, em bom português, processar dados que chegam num fluxo contínuo, muitas vezes demanda uma ação imediata sobre os dados que traga resultados em tempo real.
Essa palestra vai utilizar a API Python do Spark, o PySpark, para mostrar a construção de uma aplicação simples que recebe dados de acidentes de trânsito ocorridos em Recife e realiza seu processamento em tempo real, mostrando como fazer isso mirando a resiliência e robustez da aplicação.
![author photo](/media/linkedin_profile_pic_copy.png)
Production Engineering no Facebook
Production Engineering é uma área no Facebook que reúne Systems Engineers e Software Engineers que desenvolvem e mantem a infraestrutura do Facebook rodando de maneira eficiente e escalável. O time escreve código e debuga problemas críticos em um ambiente de produção que impacta mais de 2 bilhões de pessoas ao redor do mundo. Desde serviços de frontend como o News Feed, até componentes de backend como a infraestrutura de cache, load balancing e sistemas de deploy, o time de Production Engineering mantém o Facebook no ar.
Conheça os principais desafios de Production Engineering e entenda como a área evoluiu ao longo dos anos para garantir alta disponibilidade na escala exigida pelo Facebook.
Programação Cidadã: dados abertos e o porquê você deveria estar contribuindo
A importância de dados abertos e os motivos para começar a contribuir!
![author photo](https://lh6.googleusercontent.com/-FUTkyZv8isw/AAAAAAAAAAI/AAAAAAAAAAc/aEPAiuI4Z4s/photo.jpg)
Programação para baixa latência (respondendo queries em sub-second)
Nessa palestra explicaremos todo o processo, linguagens de programação e técnicas utilizadas no desenvolvimento do SlicingDice e que nos permitem responder queries complexas em sub-seconds.
Programação para jornalistas: 3 meses de experiências em uma redação
Se ensinar a programar já é uma tarefa difícil, imagina ensinar lógica de programação e Python para jornalistas? Um treinamento de 3 meses patrocinado pelo Google News na Folha de São Paulo, proporcionou ensinar pessoas sem nenhum conhecimento anterior em programação, como raspar e analisar dados e até fazer a análise de sentimentos no Twitter. Se quiser saber como foi a experiência e os detalhes da produção e publicação das reportagens, não perca esta palestra! Algumas matérias publicadas: [1] Técnicos brasileiros desaparecem da luta por vaga na Copa do Mundo, [2] Brasil vence Alemanha e começa esquecer o 7 a 1, [3] Briga judicial deixa sem uso satélite de R$ 2,7 bi que espalharia banda larga, [4] Preso, Lula teve 75% de menções negativas, [5] Sem fibra ótica, internet no campo avança via rádio, [6] Sistema da Justiça viola sigilo e expõe crianças vítimas de estupro, [7] Morar em favela do Rio é agravante em condenação por tráfico de drogas, [8] Mandados não cumpridos superam vagas de prisões em 18 estados do país [9] Falta de atualização em banco de dados do CNJ leva a prisões ilegais
Programando a Felicidade
Bate papo sobre envolvimento com a comunidade Python e como isso impactou minha vida de maneiras inesperadas, me levando a repensar meu posicionamento perante o mercado e resultando numa experiência de trabalhar apenas 2 dias por semana durante 3 anos, viajar para 7 estados do Brasil e e dois países diferente (Canadá e EUA). Afinal, é possível isso sem ser rico? Apareça e contribua com a discussão ;)
Psicologia X Carreira Profissional: O autoconhecimento a seu favor!
[Carreira]
- Uma Psicóloga fascinada por análise comportamental e um Engenheiro de Software desenvolvedor Python dão match?! Sim, mais que uma união amorosa, uma união de valores e crescimento pessoal e profissional. Duas áreas distintas caminhando lado a lado em busca de evolução!
- Autoconhecimento: saber quem de fato sou, me leva além das minhas próprias expectativas
- Do empirismo a aplicação prática: o percurso necessário para alcançar seu potencial máximo dentro da sua carreira profissional
- Eu preciso ser o melhor para ser bem sucedido?
- Empregando os artifícios da psicologia no dia a dia e no trabalho, com self employment
![author photo](https://lh4.googleusercontent.com/-FpRdJKxQcs0/AAAAAAAAAAI/AAAAAAAAAAs/T6kFIQhd3BE/photo.jpg)
Pull Requests: Mergeando boas práticas no seu projeto
Apesar de serem conhecidos pela maioria, Pull Requests frequentemente não são tratados da forma mais eficiente. Acredite ou não, algumas equipes sequer revisam código antes de colocar em produção! Alguns podem assumir que um desenvolvedor sênior é experiente o suficiente para evitar erros, ou que mudar só 3 linhas de código não tem como causar danos ao sistema. Nesses casos, não é raro pular a revisão de código pra economizar tempo. Código não revisado (ou mal revisado) pode ser extremamente perigoso, resultado em riscos imensos e comportamento imprevisível.
Uma pesquisa diz que, em média, desenvolvedores gastam 45% do seu tempo consertando bugs e resolvendo pendências técnicas, quando poderiam estar desenvolvendo novas funcionalidades. Escrever arquivos-guia simples, adotar certos comportamentos e configurar corretamente o respositório são passos que podem aumentar muito a performance da revisão de código (tanto em tempo quanto em qualidade). Usar ferramentas de revisão, tanto no lado do servidor (ex.: Heroku Review Apps) como localmente (ex.: linters) também pode aumentar imensamente a velocidade do processo. Criar templates e checklists assegura que nenhum passo vai ser pulado ou esquecido. A lista de melhorias é imensa, mas já chega de spoilers por enquanto! Os participantes vão aprender dicas, ferramentas, processos e práticas recomendadas que foram compiladas a partir de pesquisas e casos da vida real (tanto da minha experiência como de grandes nomes como Django, Facebook, Instagram, Mozilla, etc) e de dados de pesquisas que demonstram porque revisar código é importante.
Essa palestra é focada principalmente em pessoas que já tiveram alguma experiência com escrever e revisar código e querem agora entrar mais a fundo no assunto, aprendendo o que pode ser feito/usado para melhorar esse processo, assim como o que evitar. Também será fornecida uma checklist que os participantes podem usar livremente em seus projetos, para assegurar que a revisão de código está sendo feita da melhor maneira possível! Pessoas completamente inexperientes em revisar código/criar pull requests também são bem vindas, mas é recomendável que elas tenham uma noção dos conceitos básicos de como o processo funciona, para entender melhor como as ideias apresentadas nessa palestra podem ser úteis. De qualquer maneira, a revisão de PRs pode ser uma ótima ferramenta para novatos aprenderem boas práticas, tanto em projetos privados como open-source, então a palestra também pode ser útil para aqueles com pouca experiência começarem a entender como eles podem aprender sobre código enquanto leem o código de outras pessoas.
![author photo](/media/IMG_0105.jpg)
PyBX - Um pouco de Python na telefonia Open-source
Mesmo em tempos de whatsapp e outras comunicações digitais, sistemas de telefonia movimentam bilhões de dólares todos os anos. Nessa palestra, pretendo mostrar um pouco de uso do python em sistemas de telefonia open-source e como eles são importantes para as empresas. E ainda, discutir o futuro dos sistemas de telefonia com o crescimento da inteligência artificial e como python pode ser um diferencial para esse novo mercado.
PyMongo: Trabalhando com Python e MongoDB
MongoDB é um banco de dados open-source que usa documentos em formato de JSON e que tem seu foco em escalabilidade e flexibilidade. Um dos principais bancos de dados NoSQL de acordo com a Forrester Wave™ 2016, o MongoDB é normalmente utilizado para aplicações Mobile, de Internet das Coisas e Analytics em tempo real. Nos últimos anos o MongoDB vem crescendo cada vez mais no mercado, já sendo utilizado por empresas como Expedia, EA, Ebay e Adobe.
O Objetivo dessa palestra é detalhar os conceitos de MongoDB, explicar seu funcionamento, debater quando devemos utilizá-los, e como fazer tudo isso em Python. Também serão incluídos examplos, tanto pessoais como alguns casos de uso, para que a palestra fique mais dinâmica e mais interesasante.
Algumas das perguntas que a palestra tenta responder são:
- O que é MongoDB?
- Por que MongoDB?
- Como o MongoDB funciona?
- Quando devo usar o MongoDB?
- Como conectar meu projeto Python ao MongoDB?
- Como trabalhar com MongoDB em Python?
![author photo](/media/58766741a160a_normal.jpg)
PyNES - Construindo jogos para NES com Python
Uma explicação sobre a história do NES, seguida pela explicaçao sobre a renderização dos jogos no console, e pra fechar com chave de ouro uma conversa explicando do que se trata o PyNES, sua estrutura e funcionamento, além de um live coding simples.
Pytest: a biblioteca mais Pythonica que eu conheço!
Pytest é como Python: é muito fácil de começar a usar, mas não se limita ao básico e também oferece soluções muito sofisticadas. Ao contrário do pacote unittest da biblioteca padrão, Pytest não exige que você crie classes para fazer testes -- sua caso de teste básico é uma simples função. Pytest é tão elegante que não precisa importar nada para começar, porque você pode usar a palavra reservada assert em seus testes, em vez de um monte de métodos assertIsso e assertAquilo!
Em caso de erro ou falha, Pytest consegue extrair as informações necessárias para gerar relatórios de erro detalhados e fáceis de entender. Depois do começo suave, você começa a descobrir os recursos avançados de Pytest, a biblioteca mais sofisticada de testes que existe em Python, criada originalmente para suportar o Pypy, o projeto de software livre mais complexo já feito em Python! Logo você vai se perguntar: porque eu não usei Pytest antes? (eu sei, é porque unittest tava lá pronta pra usar... mesma razão que leva pessoas codarem scripts imensos em bash e depois se arrepender... mas isso é outro assunto ;-).
Ah, sim, antes que eu esqueça: Pytest também sabe rodar seus testes legados em unittest, então você pode começar a usá-la hoje sem nenhum investimento.
Essa palestra vai dar um gostinho do que é programar testes automatizados com Pytest!
Pytest Plugins: a liberdade para construir o seu ambiente de testes
Testes nos ajudam a construir aplicações melhores.
Pytest te ajuda a construir testes melhores.
Além disso, Pytest te permite instalar Plugins para melhorar o seu ambiente de testes e construir aplicações melhores.
Pytest foi construído com princípios, arquitetura e engenharia clara, regular e altamente escalável.
É possível melhorar? Claro!
Você pode criar os seus próprios plugins para o dia a dia, ou compartilhá-los junto aos mais de 470 plugins existentes até hoje (http://plugincompat.herokuapp.com/). Em breve, acima de 500.
Nesta talk, será apresentada a construção de um plugin passo-a-passo utilizando o Pytest.
Referências:
https://www.pytest.org
http://plugincompat.herokuapp.com
Python 2 ou Python 3? - Entendendo (finalmente) as diferenças entre as duas versões principais da linguagem
Você que está começando em Python, já deve ter se deparado com essa dúvida? Qual versão do Python devemos aprender? A dúvida ainda aparece para desenvolvedores já iniciados no Python - para que versão devemos programar? A princípio, essa dúvida pode não parecer ter muito sentido para programadores que vêm de outras linguagens, como Java, que dão suporte à retrocompatibilidade em cada versão, mas o Python 3 quebra de vez com certos funcionamentos e especificidades da versão anterior, o que pode acabar em problemas.
Com argumentos vindo dos dois lados, nessa palestra tentaremos tirar algumas conclusões entendendo de fato quais são as diferenças (e o porquê elas existem) entre cada versão. Assim, se tudo der certo, concluiremos a palestra com uma ideia melhor de qual versão devemos usar, e com uma visão prática das técnicas que podemos usar para tornar nosso código mais abrangente!
Python is not C - turning your code upside down
Programmers who didn't start before the 2000's look at programming languages like C with awe and dispair, but the truth is most code in high-level programming languages like they were coding in C.
Inspired by the great IBM community blog post "Python is not C", we'll go through what makes Python better and worse than C, and see how to make the most of this.
Python: O canivete suiço da análise de dados
A análise de dados, especialmente nas últimas décadas, quando a Internet levou a geração de informação para outros patamares em termos de forma e quantidade, tornou-se uma caixa de ferramentas indispensável para engenheiros e cientistas das mais diversas formações e expertises.
Na última década, em especial, uma ferramenta dentro dessa caixa vem se mostrando extremamente versátil para problemas com dados: Python!
Python vem se tornando cada vez mais a ferramente preferida de analistas, engenheiros e cientistas de dados, principalmente por sua versatilidade: pode ser usada com eficiência em praticamente todas as frentes de trabalho desses profissionais.
Nessa palestra, nós iremos conversar sobre Python (lógico), sobre dados, sobre análise, sobre ciência de dados e sobre cada biblioteca do ecossistema pythônico para dados, explorando as muitas potencialidades desse verdadeiro canivete suiço!!
Serão apresentados exemplos com dados reais, estudos de caso e indicações de como usar e aprender a usar Python para análise de dados.
Tudo isso de forma a mostrar um mundo novo para o novato, e apresentar e discutir novas opções pro usuário avançado, ampliando ainda mais o uso dessa maravilhosa linguagem.
Python packaging sem complicação!
Você escreveu código lindão e deseja que as pessoas usem seu código. O que fazer? Um pacote! Você pode ter ouvido que fazer empacotamento é difícil, mas o ecossistema de empacotamento Python evoluiu muito ao longo dos anos. Pegar seu código e compartilhá-lo com o mundo é complexo, mas não precisa ser complicado. Conversando, vamos aprender a a tirar proveito das ferramentas e práticas para evitar pedras no caminho e disponibilizar o seu pacote com rapidez.
Vamos falar de:
Uma (breve) história do empacotamento de pacotes Python
Guia do usuário do Python Packaging Guide
Formatos de distribuição
"'Anatomia" de um pacote
Automatizando a criação de pacotes
Além disso, falaremos de testes, Integração contínua, documentação, teste da instalação do pacote e liberação pro PyPI.
![author photo](https://lh6.googleusercontent.com/-FUTkyZv8isw/AAAAAAAAAAI/AAAAAAAAAAc/aEPAiuI4Z4s/photo.jpg)
Quais as técnicas utilizadas para criar o banco de dados que mais comprime dados no mundo
Essa palestra irá explicar técnicas e tecnologias aplicadas na criação do Banco de Dados com maior taxa de compressão no mundo, assim como todo o processo até chegarmos a esse ponto.
![author photo](https://lh6.googleusercontent.com/-FUTkyZv8isw/AAAAAAAAAAI/AAAAAAAAAAc/aEPAiuI4Z4s/photo.jpg)
Quais os desafios para testar os códigos de um banco de dados
Vamos conversar sobre todos os desafios que enfrentamos no teste de códigos do banco de dados que construímos do zero, e que hoje é o BD que mais comprime dados no mundo.
![author photo](https://lh3.googleusercontent.com/-4uDgYWO6zcE/AAAAAAAAAAI/AAAAAAAAHmU/mrvyldCj5fg/photo.jpg)
Que belo dia para a ciência!
Ciência de dados está em alta! É considerado o "emprego mais sexy do século 21" pela Harvard Business Review e os cursos estão cada dia mais populares.
Mas as perguntas são grandes e cada vez maiores...
Mas o que é ciência de dados? Aonde vive? O que come?
Porque ela é considerada uma ciência?
Como é a metodologia de um projeto com ciência de dados?
O que eu preciso aprender?
O objetivo dessa palestra é dar uma pincelada no assunto, mostrar alguns conceitos básicos, e tentar ajudar iniciantes a trilharem seu caminho de maneira mais fácil!
Também vamos visualizar um processo simples de modelagem de dados para entender o processo como um todo.
Quem é a Mozilla? Conhecendo melhor a fundação e suas iniciativas
A Mozilla é uma fundação sem fins lucrativos criada a mais de 20 anos movida por voluntários com o objetivo de fazer uma internet para as pessoas e não para o lucro. Com inúmeras iniciativas sobre mulheres na TI, notícias falsas, pesquisas em diversas áreas como sistemas operacionais, programação e web.
![author photo](/media/photo4938433661745866732.jpg)
Reconhecimento de palavras em pt-br
Já pensou em como seria legal falar comandos e *magicamente* coisas acontecerem? Ou então quando nosso código nos entende, quando pensamos em acessibilidade, educação, e por aí vai. <3 O céu é o limite.
Vemos em todos os lugares produtos que possuem interação por reconhecimento de palavras faladas, mas pouco se vê o código disto, certo? Ok, reconhecimento de palavras ainda não é algo simples de se implementar, devido a MUITOS motivos, como ruído do áudio, sotaque e, no nosso caso BR, por termos pouco material (código aberto). Mas como podemos brincar com algo tão complexo, mas de forma mais simples, código aberto e em nossa língua nativa?
Nestes 25 minutos vou apresentar o que aprendi estudando reconhecimento de palavras em Python, utilizando o modelo acústico pt-br da Universidade Federal do Pará, com o motor de reconhecimento de palavras Julius.
[Scientific] Deep Learning Vision in Vanilla Python: CNN - Frameworks = PYTHON + Maths
This workshop aims at providing the attendees an experience of implementing convolution neural from scratch without any big frameworks working in the backend supplementing the need for computation. This would give the attendees an overall understanding of what are Convolution Neural Networks and why do they work so exceedingly well in image processing! Abstract
This session would basically focus on python and it's ecosystem and how well it goes up with the current research paradigm shift that is happening due to the boom in Artificial intelligence. The session would help developers to amass the importance of mathematics and the ease that python provides in coding it, even from scratch. This would encourage the developers only to try more and more python programming for deep learning. For a nascent developer, this session packs in a high educational reward as he will be exposed to the mathematics behind the most successful algorithm of the past couple of decades.
Q. What can developers expect from this workshop!
Understand what are convolution neural networks
Why they work so well on image data?
All the different implementation of Convolution network and how they improve the vanilla network
What are the best ways to implement convolution network on a given
data
Q. What this workshop is not!
Just another workshop telling you to use frameworks
Mathematics will not be looked over. (It's important)
This session would provide a much-needed exposure to python programming language and how its ecosystem helps deep learning so well.
[Segurança] Criando um malware em Python em 20 minutos
Nos dias de hoje, segurança é um dos tópicos mais importantes em todo o universo da computação e, na verdade, do mundo no geral, envolvendo desde aspectos políticos, como no caso do vírus que afetou centrífugas iranianas, até o lado mais pessoal, como sua prima que teve a conta de uma rede social invadida e nunca entendeu como isso aconteceu. Mas como isso tudo funciona? Um simples malware é tão complicado assim de entender?
Nessa palestra, discutiremos um pouco sobre vírus de computador (leia-se malware) e como eles geralmente funcionam e afetam computadores pessoais. Aprenderemos técnicas e práticas de programação e computação que auxiliam esse tipo de programa e, com isso, construiremos nosso próprio malware em Python, com funcionalidades diversas de ataque, manutenção e defesa contra antivírus, dentre estas:
- Garantindo a execução repetida do malware
- Executando comandos no computador da vítima
- Captura de teclas (keylogger) e de tela
- Obtendo dados diversos da vítima
- Enganando a sandbox do antivírus
E mais, de acordo com o gosto do pessoal que estiver assistindo!
Saia da palestra como um novo hacker (ou melhor, especialista de segurança ;)) e abra caminhos para novas experiências na área de desenvolvimento.
[Segurança] Entendendo o que danado é SSL/TLS com exemplos em Python
A arte milenar de guardar segredos é hoje um dos pilares da internet. Serviços bancários on-line, e-commerce, videoconferências e muitas outras coisas são protegidos por criptografia para se tornarem viáveis.
Tornar-se fluente em operações criptográficas básicas e conhecer os princimais protocolos de comunicação segura é uma ferramenta preciosa para qualquer desenvolvedor de software.
O TLS (inicialmente conhecido como SSL) é um dos protocolos mais utilizados para conexões seguras no cenário cliente/servidor, podendo ter outras aplicações.
Veremos nesta apresentação os conceitos clássicos e modernos de criptografia e como o TLS coloca esses conceitos em prática para manter as conexões seguras.
Venha aprender a como manter seus dados em trânsito a salvo dos curiosos, protegendo não somente a sua privacidade, mas também a de seus usuários.
![author photo](/media/rob_DnOw5hy.jpg)
[Segurança] Python: amor de hackers/pentesters desde sempre
Python é uma linguagem apaixonante, como todo mundo sabe. Segurança é uma área apaixonante, como algumas pessoas já descobriram :)
Juntar as duas tem tudo pra dar certo, e deu certo por muito tempo: se você conhece alguém da área de segurança provavelmente já ouviu essa pessoa falando de Python apaixonadamente em alguma ocasião.
Mas quais os motivos que levaram à essa relação tão bonita?
Na conversa eu vou abordar algumas coisas bacanas, como os motivos que levaram Python a ser a linguagem mais adotada/usada em ferramentas, exploits, provas de conceito e afins; Vou mostrar quais os seus principais usos na segurança ofensiva, principalmente na praticidade de integração entre ferramentas (e na facilidade de fazer exploits). E no fim, vamos falar um pouco de custo-benefício sobre Python e outras linguagens emergentes que começaram a ser usadas na área (como Go e Rust).
Essa palestra é para todos os níveis de conhecimento em segurança - segurança não é tão difícil quanto parece e queremos mostrar por onde começar também :)
![author photo](/media/45263872_1173016659522938_3733034906230456320_n.jpg)
[Segurança Residencial] Python + Raspberry + Arduino: Solução Baseada em IoT para Segurança Residencial
Soluções baseadas em IoT para Segurança Residêncial usando Python, Raspberry Pi e Arduino
Tópicos:
• Arduino
• Raspberry Pi
• Sistema de Alarme/Aviso
• Integração com Sistema de Detecção e Reconhecimento Facial
• Prototipagem
• Segurança
Objetivo:
Mostrar pesquisas feitas com Open Hardware e Open Source (Raspberry, Arduino e Python[OpenCV]) aplicando em residências, para garantir um certo grau de segurança ou apenas para prevenir algo de pior. Minha proposta para essa palestra é mostrar pesquisas que fiz usando Arduino, Raspberry e Python, para montar um pequeno sistema Residência que usa Detecção e Reconhecimento Facial. Funcionamento do Sistema de Detecção e Reconhecimento Facial interligado e trocando dados com o Arduino (escravo), mostrar montagem/prototipagem do projeto e debater sobre.
Servindo conteúdo em escala na globo.com
Como criamos um ecossistema para publicar todos os tipos de conteúdo da globo.com usando tornado, jinja.
Nesta palestra iremos mostrar a construção do microsserviço de publicação da globo.com e seus subcomponentes:
- Arquitetura do sistema e escala
- Componentes reutilizáveis
- Funções serverless para enriquecer o conteúdo
- Garantia de freshness do conteúdo
- Caso de uso
![author photo](/media/45263872_1173016659522938_3733034906230456320_n.jpg)
[Software] Python IoT – Detecção e Reconhecimento de Faces, aplicações na sociedade
[Palestra da Python Nordeste 2018 (Melhorado)]
IoT é o futuro, mas será que estamos prontos para ele? A palestra aborda essa pergunta e outras do gênero, focando em IoT, Segurança, Automação, Escolas, Empresas. Utilizando Python com OpenCV e Raspberry Pi para exemplificar modelos do que pode ser utilizado.
Tópicos:
• IoT e Rapsberry Pi
• Detecção e Reconhecimento Facial
• Aplicação e seu uso
• Problemas de Segurança
Objetivo:
Debater sobre medidas de segurança em IoT, mostrar aplicação de reconhecimento e detecção de faces, para estudo de caso. Amostra de código, implementações, em que e onde podemos usá-lo. Ex.: Detecção e Reconhecimento facial de criminosos, pessoas desaparecidas, em escolas, empresas e outros lugares.
Sonicbox: Fazendo Música com Sonic Pi e Kivy
Sonic Pi é um instrumento musical onde você programa a música. Ou muitos instrumentos musicais, depende só do que você quer fazer. Ele vem com diversos sintetizadores e samples para você fazer todo tipo de som que vier na sua cabeça. Foi feito para performance ao vivo. Basicamente, você abre seu computador, liga na caixa de som e começa a compor ao vivo a sua música, as suas batidas. E não é necessário nenhum conhecimento prévio nem em programação nem em música para começar a mexer com ele.
Kivy é um framework multiplataforma que permite fazer aplicações em Python com interfaces inovadoras para Linux, Windows, OS X, Android e iOS.
Sonicbox é um aplicativo em Kivy para controlar o Sonic Pi. Atualmente ele possui três telas:
- Samples: Para explorar facilmente a biblioteca de samples do Sonic Pi.
- Synths: Para testar e experimentar os diversos sons dos sintetizadores do Sonic Pi e as escalas existentes na teoria musical, mesmo que não saiba nada de teoria. Você escolhe o sintetizador, a escala e toca como quiser. As notas sempre vão combinar.
- Drum Machine: Para montar visualmente linhas de bateria. Só marcar onde quer que tenha o bumbo, a caixa e os pratos e apertar play.
O Sonicbox ainda está em desenvolvimento e é provável que até a palestra tenha mais novidades.
Essa palestra será totalmente mão na massa. Vai ter muito som! Muito live coding! Vou começar mostrando como fazer música com Sonic Pi, como tocar as primeiras notas e acordes, como usar escalas (você não precisa saber como funciona pra usar!) e outros conceitos de música, como usar mexer com samples e como começar a brincar de compor ao vivo. Em seguida, vou apresentar o Sonicbox e mostrar como utilizá-lo para fazer ainda mais música, ainda mais barulho ;)
![author photo](/media/foto_ef-min.jpg)
SUAP - Um software desenvolvido por uma instituição pública para instituições públicas
O governo federal gasta milhões com desenvolvimento de programas de computador sob encomenda. Apesar disso existem diversas instuições que carecem de uma estrutura de software adequada.
O SUAP (Sistema Unificado de Administração Pública) é um software em Python e Django com aproximadamente 300 mil linhas de código e com mais de 30 módulos idealizados e desenvolvidos pelo IFRN (Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte).
O SUAP está revolucionando a administração pública com um software desenvolvido por uma instituição pública para as instituições públicas.
Tecnologia cívica: o que importa são as perguntas
O Brasil é um país que tem muitos dados abertos – nossa Lei de Acesso à Informação é referência mundial. Mas isso, por si só, não dá a força necessária para projetos de tecnologia cívica gerar impacto. Essa palestra traz a sociologia e a filosofia para discutir quais elementos de projetos de tecnologia aumentam o potencial de impacto social e de engajamento de projetos de tecnologia cívica. O foco tem que ser não apenas em dar roupagem nova aos dados abertos, mas em usá-los para fazer (e responder) perguntas sobre como o governo tem cuidado da sociedade.
Tentar dominar o mundo [Carreira]
Trabalho com Python desde 2006. Vou apresentar minha trajetória com Python no âmbito profissional e acadêmico. No âmbito acadêmico vou mostrar alguns trabalhos do curso de Ciência da Computação que foram desenvolvidos em Python. No meio profissional como utilizo o Python em meu trabalho e como facilita minhas atividades. Trabalho em Florianópolis e vamos trocar uma ideia sobre como o mercado está aquecido para desenvolvedores Python na região.
[Testing] Open Sourcing The New Test Framework From Facebook
Facebook Production Engineering has a fairly large Python codebase and we require good test coverage. Writing test cases, mocks, patches, is not always easy and can be a big source of frustration. We built a new test framework, TestSlide, that makes mocking easier than ever before. We are proud to open source it at Python Brasil 2018.
TestSlide borrows concepts form other environments, bringing Python testing to the next level. TestSlide has a collection of components, that you can use all together, or stand alone alongside other existing test frameworks.
- StrictMock is a well behaved mock object, that only has the behavior you told it to have. This means, you won't get false results when you run tests, because your mock did something unexpected. It also supports API validation, so it will only have the attributes that the template class has. It also works for magic methods seamlessly.
- To define behavior, mock_callable() does the job for functions and methods. You can define which calls to accept, what to do when the call is received and define assertions on the number of calls. It is composable, so you can define complex behavior using just a few lines. To mock instance creation, you can use mock_constructor(), so you can easily mock your backends for unit testing.
- For TDD / BDD people, fans of frameworks like RSpec, Mocha or Jest, TestSlide's DSL makes you feel at home. With it, you can easily declare complex test scenarios and get an English readable output when you run your tests. This decouples test intent from implementation, making refactoring a breeze when needed.
- TestSlide's Test Runner allows fast iteration cycles when writing code. It has a very readable colored output, specially on failures. It allows to focus execution on a single test, or skip another test, without ever leaving your text editor. Oh, it also works with Python's unittest.TestCase.
![author photo](https://lh3.googleusercontent.com/-BKHrPTs1JcA/AAAAAAAAAAI/AAAAAAAAAAg/4NxXhlx4dAc/photo.jpg)
The State of Serverless Python
Every day it seems like a new service provider or framework for managing serverless applications goes live. In this talk I why you should consider letting someone else maange your infastructure by utilizing serverless frameworks. I'll present what's going on in the Serverless world, compare the key providers and frameworks to watch as a python Dev, and run through some of the processes you can use to manage and deploy your applications.
Tudo o que você precisa saber sobre Web Scraping com Python!
Como funciona a coleta de dados na web utilizando Python?
Nesta palestra vamos ver as várias aplicações, implicações, ferramentas, exemplos práticos e dificuldades no uso do Web Scraping com Python.
Unindo o útil ao agradável: Desenvolvimento de aplicativos móveis com Ionic e Django
Nessa palestra vamos discutir o cenário do desenvolvimento de aplicativos móveis e o poder da web
para o futuro(presente) dos apps mobile e progressive web app através de um relato de experiência
no desenvolvimento de aplicativos multiplataforma com Ionic e backend com Django e Django Rest Framework.
Abordaremos:
- Análise de um case: escolha da tecnologia, prazos, demandas, curva de aprendizagem e gerenciamento de equipe;
- Benefícios, facilidades e desvantagens do Ionic em comparação com o desenvolvimento nativo;
- Por onde começar e como trabalhar no frontend e backend de aplicações;
- Como e por que Django no backend;
- Start e estrutura de um projeto com Ionic e Django.
![author photo](https://lh5.googleusercontent.com/--Z8PydT9y0k/AAAAAAAAAAI/AAAAAAAAF8c/9p_EAXT9SMY/photo.jpg)
Usando recursos avançados da ORM do Django para consultas mais eficientes
A ORM do Django é uma ferramenta poderosa para realizar consultas em bancos de dados de forma simples e pythonica. Com algumas poucas chamadas de métodos já é possível realizar diversas consultas interessantes em um conjunto de dados.
Mas e quando essas funcionalidades mais básicas não são mais suficientes? Adicionando um pouco mais de complexidade à nossas queries, é possível otimizar consultas pesadas ou crirar novas que não são nem possíveis com os métodos mais simples.
Sabe aquela parte da documentação onde a gente nunca chega e pensa "um dia eu vou usar essas coisas"? O propósito dessa palestra é finalmente explorar essa mina de ouro que são os recursos avançados dos QuerySets do Django.
Para ver o potencial disso na prática, nada melhor do que dados da vida real. Afinal, queremos saber como esses recursos podem otimizar projetos concretos. São duas bases de dados públicos do Brasil: todos os sócios de empresas do país e gastos de Cota Parlamentar da Câmara dos Deputados. Vamos tentar responder perguntas complexas a partir desses dados usando recursos como Prefetch, FilteredRelatios, F expressions e Subquery.
Visualização de Dados com Processing.py
Processing (processing.org) é uma IDE, linguagem de programação e uma ferramenta para expressão visual. Como o código vira algo que você vê, ele é uma ótima ferramenta para aprender a programar, prototipar visualizações de dados ou criar instalações de escala real.
Originalmente com uma sintaxe baseada em Java, hoje é possível escrever o código em JavaScript e Python. Nessa palestra interativa, onde ambos iniciantes em Python e sêniores interessados em visualização/artes são bem-vindos, iremos apresentar o Processing.py, suas primitivas que permitem a expressão visual e, finalmente, criar um projeto que põe em prática conceitos de programação no nosso mundo físico.
Essa palestra é para você se:
1) Está começando a programar agora, e acha que os conceitos são muito desconectados da realidade: vamos mostrar exemplos de como conceitos básicos como loops, funções e classes podem ser usados pra construir algo mais concreto;
2) Já programa há tempo, mas é focado em backend pois não gosta da parte visual de frontend: vamos mostrar um outro paradigma para expressão visual através de código (existe vida além de CSS);
3) Sempre foi interessado na parte de jogos e realidade virtual e gostaria de ver algumas das primitivas: uma das inspirações de Processing é OpenGL;
![author photo](/media/WhatsApp_Image_2018-06-01_at_15.30.05.jpeg)
Watson, QnA Maker, SpaCy e Serverless? Construindo bots no mundo moderno
A linguagem é o principal meio de comunicação do ser humano, seja para fazer as atividades mais básicas do dia a dia ou até mesmo para negociar valores milionários entre companhias. As facilidades que a tecnología nos traz nesse meio ao quebrar fronteiras e nos fornecer maneiras de sermos mais eficientes vem sendo acompanhada de perto pelo advento e crescimento da inteligência artificial, logo: bots!
Existem várias formas de construi-los, de ensina-los e com certeza algumas ferramentas como o IBM Watson e o QnA Maker da microsoft podem auxiliar e simplificar seu desenvolvimento, principalmente se criado em conjunto com AWS Lambdas e a lib SpaCy, um para criar uma arquitetura desacoplada e mais funcional e o outro para limpar tudo e tornar nossos bots mais perceptíveis.
![author photo](/media/Flavio_-_square.jpg)
[Web] [BD] Normalize até machucar, desnormalize até funcionar em Django
Esta palestra foi apresentada na Python Nordeste 2018. Slides disponíveis em: http://bit.ly/pyne-normal
Será que você como programador Django realmente leva em consideração todas possíveis redundâncias de dados dos seus models? Tudo bem, talvez na primeira vez que você definiu seu esquema de banco de dados você tenha pensado nisso, mas e quando fez sua última migração? Será que o novo campo que você introduziu não é redundante pois é computável a partir de outros campos?
Muitos desenvolvedores, mesmo os mais experientes, ignoram a boa prática que é considerar o BD como uma representação de fatos sobre a realidade. Se houver mais de uma maneira de extrair um único fato do BD, então há uma redundância nele! No pior caso, uma redundância pode causar anomalias nos dados e bugs na aplicação. No melhor caso, uma redundância exige mais código de aplicação com testes para manter dados redundantes consistentes. Ou seja, redundância é uma dor de cabeça! Será que existe uma forma inteligente de descobrir e evitar redundância de dados? Ou quando for necessário ser redundante por questões de performance, fazer dados computados com o mínimo de código e o máximo de automação? A resposta é sim: com técnicas de Normalização e Desnormalização respectivamente.
Normalização é um processo que envolve seguir uma série de regras para reestruturar um banco de dados sem perder os fatos originais representados por ele. O conjunto tradicional dessas regras são as Formas Normais: 1NF, 2NF, etc... sim, aquela coisa chata e super formal que alguns já viram. Mas, na verdade, nem as formas normais são suficientes para evitar tipos comuns de redundância*! Por isso, nesta palestra você aprenderá uma regra mais geral sobre normalização em uma linguagem amigável. Mostraremos diferentes exemplos em Django sobre redundâncias não-triviais e como resolvê-las. Também veremos como query expressions, uma funcionalidade de Django que muitos não conhecem e que permite evitar redundâncias ao computar dados em momento de consulta.
Sabendo que Normalização pode gerar problemas de performance, vamos discutir Desnormalização, que é diferente de não-normalizar. Na realidade, desnormalizar significa usar técnicas como cronjobs, indexes, caching, materialized views, triggers e NoSQL para agilizar consultas em uma tabela normalizada sem perder consistência.
Com os insights sobre Normalização e Desnormalização apresentados nesta palestra, programadores Django aprenderão novas técnicas para ter um BD que representa fatos sobre a realidade sem inconsistências.
* Talvez você duvide disso, mas realmente as Formas Normais só discutem dependências (e por sua vez redundâncias) em uma única tabela, ignorando dependências entre tabelas que são muito comuns em aplicações reais. Mais sobre isso neste artigo revisado por Codd, Fagin e Date, figuras chave do modelo relacional.
[Web/Bots] Criando um bot serverless usando Zappa
Vamos descobrir o que é Zappa, uma ferramenta que torna muito fácil criar e fazer deploy de aplicações serverless em python (incluindo web apps WSGI) na AWS Lambda + API Gateway. Para entender bem como funciona essa ferramenta criaremos um Bot de Telegram.
Vamos entender como que podemos criar aplicações que escalam muito bem e são super baratas com essa ferramenta.
[Web] Coração de Node sempre cabe mais um: rodando Python com Node.js
Como funciona um casamento entre ambas tecnologias? Vamos explicar como trabalhar com a execução de scripts em Python através de Node.js. De um overview dos potenciais de ambas as tecnologias até as principais funcionalidades do python-shell, framework facilmente instalado em Node. Serão apontadas funções coringa, bugs mais comuns e dicas sobre aonde utilizar e o porquê ser útil aprender.
A palestra será dentro dos 25 minutos, e a ideia é que seja dividida em 4 atos. O foco é para programadores Python e até mesmo Node de diferentes níveis.
1 ato (5 minutos): apresentação geral minha, do projeto NodeGirls e falar um pouco sobre ambas as tecnologias (Python e Node.js).
2 ato (10 minutos): overview geral da ferramenta e instalação, além de casos de uso (exemplos).
3 ato (10 minutos): funções coringa, bugs mais comuns e aonde utilizar.
4 (5 minutos): conclusões finais sobre a palestra e abertura para dúvidas.
A intenção não é apenas apresentar os lados positivos da ferramenta, mas mostrar quais são suas reais utilidades, abrindo um debate interessante com o público e saindo da forma engessada de didática em eventos.
![author photo](/media/FB_IMG_1524139763898.jpg)
Web crawling e scraping com Scrapy e Scrapy Cloud
Scrapy é um framework escrito em Python voltado para web crawling e web scraping. Esta poderosa ferramenta facilita a construção de bots (spiders) capazes de automatizar a indexação de páginas da web e realizar a extração de conteúdo através da técnica de raspagem de dados. Já o Scrapy Cloud é uma plataforma criada e mantida pela Scrapinghub voltada especificamente para a execução de web crawlers em nuvem. Ao subir o projeto para o scrapy cloud, é possível agendar, acompanhar e gerenciar a execução das spiders de forma simples e clara.
No Love Mondays, utilizamos estas tecnologias para reunir vagas de emprego de diversas fontes. Os dados são tratados e disponibilizados em nosso site contendo um link para o endereço de origem. Isso significa que, ao buscar uma vaga no Love Mondays, o usuário tem acesso a um banco de informações extremamente volumoso sem a necessidade de visitar diferentes sites um a um.
![author photo](/media/profile_crjpyri.jpg)
[WEB] Django Rest Framework - Criando API's REST com 3 linhas de código
Todos sabemos que Python é vida, amor, ritmo e poesia, com Django então, tudo fica lindo. Hoje em dia está muito difundido o uso de API e o REST é um dos padrões mais adotados. Para quem usa Django, o DRF é uma das mais robustas ferramentas para resolver esse problema. Vamos ver como criar API's REST com apenas algumas linhas de código, preparando sua aplicação para alimentar outras aplicações
Vamos abordar
Viewsets
Routers
Serializers e seus metódos
Permissões
Custom routers (Nested routers)
Documentação
e outras coisitas mais
[Web] Implementando suporte a multi-tenancy em uma aplicação crítica
Esta apresentação é indicada para quem planeja escalar e distribuir o seu sistema em nuvem ou tem curiosidade sobre o assunto.
Vou compartilhar informações valiosas sobre o que aprendemos com os problemas e desafios encontrados ao longo dessa jornada e boas práticas sobre o tema que poderão lhe ajudar a implementar a sua própria solução e a migrar o seu sistema ou o da sua empresa.
Você verá o que acontece quando soluções que operam em caráter on-premise, dentro dos sites ou data centers do cliente, precisam se tornar multi-tenant, suportando múltiplos clientes ou organizações.
Foi o que aconteceu com a Evolux, uma solução web de atendimento por voz construída para operações críticas e de alto valor agregado e que entrega toda a tecnologia necessária para um Call Center como serviço.
[Web] Implementando um motor de busca em um projeto Django com Elasticsearch
Ao invés de simplesmente filtrar seus dados, como seria feito com SQL, um motor de busca performa um “textual matching”, e é especificamente otimizado para lidar com dados textuais. Além disso, os conteúdos indexados podem ter diferentes relevâncias, características linguísticas podem ser escolhidas, e até mesmo sinônimos.
Nesta palestra, discutiremos as vantagens de utilizar um motor de busca, e como utilizar o Elasticsearch para processar e consultar de forma super rápida uma grande massa de dados no seu projeto Django.
[Web] Quebrei minhas aplicações em microsserviços, e agora?
Essa palestra tem como objetivo apresentar uma possível solução para diminuir os problemas que uma arquitetura orientada a microsserviços traz para um ecossistema e o efeitos colaterais causados por essa escolha arquitetural.
Vamos passar pelos motivos que fazem um time / empresa escolher trabalhar com aplicações menores ao invés de grandes monolitos, o sofrimento inicial, a dificuldade da definição de barreiras de cada serviço e como evoluir para um ambiente mais saudável uma vez que todas as aplicações são serviços menores, de responsabilidade de times diferentes.
Web Scrapping com Python: Os dados em suas mãos
Uma palestra focada no público iniciante que tem curiosidade ou não sabe sobre o que é o Web Scrapping e suas aplicações. Serão usados exemplos práticos de extração de dados com python e suas mais variadas aplicações.
![author photo](https://lh6.googleusercontent.com/-7Q3axndztLY/AAAAAAAAAAI/AAAAAAAAAF0/3qwzt2Vx82o/photo.jpg)
[Web] Scrapy beyond the first steps
Scrapy is the most popular web scraping / web crawling framework out there. It provides several out-of-the box configurable features for the most common needs for web crawlers in general.
However, when your project starts growing up, you will feel the need to tailor Scrapy further to your needs. You'll need to create custom request/response processors, data validators, etc.
In this talk you will learn how to take the best out of Scrapy in terms of design by taking advantage of built-in components like signals and extensions to respond to events that happen during the crawl.
We will also cover how to plug functionality into Scrapy by using a few additional components like:
- spider middlewares (customize resources going in and out of spiders, like requests, responses and scraped items)
- downloader middlewares (customize Scrapy's request/response processing)
- item exporters (serialize the extracted data into files)
- item pipelines (custom post processing/validation of extracted items)
[WEB]Use seus próprios temas no Django Admin.
O Django Admin(https://docs.djangoproject.com/en/2.0/ref/contrib/admin/) é uma das mais poderosas ferramentas para desenvolvimento web de forna rápida, porém vem com um único tema como padrão este tem um visual bastante básico, por isso as vezes é necessário adicionar seus próprios temas.