coding weekly #233

Newsletters - 01/Mar/2023 - por Campus Code
A sua newsletter da Campus Code • Edição 233 - Março de 2023

Hey! Tudo bem?

Se para você o ano só começa depois do carnaval, chegou a hora de aproveitar para retomar os estudos de rotina e evoluir em Rails. Nesta edição, selecionamos alguns artigos que vão te ajudar a elaborar a real necessidade de fazer um “remendo” de linguagem na sua aplicação Ruby on Rails, além de descobrir o que é uma Rails Engine e suas possibilidades.

Você também vê como melhorar a experiência de desenvolvimento com Ruby LSP, alguns mal entendidos sobre Design Direcionado a Domínio, o que é e como evitar uma vulnerabilidade de atribuição em massa, o que especialistas pensam sobre a influência do ChatGPT na contratação de devs juniores e como economizar tempo ao gerar mensagens de commit.

Boa leitura!

RAILS

Imagem animada de um túnel subterrâneo, iluminado de vermelho ao fim dos trilhos.
Um caso contra remendos em código

Uma das características interessantes de Ruby é que ele dá liberdade para manipular o próprio funcionamento da linguagem, facilitando fazer “remendos” no código do seu projeto, o que quase nunca é o ideal. Mas, ao final desse artigo, você entenderá porque esses remendos devem ser evitados e como fazer isso com Rails. Dica do Ederson de Lima.

Introdução a Rails Engine com um exemplo básico

Rails Engine é um pedaço de funcionalidade auto-contida que pode ser adicionada a uma aplicação Rails existente ou usada como fundação para uma nova aplicação. Basicamente trata-se de uma mini aplicação Rails que pode ser empacotada e reutilizada em vários projetos. Nesse artigo há uma explicação mais aprofundada, além das etapas de criação de uma Rails Engine e exemplos de uso. Dica do Paulo Rodrigues.

Como empacotar assets em uma Rails Engine

Durante o tempo de vida do Rails tivemos várias maneiras de carregar, parsear e processar assets. O jeito mais recomendado é prender na asset pipeline, e, na etapa de deployment, deixar que `assets:precompile` faça a compilação para usar na aplicação. Mas, se você constrói uma engine para ser distribuída, pode encontrar alguns problemas. Nesse artigo acompanhe as possíveis problemáticas e uma solução para as desvantagens encontradas na asset pipeline. Dica do Ederson de Lima.

CAMPUSCODERS INDICAM

Ilustração de uma gema de rubi com uma carinha feliz enquanto está manipulando uma mesa de discotecagem.
Melhorando a experiência de desenvolvimento com Ruby LSP

Nesse artigo você vai conhecer o Ruby LSP, novo language server que tem como objetivo melhorar a experiência de código em Ruby incluindo features adicionais à linguagem. Dica do André Benjamim.

Desfazendo mal entendidos sobre DDD

Nesse artigo você vai entender um pouco sobre Design Direcionado a Domínio, o chamado DDD. O autor defende dois pontos em relação a falhas de interpretação que julga serem comuns em relação ao assunto: DDD não é sobre código e nem é um padrão arquitetural. Dica do Ederson de Lima.

Vulnerabilidade de atribuição em massa

Vulnerabilidade de atribuição em massa é uma falha de segurança em Ruby que ocorre quando um invasor consegue passar parâmetros maliciosos para um objeto ao submeter dados. Nesse artigo, o campuscoder Roberson Miguel (@biosbug) conta mais detalhes sobre essa vulnerabilidade e como evitá-la. Dica do Patrick Natan.

ChatGPT pode piorar o que já está ruim?

Essa matéria traz um pouco do ponto de vista de profissionais de tecnologia sobre o impacto do ChatGPT no campo de contratação de devs juniores. Dica do Allan Siqueira.

Economize tempo ao gerar mensagens de commit

Seja por questão de clareza, documentação, colaboração, debug ou manutenção de código, ter uma boa mensagem de commit é essencial no trabalho de uma pessoa desenvolvedora. E escrever essas mensagens da melhor forma nem sempre é uma tarefa simples. Com isso em mente, foi desenvolvida a ferramenta aicommits, que permite gerar mensagens de commit usando inteligência artificial. Nesse artigo você conhece um pouco mais sobre ela e como usá-la no seu dia a dia. Dica do Luiz Anjos.

Campus Code