coding weekly #286

Newsletters - 27/Mar/2024 - por Campus Code
A sua newsletter da Campus Code • Edição 286 - Março de 2024

Hey! Tudo bem?

Em desenvolvimento web, existem algumas práticas de codificação, arquitetura ou design que, apesar de serem soluções comumente utilizadas, resultam em consequências negativas, como código difícil de manter, baixa performance, falta de segurança ou escalabilidade limitada. São os chamados antipatterns ou antipadrões, e eles podem aparecer por erros de julgamento, falta de conhecimento ou tentativas de atalhos. Por isso, selecionamos artigos para te ajudar a reconhecê-los e evitá-los.

Você também vê como quebrar um projeto em tarefas, como configurar um ambiente de desenvolvimento Elixir com Nix flakes, como abordar um problema de reduce em Ruby, a possibilidade de unificar queries relacionais e buscas vetoriais em Postgres com pgvecto.rs 0.2 e como fazer uma análise de métricas do GitLab com SQLite e Grafana.

Boa leitura!

ANTIPATTERNS

Animação de um computador com a tela piscando em vermelho, escrito 'Warning'.
Visão geral de antipatterns

Esse artigo explica o que são os antipatterns, trazendo diversos exemplos de soluções comuns, mas ineficazes, além de discutir sobre a importância de adotar práticas de programação sólidas e evitar armadilhas que possam comprometer a qualidade e o sucesso dos projetos de software.

Como detectar e evitar antipatterns

Nesse artigo, você descobre como identificar sinais de alerta e aplicar boas práticas de engenharia de software para evitar armadilhas comuns. Também encontra sugestões de ferramentas e técnicas para lidar com antipadrões a partir da observabilidade no processo de desenvolvimento.

Top 10 micro front-end antipatterns

Micro front-end é um padrão análogo a uma abordagem de microsserviços que permite construir o front-end de aplicações a partir de fragmentos diferentes. Esse artigo mostra as 10 práticas comuns que podem levar a problemas de manutenção, desempenho e escalabilidade ao implementar arquiteturas de micro front-ends.

CAMPUSCODERS INDICAM

Um quadro de Kanban com várias tarefas.
Quebrando um projeto em tarefas

Esse artigo aborda a importância de decompor projetos em listas de tarefas bem definidas, ou seja, dividir tarefas complexas em tarefas menores e mais gerenciáveis. Ele destaca os benefícios dessa abordagem para aumentar a eficiência e reduzir a sobrecarga cognitiva, além de explorar estratégias para alcançar esse objetivo.

Configurando um ambiente de desenvolvimento Elixir com Nix flakes

Esse artigo apresenta um guia para configurar um ambiente de desenvolvimento Elixir usando Nix flakes, uma ferramenta para gerenciamento de pacotes e ambientes. Veja os benefícios de usá-la para controlar dependências, além de instruções detalhadas sobre como configurar um ambiente consistente e reproduzível.

Como abordar um problema de reduce

Reduce é uma ferramenta do Ruby para dimensionar um método que combina 2 itens em um método que combina n itens. Esse artigo apresenta uma abordagem simplificada para resolver problemas de agregação de dados usando o método educe.

Unificando queries relacionais e buscas vetoriais em Postgres com pgvecto.rs 0.2

O projeto PGVectors visa unificar consultas relacionais e pesquisa vetorial em PostgreSQL, proporcionando uma maneira eficiente de executar consultas que combinam características de ambos os tipos de dados. Esse artigo discute a integração de índices de pesquisa vetorial em PostgreSQL e como isso pode ser utilizado para consultas mais complexas que envolvem tanto dados relacionais quanto vetoriais com a versão 0.2 do projeto.

Análise de métricas do GitLab com SQLite e Grafana

Esse tutorial explica como mergulhar profundamente nas métricas do GitLab usando SQLite e Grafana. Ele ensina a coletar, armazenar e visualizar os dados de desempenho, permitindo às pessoas usuárias monitorar e otimizar suas instâncias do GitLab.

Campuscoders que contribuíram com a curadoria da semana: André Benjamim, Ederson de Lima, Otávio Lins e Paulo Rodrigues 💚

Campus Code