PythonSul 2019 - Curitiba

A Python Sul é um evento que reúne entusiastas e profissionais da linguagem de programação Python da região sul do Brasil (Rio Grande do Sul, Santa Catarina, e Paraná) favorecendo a troca de experiências, conhecimentos e interação entre as comunidades da região.

Em 2019, Curitiba irá sediar o evento que irá ocorrer entre os dias 12 e 14 de setembro na Unicuritiba. Esperamos receber cerca de 300 pessoas nas nossas atividades que incluem palestras, tutoriais e sprints de programação. Além disso, queremos promover a inclusão através de políticas de apoio a diversidade e ingressos sociais. Esta conferência é um evento sem fins lucrativos, organizada pela comunidade e para a comunidade.

Em caso de dúvidas, não hesite em nos contactar.

Código de conduta

Este evento possui um Código de Conduta e todo participante, palestrante e membro da organização deve concordar com o mesmo. Em caso de dúvidas, não hesite em nos contactar.

Dúvidas?

Caso você possua dúvidas sobre a Python Sul, envie um email para pythonsul@gmail.com.

Mais informações em pythonsul.org.


author photo

Beleza, Django é massa! Mas como funciona? O que acontece por baixo dos panos?

Django é um framework bastante popular, de código aberto, para desenvolver aplicações web de forma fácil e rápida.


A união da simplicidade da linguagem Python com a velocidade de desenvolvimento que o django proporciona resulta em um desenvolvimento limpo e consistente permitindo ao desenvolvedor focar nos “problemas” da aplicação e não na arquitetura e configurações.


Legal, mas como ele funciona por baixo dos panos? O que acontece?


Nesta talk veremos como o Django é estruturado, sua arquitetura e funcionamento.

Use the buttons bellow to vote:

author photo

Broadcast Cidadão. Perfil de Bolsonaro: Twitter, Legislaturas como Deputado Federal (discursos, gastos, fornecedores)

Usando Raspagem de Dados de Redes Sociais e da nova API da Câmara dos Deputados, iremos enviar automaticamente posts das Análises feitas, para o Instagram, Facebook e Twitter.

Use the buttons bellow to vote:

author photo

Desafios soluções e experiências na revisão de código

O processo de revisão de código está cada vez mais incorporado no ciclo de desenvolvimento de software de empresas. O que antes era uma atividade quase exclusiva em contribuições de projetos de código aberto agora já é padrão também em projetos internos. Entretanto nem todas as pessoas estão acostumadas com o processo de revisar o código alheio ou ter seu próprio código revisado. O despreparo de equipes quanto ao processo de revisão pode inclusive dimiuir a produtividade do time, afetar a qualidade do projeto e o relacionamento das pessoas.


Nessa apresentação serão expostas boas práticas para se adotar enquanto revisa o código de colegas bem como o que se atentar antes, durante e depois da própria submissão de código. Dada a natureza interpessoal da atividade serão abordados aspectos tanto de relacionamento e cuidados na comunicação mas também dicas do que se atentar ao revisar especificamente código escrito em Python.

Use the buttons bellow to vote:

author photo

Descanso: não um luxo, mas uma necessidade

Muitas vezes não sabemos descansar, o que pode levar a uma ruína psíquica. Dicas de como fazer isso. Meu trabalho tem sentido? Ter a coragem de mudar quando estamos num ambiente tóxico. Armadilhas do nosso temperamento. Higiene mental no mundo das redes sociais. Pontos básicos: sono, lidar com o stress, lidar com a diversidade de pessoas. As coisas são o que são e não o que gostaríamos que fossem. Serenidade e bom humor. Lidar com nossas vulnerabilidades psíquicas: minha experiência pessoal.

Use the buttons bellow to vote:

author photo

Em nome das boas práticas de código da Casa Django, Rainha do Backend, eu te sentencio a testar - A Game of Tests

Valar Testhaeris, todos os homens devem testar. Muitos desenvolvedores subestimam o poder dos testes, mas a noite é escura e cheia de erros. Nessa palestra, você irá aprender os truques do Game of Tests. E porque o homem que passa a sentença deve brandir a espada, nessa palestra, meu objetivo é te ajudar a entender testes automatizados em Django como iniciante, boas ferramentas que podem te ajudar no caminho e mostrar alguns exemplos práticos no assunto. Porque o que dizemos para o deus dos bugs? Hoje não.


 


Essa palestra é adequada para pessoas iniciantes em testes ou que tiveram pouco contato com o assunto. Cobrirei o básico das ferramentas de teste do próprio Django, mostrando o que já vem de fábrica: TestCase, asserts, setUp, Client, Request Factory; e apresentarei algumas bibliotecas bem úteis (como Model Mommy) para ajudar os participantes a começarem no domínio dos testes em Django. Ao final da minha palestra, os participantes terão um entendimento melhor dos poderes dos testes, uma visão geral de como começar e dicas em possíveis problemas que provavelmente não encontrariam logo de cara em suas respectivas jornadas.


 


