Profile

Yan Orestes @yanorestes


About Me

-

Proposals

[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!

Entendendo sockets no Python criando um bot de IRC

Trabalhar com sockets diretamente ainda é um medo para muitos desenvolvedores. Mas, à parte de algumas abstrações, fica claro que esse medo só existe por falta de uso. Nessa palestra, vamos descomplicar o assunto (e o módulo) sockets no Python, através de um projeto prático de bot de IRC, com funcionalidades diversas, objetivas e, acima de tudo, interessantes! Ao final da palestra, os participantes devem conseguir entender os conceitos geral de programação de sockets e como funciona essa implementação na poderosa linguagem Python :D.

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

[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!

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

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.

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!

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