coding weekly #197

Newsletters - 25/Mai/2022 - por Campus Code
A sua newsletter da Campus Code • Edição 197 - Maio de 2022

Hey! Tudo bem?

Elixir tem se mostrado uma linguagem de programação bastante versátil e vem ganhando cada vez mais mercado. Se você está descobrindo como utilizá-la ou precisa evoluir na linguagem, aproveite as dicas desta edição para melhorar performance, entender melhor como é a arquitetura dirigida por eventos e porquê a orientação a redução pode ser a melhor escolha em aplicações desenvolvidas em Elixir

Você também vê sobre formatação e padronização do código em Ruby com RuboCop, um caso para “Query Objects” no Rails, como utilizar Scientist para refatorar códigos críticos em Ruby on Rails, um relato de caso de crise existencial como dev e como explorar vulnerabilidade de serviços.

Boa leitura!

ELIXIR

Imagem animada de uma poção roxa em uma garrafinha redonda.
Utilizando profiling em Elixir para aumentar a performance

Imagine uma aplicação rodando com Elixir, mas algumas partes não estão funcionando tão rápido quanto você queria. Nessa circunstância, é possível recorrer ao profiling. As ferramentas de profiling geralmente nos informam a frequência e duração de cada função chamada e em que parte do código ela gasta mais tempo, auxiliando a otimizar as áreas certas. Nesse artigo, conheça três ferramentas de profiling em Elixir e suas vantagens. Dica do Lucas Perez.

Guia de arquitetura dirigida por eventos com Elixir

Neste artigo você verá um guia sobre arquitetura dirigida por eventos utilizando Elixir para tornar sua aplicação mais responsiva e com uma experiência desacoplada de módulos para as pessoas desenvolvedoras do time. Dica do André Benjamim.

Aprendendo Elixir: tudo é redução

Se você gosta de piratas e de Elixir, esse artigo é para você. Nele você vai conseguir entender um padrão de implementação em Elixir chamado CRC (construct-reduce-convert ou construir-reduzir-converter) que pode, potencialmente, ser utilizado em diversos contextos na sua aplicação, seguindo a lógica tão amada pelos corsários: o caminho mais fácil. Dica do Lucas Perez.

CAMPUSCODERS INDICAM

Trecho do filme do Pokémon em que o personagem segura uma lupa e a leva à frente do olho.
Linting e formatação automática de código Ruby com RuboCop

Durante o desenvolvimento de aplicações com Ruby on Rails, é muito importante nos atentarmos às regras de estilo e seguir as chamadas boas práticas da linguagem. Parte considerável dessa prática é a formatação e padronização do código. Tão importante, aliás, que ferramentas de linting, que fazem a checagem automática de código para buscar erros programáticos e de estilo, e de auto-formatação foram criadas para auxiliar nessa tarefa. Esse artigo trata da mais famosa dessas ferramentas, o RuboCop, e te ensina a integrá-lo em seu projeto e torná-lo parte da sua rotina de trabalho. Dica do Ederson de Lima

Um caso para Query Objects no Rails

No Rails existe uma classe de objetos chamados Query Objects, ou objetos de consulta, que tem por objetivo encapsular uma consulta de banco de dados para que possa ser reutilizada, combinada e parametrizada. Nesse artigo, você aprenderá sobre o potencial de usar esse tipo de objeto, quando usá-lo e como estruturá-lo. Dica do Ederson de Lima.

Utilizando Scientist para refatorar códigos críticos em Ruby on Rails

Se você pedir a qualquer dev para avaliar partes de um código em produção, é inevitável que sinalize alguns trechos que precisam ser refatorados. Mas, então, por que o código de baixa qualidade ainda existe nos ambientes de produção? A resposta é simples: paira um medo de alterar, principalmente se o código foi feito por alguém que já saiu do time e ninguém mais entende, ou então se é algo tão crítico e sensível para o funcionamento da aplicação que ninguém quer ser responsável por danos financeiros ou a interrupção do funcionamento por um período de tempo. Nesse artigo, veja como usar o Scientist para migrar, refatorar e mudar com confiança códigos Ruby em produção. Dica do Ederson de Lima.

Minha recorrente crise existencial como dev

O que estou fazendo com minha vida? Será que estou só perdendo tempo? O que eu faço realmente importa? Essas questões são bastante complicadas de se responder e, muitas vezes, acabam nos atormentando, causando as famosas crises existenciais (que, convenhamos, todos teremos um dia). Nesse pequeno texto, Tyler Hawkins compartilha suas reflexões sobre as questões que permeiam nosso senso de existência, tanto pessoal quanto profissional. Dica do André Kanamura.

Explorando vulnerabilidade

Segurança da informação é um dos tópicos que tem ganhado muita visibilidade nos últimos anos, embora riscos e vulnerabilidades existam desde sempre. Nesse artigo de Augusto Ribeiro, você vê uma situação real de vulnerabilidade utilizando o serviço webmin em um ambiente controlado. O autor disseca um pentest e ajuda a compreender como funciona a exploração de um serviço vulnerável. Dica do João Henrique do Vale.

Campus Code