Preparem-se, os testes estão chegando.


 


Outline:


 


[1 minuto] - Quem sou eu


[5 minutos] - Quando você joga o Game of Tests, você ganha ou chora: Introdução



  • Todos os homens devem testar: por que muitos iniciantes não testam

  • Como não morrer na primeira temporada: dificuldades que você pode encontrar no início

  • A noite é escura e cheia de erros: os reais benefícios dos testes


[19 minutos] - Julgamento por combate: Como testar



  • [1 minuto] - O Dragão deve ter três cabeças: Pirâmide dos testes automatizados


          - Fim-a-Fim


          - Integração


          - Unitário



  • [2 minutos] - A Muralha (de testes): Estrutura de testes


          - test_views


          - test_forms


          - test_helpers



  • [5 minutos] - Os Primeiros Homens: Ferramentas de teste do Django


          - TestCase


          - setUp


          - Asserts



  • [5 minutos] - Os Homens Sem Rosto: Fábricas de objetos


          - Model Mommy


          - Fixtures



  • [2 minutos] - A Batalha dos Clientes


          - Request Factory


          - Client



  • [4 minutos] - As coisas que eu faço pelo mock


 


O que os participantes aprenderão nessa palestra?



  • Participantes aprenderão de forma ampla sobre a pirâmide de testes automatizados, Triple A e que tipos de testes existem

  • Participantes aprenderão por que testes são importantes e por que deveriam fazer parte da rotina de todo desevolvedor

  • Participantes sairão com um melhor entendimento sobre o que já vem de fábrica na suíte de testes do Django

  • Participantes entrarão em contato com ferramentas/bibliotecas open-source que poderão ajudá-los nas suas jornadas no mundo dos testes

Use the buttons bellow to vote:

author photo

Estrutura de Dados é <3

Eu amo Estrutura de Dados. Apresentação para iniciantes! Se você acredita que isso é possível, venha curtir uma pequena amostra de códigos e discussões apaixonadas. Recursão. Vetores. Pilhas e Filas. Algoritmos de Ordenação: inserção, seleção, mergesort, quicksort. Algoritmos de Enumeração. Boyer-Moore. Teoria dos Grafos. Deixe seus traumas e venha ser feliz. https://github.com/fmasanori/ED

Use the buttons bellow to vote:

author photo

Fazendo música com Python e FoxDot

FoxDot é uma biblioteca/Live Coding Environment feita em Python para fazer música com código. Ela vem com vários sintetizadores, samples e efeitos pra fazer qualquer tipo de música/baruilho. Você instancia os players, escolhe o sintetizador de cada um e passa uma lista de notas. Além disso, a teoria musical já vem implementada, então, por exemplo, você não precisa necessariamente saber quais notas tocar, basta escolher uma das escalas que aparecem no autocomplete e aperta ctrl+enter pra ouvir o resultado.


O objetivo dessa palestra é apresentar a FoxDot e mostrar que programação não é apenas para resolver os problemas do seu chefe e garantir o seu emprego. É também para explorar a sua criatividade e te dar uma nova forma de se expressar.
Vão ser apresentados conceitos básicos de teoria musical e composição, como acordes e escalas, e como aplicá-los na FoxDot para fazer música. A palestra vai ser toda mão na massa e todos os conceitos vão ser mostrados na ferramenta. Músicas serão compostas e tocadas ao vivo durante a palestra.


 


Público alvo: qualquer pessoa que goste de música

Use the buttons bellow to vote:

author photo

Jane Doe: como garantir proteção de dados pessoais no seu projeto.

Em dias de vazamentos de dados sigilosos, proteger os dados de clientes se tornou um ponto de falha para várias empresas e a solução está longe de trancar tudo em um lugar seguro. Compartilhar de dados é inevitável. Nesta palestra abordaremos o problema da anonimização de dados, explorando como usar técnicas de anonimização para proteger as informações pessoais dos usuários ao analisar, testar, processar ou compartilhar um banco de dados.


Jane Doe é uma personagem fictícia que perdeu a memória e não tem noção nenhuma da sua identidade, apesar disso ela consegue realizar as mesmas atividades complexas de antes. Essa palestra vai utilizar o exemplo de vida de Jane Doe no desenvolvimento de software, abordando como realizar uma anonimização em uma base de dados com o objetivo de permitir que qualquer um possa testar/analisar/processar sem infringir os direitos de privacidade do usuário garantidos pela Lei Geral de Proteção de Dados Pessoais (LGPD).


