coding weekly #265

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

Hey! Tudo bem?

Em mais uma seleção de artigos para você aprofundar em Ruby, trazemos leituras para te ajudar a criar e implementar servidores HTTP Ruby do zero, apresentar o framework de testes TLDR e destrinchar o conceito de connection pool.

Você também vê como combater o pesadelo das declarações "if" com correspondência de padrões, um pouco sobre modelagem de código repetitivo com Hygen, conhecer o ECSx - o novo framework para desenvolvimento de jogos em Elixir, entender como é um ecossistema complexo de sistema de design e aprender como utilizar o upsert em SQL.

Boa leitura!

RUBY

Logo de Ruby, uma gema lapidada de rubi.
Servidor HTTP Ruby do zero

Ao adicionar suporte para verificações de saúde HTTP do Kubernetes ao Sidekiq Enterprise, o autor desse artigo viu a necessidade de implementar um servidor HTTP em cada processo de worker do Sidekiq. Ele compartilha a experiência, destacando as exigências básicas para tal implementação e propõe uma solução utilizando apenas a biblioteca padrão do Ruby, evitando dependências externas.

Apresentando o framework de testes TLDR para Ruby

Conheça o TLDR, um novo framework de testes para Ruby. A ideia central é executar o máximo possível do seu conjunto de testes frequentemente, ao contrário de rodar apenas os testes com os quais está trabalhando ativamente e deixar o conjunto completo para integração contínua (CI). Esse texto vai te ajudar a compreender melhor o framework.

Introdução fácil ao connection pool em Ruby

Desenvolvedores Rails frequentemente enfrentam problemas de desempenho em diversas partes de suas aplicações, enquanto o estabelecimento de conexões com serviços externos é geralmente uma área negligenciada. Esse artigo aprofunda sobre o conceito de connection pooling e mostra um exemplo de conexões eficientes com o RabbitMQ, uma solução para otimizar o desempenho ao interagir com serviços externos.


Versão Alfa da Ruby Brasil Awards

A iniciativa quer premiar pessoas que fazem a diferença na comunidade rubista brasileira, valorizando e celebrando pelo impacto social ou contribuição técnica. Você pode indicar alguém neste formulário.

CAMPUSCODERS INDICAM

Duas mãos com as palmas voltadas pra cima. Em cada uma delas, a logo de uma linguagem, Ruby na esquerda e Elixir na direita.
Combate ao pesadelo das declarações "if" com correspondência de padrões

Quem nunca se deparou com uma função repleta de declarações "if" para checar todas as possibilidades de uma variável? Esse artigo propõe uma solução mais elegante para esse cenário comum, através do uso de "pattern matching" (ou correspondência de padrões, em português), uma técnica que eleva as estruturas de controle de fluxo a um novo nível de eficiência e legibilidade, apresentando como as instruções “switch” podem ser turbinadas para lidar com verificações complexas de forma mais organizada e intuitiva​.

Modelagem de código repetitivo com Hygen

Adicionar uma nova funcionalidade a um projeto geralmente envolve um conjunto repetitivo da etapa. A abordagem mais comum para isso é copiar uma funcionalidade anterior e modificá-la conforme necessário. Mas esse artigo introduz uma ferramenta chamada Hygen, que simplifica o processo através da criação de modelos genéricos, permitindo uma integração simples e eficaz para gerar novas funcionalidades.

ECSx: Uma nova abordagem para desenvolvimento de jogos em Elixir

O desenvolvimento de jogos em Elixir pode ser desafiador devido à lentidão nas operações matemáticas e atualizações em tempo real, além da falta de bibliotecas específicas voltadas para jogos. O ECSx surge como um framework inovador, visando facilitar o desenvolvimento de jogos em tempo real e simulações em Elixir, através da arquitetura Entity-Component-System (ECS). Esta arquitetura minimiza a transferência de dados entre processos, oferecendo uma solução mais eficaz para os desafios comumente enfrentados no ecossistema Elixir para desenvolvimento de jogos.

O ecossistema de sistema de design

Como um sistema de design (design system, em inglês) maduro e completo se parece em uma grande e complexa organização? Esse artigo explora essa questão apresentando a relação entre o sistema de design e os produtos digitais, trazendo uma visão mais matizada do ecossistema que pode impulsionar o portfólio de produtos digitais de uma empresa. Ele usa a analogia de um “bolo em camadas” para ilustrar como as várias partes interagem e contribuem para o todo.

Upsert em SQL

Upsert é uma operação que insere novos registros no banco de dados e atualiza os existentes. Veja como funciona em diferentes SGBDs, com exemplos iterativos para leitura e prática.

Campuscoders que contribuíram com a curadoria da semana: André Benjamim, Ederson de Lima, Eduardo Gris e Leandro Quintério 💚

Campus Code