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
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
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 💚