A partir de um projeto amostra, todos os campos de identificação pessoal do usuário serão substituídos por pseudônimos, explorando algumas estratégias genéricas de implementação, seus desempenhos e limitações. Por fim, o uso desse conceito excede o teste de features mais complexas, mas também protege a privacidade dos usuários nos sistemas em que trabalhamos.

Use the buttons bellow to vote:

author photo

Kubernetes? Docker? O que são? E onde fica minha aplicação Python?

SPOILER: O Kubernetes é uma plataforma open source que oferece recursos de manutenção, implantação e dimensionamento. Também simplifica o gerenciamento de contêiners com aplicações Python e fornece, ao mesmo tempo, recursos de portabilidade, extensibilidade e autorrecuperação.


Sendo sua aplicação simples ou complexa, com o Kubernetes você conseguirá implantar e dimensionar com eficiência, adicionando novos recursos sem interrupções utilizando apenas os recursos necesários, caso queira limitar. 


Nesta talk, desvendaremos estes mistérios e descreveremos o processo de implantação de uma aplicação Python com Kubernetes.

Use the buttons bellow to vote:

author photo

LGPD sim ...


Uma abordagem sobre a Lei Geral de Proteção de Dados, a partir de um cidadão e cientista de dados! Alguém que terá muito em breve direitos, deveres e pontos a se atentar...
Antes de qualquer sensação de qualquer sensação de pânico ou noites em claro por causa do assunto, iremos trazer através de uma linguagem simples e amigável os principais pontos da lei.
Como empresas que atuam/tratam dados (in)diretamente deverão se atentar e também como nós pessoas se portaremos junto a mesma.
Tanto a Ciência de Dados como a Inteligência Artificial serão impactadas pela lei e como de alguma podemos atuar perante ela ....

Use the buttons bellow to vote:

author photo

Lógicas de negócio com Django: como, onde e porque.

Uma dúvida bastante comum ao se desenvolver projetos web com Django é sobre onde se implementar lógicas de negócio. Embora Django encorage um desenvolvimento pragmático, seja pela documentação algumas vezes carente de objetividade ou projetos de maior complexidade, a questão de como e onde implementar as regras de negócio podem levar ao comprometimento do design das soluções.


Essa apresentação tem como objetivo trazer uma revisão bibliográfica sobre o tema, cobrindo desde o que diz a própria documentação do Django e outros frameworks auxiliares sobre mas também outros artigos, soluções, bibliotecas e tópicos relacionados. Longe de buscar exaurir a questão, até porque cada projeto e time possuem suas subjetividades, espera-se trazer ao público pontos de vista que enriqueçam suas futuras discussões de design e estudos seguintes.

Use the buttons bellow to vote:

author photo

Não faça trabalho de robô! Faça um robô que teste funcionalidades com Selenium!

O trabalho de testar seu código é uma das coisas mas massantes e muitas vezes é neglênciadas onde deixamos de notar detalhes importantes, ou até mesmo não testamos todas as funcionalidades. Muitas vezes deixando para o usário final testar nosso código. Com testes automatizado com Selenium você não precisará mais ficar simulando ações do usuários, testando o software como um todo.

Use the buttons bellow to vote:

author photo

NoSQL + SQL = PostgreSQL

Nesta apresentação veremos um pouco das capacidades NoSQL do PostgreSQL por oferecer suporte nativo a JSON/JSONB, HStore (chave/valor), XML, oferecendo excelente indexação e otimização no armazenamento, e atendendo aos requisitos ACID, portanto tendo o melhor dos dois mundos. Sem contar o alto poder de extensibilidade que oferece pela possibilidade de escrever novos tipos de dados, mecanismos de indexação, linguagens procedurais, adaptadores de fontes de dados externas (SQL/MED), entre outras diversas características excelentes.

Use the buttons bellow to vote:

author photo

O que são e como se livrar dos anti-patterns em código Python

Anti-patterns são soluções comumentemente utilizadas para resolver problemas recorrentes mas que geralmente são inadequadas, que podem levar a erros ou que não resolvem o problema efetivamente. De forma geral podemos associar os anti-patterns com maus hábitos que muitas vezes não nos damos conta o quão são prejudiciais.


Nessa apresentação serão apresentados diversos casos de anti-patterns ao se programar em Python e quais são as maneiras corretas de solucioná-los. A palestra é fortemente baseada no livro "The Little Book of Python Anti-Patterns", mas não se limita somente à essa publicação.

Use the buttons bellow to vote:

author photo

Thumbor: Performance e escalabilidade no processamento inteligente de imagens

O Thumbor é um projeto open source que nasceu e é amplamente utilizado na globo.com para processar de forma inteligente e servir mais de 1 bilhão de imagens por mês. Além de ser altamente extensível e escalável, o Thumbor foi desenvolvido em python, possui um conjunto de bibliotecas compatíveis com diversas linguagens e uma comunidade bastante ativa.

Use the buttons bellow to vote: