coding weekly #266

Newsletters - 18/Out/2023 - por Campus Code
A sua newsletter da Campus Code • Edição 266 - Outubro de 2023

Hey! Tudo bem?

Nesta edição, nossa equipe selecionou conteúdos para aprofundar e evoluir em Ruby e Rails. Você vai entender melhor como funcionam os parâmetros de bloco numerados, ver dicas para escrever um código mais claro e eficaz e como a equipe por trás do agregador de links Lobste.rs o transformou em um um caso de teste de benchmark para avaliar o desempenho do YJIT em comparação com o mecanismo Ruby MRI padrão.

Você também vê 14 maneiras de reduzir riscos de feature flags, como escrever código CSS eficiente a partir do conceito de especificidade, como manipular e recuperar dados em bancos de dados relacionais com os diferentes tipos de SQL join, diferentes estratégias de tentativas em sistemas e aplicativos de software e como deixar de usar Docker em aplicações Elixir com Podman e Plug.

Boa leitura!

RUBY E RAILS

Logos de Ruby e Rails.
Parâmetros de bloco numerados, um syntax sugar controverso

Esse texto é parte de uma série sobre elementos sintáticos no mínimo controversos que surgiram em versões recentes do Ruby, no qual o autor analisa os porquês, o design e o efeito que a nova sintaxe tem no código que a utiliza. Aqui, ele aborda os parâmetros de bloco numerados, uma funcionalidade que, de início, causou bastante estranhamento, mas que permite uma sintaxe mais concisa e legível ao lidar com blocos de código em métodos que aceitam argumentos numéricos.

Comunique-se efetivamente através do seu código Ruby e Rails

Ruby é uma linguagem expressiva, desenhada para ser legível de forma intuitiva, mais ou menos como ler em inglês, sua língua nativa. O texto destaca como a clareza e a expressividade do código podem melhorar a comunicação e a colaboração entre as pessoas desenvolvedoras de uma equipe. O autor fornece exemplos e dicas práticas para tornar o código Ruby mais claro e eficaz, enfatizando a importância de nomes de variáveis descritivos, comentários concisos e a escolha de nomes de métodos significativos.

Transformando Lobste.rs em um benchmark Rails para YJIT

Com a evolução do YJIT, um just-in-time compiler experimental para Ruby, surgiu a necessidade de obter mais dados de aplicativos reais para entender o que mais acelera o Ruby. Assim, a equipe por trás do agregador de links Lobste.rs o transformou em um um caso de teste de benchmark para avaliar o desempenho do YJIT em comparação com o mecanismo Ruby MRI padrão. Nesse artigo, você encontra detalhes do processo de benchmarking, os resultados obtidos e as conclusões em cenários de uso do mundo real.

CAMPUSCODERS INDICAM

Animação de um seletor de liga e desliga, alternando entre as duas posições, nas cores verde e vermelho.
14 maneiras de reduzir riscos de feature flags

Feature flag ou feature toggle (bandeira de funcionalidade ou alternância de funcionalidade, em português) é uma estratégia em desenvolvimento de software que permite habilitar ou desabilitar funcionalidades de forma controlada e seletiva, sem a necessidade de fazer modificações no código ou um novo deploy. No entanto, sua implementação traz seus próprios benefícios e dificuldades. Nesse artigo você encontra algumas maneiras de reduzir riscos no seu uso, otimizando o processo de desenvolvimento.

Especificidade CSS: escrevendo código CSS eficiente

Com a evolução das tecnologias para web, escrever código CSS eficiente e sustentável tornou-se mais crucial do que nunca. Um dos conceitos-chave para atingir esse nível é a especificidade CSS, que estabelece como o navegador escolhe qual propriedade CSS é prioritária. Descubra, através de exemplos práticos, como ela é calculada e como os seletores mais específicos podem anular estilos aplicados por seletores menos específicos, evitando conflitos no estilo de elementos em uma página web.

SQL join

SQL é uma linguagem de gerenciamento de bancos de dados e uma de suas funcionalidades mais conhecidas é combinar linhas de duas ou mais tabelas por meio do join. Mas, realizar uma junção de tabelas, pode ser muito mais complexo do que parece. Esse artigo detalha os diferentes tipos de junções, incluindo inner join, left join e right join e traz insights para executar uma manipulação e recuperação de dados em bancos de dados relacionais

Tente novamente

Na área de desenvolvimento web, é essencial implementar estratégias de tentativas (retries) em sistemas e aplicativos de software. Esse texto explora, a partir de animações, como as tentativas podem ser usadas para lidar com situações de falha, como erros de rede ou temporários, melhorando a resiliência do sistema e garantindo que as operações sejam concluídas com sucesso, mesmo em cenários adversos.

Usando Podman e Plug com aplicações Elixir

Cansou de utilizar Docker para o desenvolvimento de suas aplicações? Seus problemas acabaram! Nesse artigo você vai aprender como utilizar Podman e Plug para trabalhar com aplicações Elixir em contêineres, passando pela criação de um ambiente isolado com o Podman, a configuração do servidor Plug e a execução do aplicativo.

Campuscoders que contribuíram com a curadoria da semana: André Benjamim, Ederson de Lima e João do Vale 💚

Campus Code