coding weekly #260

Newsletters - 06/Set/2023 - por Campus Code
A sua newsletter da Campus Code • Edição 260 - Setembro de 2023

Hey! Tudo bem?

Nesta edição, aprofundamos um pouco mais em aplicações Rails, trazendo artigos que vão te ajudar a lidar com rotas obsoletas, compreender o uso de Service Objects e a criar recomendações com o uso de inteligência artificial.

Você também vê qual é o padrão mais subutilizado em Ruby e como tirar proveito dele, como foi a implementação um rastreamento de ponta a ponta pela equipe do Canva, como simplificar o carregamento infinito com React Query, estratégias para fazer pooling de conexões com Supavisor e como realizar integração de aplicação sem servidor com Supabase.

Boa leitura!

RAILS

Cena no jogo Minecraft em que você vê, em primeira pessoa, o trilho à frente do vagão de mineiro.
Identificando rotas não utilizadas no Rails 7

As rotas no Rails são fundamentais no mapeamento de URLs para ações, controladores e views específicos em sua aplicação. Mas, conforme a quantidade aumenta, você vai precisar otimizá-las para manter o desempenho e a organização do código, enquanto algumas podem vir a se tornar obsoletas. Descubra como a nova opção “--unused” do comando “rails routes” do Rails 7.1 pode ajudar a identificar e remover as rotas não utilizadas.

Service Objects em Rails

Service Objects é um padrão de design de software popular na comunidade Ruby on Rails, usado para extrair a lógica procedural de models e controlers. Ele ajuda a manter o código mais organizado e reutilizável, especialmente quando as regras de negócio se tornam complexas. Esse artigo aborda tudo que é preciso saber sobre quando e como usá-lo, oferecendo algumas variações do padrão para que você possa escolher as melhores convenções para o seu projeto.

Adicionando recomendações a uma aplicação Rails

Ao criar uma rede de empregos com IA, mostrar recomendações de empregos semelhantes é um recurso valioso. Descubra como implementar recomendações em uma aplicação Rails usando a biblioteca “pgvector” e a tecnologia da OpenAI, aproveitando as capacidades de processamento de linguagem natural e aprendizado de máquina para melhorar a experiência da pessoa usuária. O artigo mostra como utilizar as gems “pgvector”, “ruby-openai” e “neighbor”, além de como configurar o PostgresSQL para habilitar a gem “pgvector”.

As inscrições para a Turma 11, do TreinaDev, já estão abertas! Nosso programa de formação em desenvolvimento web é 100% gratuito, online e oferece aprendizado intensivo desde o início do processo seletivo. Além de código, o programa tem foco em boas práticas e desenvolvimento de habilidades comportamentais, como comunicação e trabalho em time. Ao final, você tem chances de contratação por uma empresa parceira ou apoiadora. Para participar, não precisa ter formação ou experiência em nenhuma área e deve ter interesse em conseguir sua primeira vaga na área. Inscreva-se agora.

CAMPUSCODERS INDICAM

Trecho de código usando o DatabaseAdapter.
O padrão mais subutilizado em Ruby

Resolver problemas complexos de suporte a diferentes adaptadores de banco de dados em um projeto Ruby on Rails é possível! Veja como a criação de um Objeto de Valor chamado “DatabaseAdapter” pode simplificar o código nesses casos e tornar mais fácil a adição de novos adaptadores.

Rastreamento de ponta a ponta

Veja como a equipe do Canva implementou o rastreamento de ponta a ponta para monitorar e melhorar a eficiência de seus sistemas. O texto também traz insights sobre a importância do monitoramento e como ele pode ajudar a detectar e resolver problemas rapidamente.

Simplifique o carregamento infinito com React Query

Buscar dados em aplicações React pode ser um desafio, especialmente quando se trata de carregamento infinito (infinite loading). Felizmente a biblioteca React Query pode simplificar esse processo, oferecendo uma maneira simples e eficiente de gerenciar a busca e o armazenamento em cache de dados, aprimorando a experiência da pessoa usuária ao otimizar o carregamento de dados sob demanda em suas aplicações React.

Pooling de conexões com Supavisor

Pooling de conexṍes é uma estratégia para lidar com gerenciamento de memória em bancos de dados de forma que conexões possam ser reutilizadas e, assim, melhorar seu desempenho. Supavisor é uma ferramenta feita em Elixir para lidar com milhões de conexões e escalar o seu banco de dados Postgres. Nesse texto, você encontra etapas e estratégias para utilizá-la.

Integração de aplicação sem servidor com Supabase

Desenvolvimento de aplicações sem gerenciamento de servidor é uma nova forma de desenvolvimento back-end que facilita a configuração e reduz complexidade de aplicações. Supabase é uma das empresas que oferecem este tipo de serviço como alternativa para criar aplicativos escaláveis e de alto desempenho sem a necessidade de gerenciar complexas infraestruturas de banco de dados. Leia mais sobre seus recursos e benefícios, incluindo um comparativo com o Firebase.

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

Campus Code