Uma revisão do meu ano de 2021. Pra mim foi um ano de tirar o mofo de algumas paredes: sai de um kitnet para um apartamento com dois quartos (um só pra escritório :) ), mudei de emprego, adotei um novo projeto open source.
Eventos
Participei de poucos eventos em 2021. Como desenvolvedor PHP eu tentei ajudar a organizar o PHPeste, mas infelizmente o evento não saiu do papel. Realizar um evento online é muito mais complicado, todo o meu respeito a quem fez acontecer!
Como participante eu estive na Python Nordeste e Python Brasil.
Na Python Nordeste eu só consegui ver os keynotes, tanto o da Ana Paula, quanto o da Clara Nobre. Foram duas palestras importantes pra discutir comunidade e inclusão.
Na Python Brasil eu participei mais ativamente, vi todos os Keynotes, partipei de mesa de conversa e das sprints. Vi a palestra da Débora Azevedo sobre a Python Software Foundation e aprendi bastante sobre a organização por trás do Python. Participei da sprint do Querido Diário e adicionei o crawler para o diário municipal da minha cidade natal Pau dos Ferros/RN.
Hacktoberfest
O crawler do Querido Diário foi uma das minhas contribuições pro Hacktoberfest. Foi minha quinta participação no evento.
Além do Querido Diário, contribui também para o WireUI, o projeto de um amigo que disponibiliza inputs customizáveis e simples para uso com o Laravel e Livewire (olhem e roubem o template de documentação dele, lindão!).
Explorações
- Adotei o querido diário como projeto open source. Sugeri adicionar o projeto a disciplina de ciências de dados da UFRN e estou ajudando dois grupos a trabalharem com o projeto.
- Como desenvolvedor PHP fiz umas coisinhas bem legais:
- Ajudei a fazer várias refatorações em um projeto legado do trabalho, saindo de pouco mais de 100 testes pra mais de 450 em menos de 05 meses
- Desenvolvi uma funcionalidade super legal de geolocalização. Um vendedor podia atender/visualizar/interagir com clientes de acordo com sua localização e áreas assignadas a ele (que eram desenhadas sob um mapa). Isso merece um post, tá no meu roadmap :p
- Desenvolvi um sistema de workflow com regras lógicas de and/or que permitia gerentes criarem fluxos como: se um cliente tivesse seu status atualizado para “esperando design” uma nova task para os designers era criada; ou se um cliente tivesse o seu pagamento aprovado um sms era enviado a ele.
- Virei um pesquisador e programador Python, hehe, e estou ajudando a desenvolver o Ipyannotator um anotador que ajuda a construir o arcabouço para projetos de machine learning em notebooks jupyter. Fazem dois meses que estou no projeto, mas já fiz umas coisinhas bem legais.
- Aprendi muito sobre desenvolvimento para notebooks jupyter. Principalmente sobre a biblioteca nbdev que permite a construção de bibliotecas python utilizando “programação letrada”. Além das bibliotecas de desenvolvimento de interfaces gráficas para notebooks jupyter: ipycanvas, ipywidgets.
- Refatorei todo o sistema de anotação para diminuir o acoplamento dos anotadores. Isso resultou em uma nova camada de estados para cada um dos anotadores. A solução é bem legal, usa o Pydantic para validação dos dados e o PyPubSub para o sistema de eventos GUI.
- Se você se interessar pelo projeto eu desenvolvi também um tutorial mostrando como um construir um novo anotador para ele.
- Na faculdade eu:
Compliqueidesenvolvi uma arquitetura para comunicação entre um sistema web e um sistema de câmeras para controle e gerenciamento de filas do RU. A ideia é que câmeras tiram fotos a cada 30 segundos e atualizam o sistema que: processa o nível da fila, descarta a imagem e envia as informações para uma API. Essa API permite que os alunos visualizem o quão cheia tá a fila do RU naquele momento.- Aprendi sobre RMI e Middlewares. Como prova de conceito de middlewares utilizei o sistema Fiware para desenvolver uma aplicação que permitia que canais de TV cadastrassem seus filmes (com o gênero de filme), usuários de TV se registrassem para receber notificação de algum gênero de filme e fosse notificado minutos antes do filme começar.
- Desenvolvi algumas soluções pro jogo dos 8 números.
- Aprendi bastante sobre tópicos de especificação e verificação de programas usando o Maude e Atelier B.
- Implementei o algoritmo Dsatur para a coloração de grafos e defini que queria trabalhar com isso no TCC.
- Iniciei o TCC.