Hey! Tudo bem?
Ao longo do tempo, sistemas complexos tendem a acumular uma grande quantidade de código. Essa complexidade intrínseca traz consigo uma série de desafios que podem impactar significativamente a manutenibilidade, escalabilidade e performance do software, e que exigem uma abordagem cuidadosa. Selecionamos alguns relatos detalhados de como grandes empresas resolveram questões complexas de código.
Você também vê um guia prático sobre filas, steams, jobs e fluxos de trabalho, um relato sobre a construção e uma nova versão para um blog, a evolução das tecnologias de banco de dados, uma abordagem prática de consultas eficientes de banco de dados em Rails e como obter o tamanho da janela em CSS puro.
Boa leitura!
COMO GRANDES EMPRESAS RESOLVEM DESAFIOS DE CÓDIGO
Como o Discord reduziu o tráfego de Websocket em 40%
Esse texto conta como o time de tecnologia do Discord trabalhou para reduzir a quantidade de largura de banda e a taxa de transferência de dados que seus clientes usam, especialmente em iOS e Android, na expectativa de que esta diminuição resulte em uma experiência mais responsiva.
Pagamentos do tipo “exatamente uma vez” no Airbnb
Eventualmente, mesmo bancos de dados consistentes tornam muito difícil garantir que os pagamentos sejam feitos apenas uma vez. Esse artigo mostra como o Airbnb superou este desafio e implementou pagamentos do tipo "exatamente uma vez" para garantir que as transações sejam processadas, mesmo em caso de falhas, evitando duplicações ou perdas de pagamentos.
Por dentro do monólito modular da Shopify
Esse texto descreve como a Shopify adotou uma abordagem de monólito modular para gerenciar sua base de código Ruby on Rails de 2,8 milhões de linhas. A abordagem visa dividir a aplicação monolítica em componentes menores e independentes, facilitando a integração de novas pessoas desenvolvedoras no time, acelerando os testes e reduzindo o impacto das mudanças no sistema.
CAMPUSCODERS INDICAM
Guia prático sobre filas, steams, jobs e fluxos de trabalho
Esse guia aborda como implementar e gerenciar esses conceitos para melhorar a eficiência e a confiabilidade dos sistemas. O autor explica como usar filas para gerenciar tarefas assíncronas, fluxos de trabalho para orquestrar processos complexos e garantir que as tarefas sejam executadas exatamente uma vez, mesmo em caso de falhas.
Como eu construí meu blog
O texto descreve como este desenvolvedor construiu a segunda versão do seu blog, lançada recentemente, com detalhes sobre a nova pilha de tecnologias utilizadas. Ele também compara o novo sistema de roteamento do Next.js (App Router) com o antigo (Pages Router), e discute como a mudança facilitou a integração de novas funcionalidades e melhorou a experiência geral do blog
SQL, NoSQL e Vetores. Socorro!
O texto discute a evolução das tecnologias de banco de dados, desde os tradicionais bancos de dados SQL, passando pelos NoSQL, até os mais recentes bancos de dados vetoriais. O autor te ajuda a entender qual tipo de banco de dados é adequado para diferentes aplicações.
Consultas eficientes de banco de dados em Rails: uma abordagem prática
Esse artigo é um passo a passo para o aprimoramento de consultas PostgreSQL em aplicações Rails. Desde estratégias de indexação até a execução de migrações sem tempo de inatividade e seleção eficiente de colunas,utilizando técnicas para garantir o desempenho ideal da consulta.
Obtenha o tamanho da janela em CSS puro
Atualmente, usando apenas CSS, sem a necessidade de JavaScript, é possível definir propriedades, fazer contas e até obter diretamente o tamanho da janela. Este tutorial te mostra como fazer isso.
Campuscoders que contribuíram com a curadoria da semana: André Benjamim e João do Vale 💚