# DevGuild

> Engenharia de software na prática

- Site: https://demo-tech.canverly.com/
- Feed: https://demo-tech.canverly.com/feed.xml
- Sitemap: https://demo-tech.canverly.com/sitemap.xml

## Artigos

- [Cache: quando usar, onde colocar e como não se enganar com dado velho](https://demo-tech.canverly.com/cache-quando-e-como-usar): Cache é a otimização mais poderosa e mais traiçoeira do desenvolvimento. Um guia sobre camadas, estratégias e o problema de verdade: a invalidação.
- [Complexidade de algoritmos sem susto: entendendo o Big-O de verdade](https://demo-tech.canverly.com/complexidade-de-algoritmos-big-o): O Big-O assusta na entrevista e desaparece no dia a dia — mas é a ferramenta que explica por que seu código fica lento quando os dados crescem. Um guia sem susto.
- [Tratamento de erros que não engana: exceções, resultados e falhas que você consegue depurar](https://demo-tech.canverly.com/tratamento-de-erros-e-excecoes): Erros esperados não são bugs, e código que engole exceção esconde a causa. Um guia prático de tratamento de erros que você consegue depurar às 3 da manhã.
- [Os princípios SOLID na prática: cinco regras para um código que aguenta mudança](https://demo-tech.canverly.com/principios-solid-na-pratica): SOLID explicado sem dogma: o que cada princípio resolve, exemplos de violação e correção, e quando aplicá-lo custa mais do que a bagunça que evita.
- [Concorrência e paralelismo: o que muda quando seu código faz várias coisas ao mesmo tempo](https://demo-tech.canverly.com/concorrencia-e-paralelismo): Race conditions, deadlocks, locks e o modelo de memória: entenda por que código concorrente é difícil e quais padrões o tornam seguro e previsível.
- [Estruturas de dados essenciais: escolher a estrutura certa é escolher o desempenho](https://demo-tech.canverly.com/estruturas-de-dados-essenciais): Array, lista ligada, hash table, árvore e grafo: entenda os trade-offs de cada estrutura de dados e por que a escolha certa define o desempenho do seu código.
- [Code review eficaz: como revisar código sem virar gargalo nem carimbo](https://demo-tech.canverly.com/code-review-eficaz): O que procurar numa revisão, como dar feedback que constrói, e por que a maioria dos code reviews desperdiça a oportunidade mais valiosa da engenharia em equipe.
- [Carreira em engenharia de software: o que ninguém te conta sobre a progressão](https://demo-tech.canverly.com/carreira-em-engenharia-de-software): Júnior, pleno, sênior e além: o que muda de verdade em cada nível, por que a progressão não é sobre saber mais tecnologias, e como crescer sem se perder.
- [Como os índices SQL realmente funcionam (e por que sua query está lenta)](https://demo-tech.canverly.com/indices-sql-como-funcionam): A B-tree, a busca sequencial, os índices compostos e o plano de execução: entenda o que acontece por baixo de uma query para tornar bancos de dados rápidos.
- [Design de APIs REST: os princípios que separam uma API agradável de uma dor de cabeça](https://demo-tech.canverly.com/design-de-apis-rest): Recursos, verbos, códigos de status, versionamento e paginação: um guia prático para projetar APIs REST que os consumidores entendem e que envelhecem bem.
- [Git além dos comandos: entendendo o modelo mental que evita as enrascadas](https://demo-tech.canverly.com/git-fluxo-de-trabalho): Commits, branches, merge e rebase fazem sentido quando você entende o grafo por baixo. Um guia do modelo mental do Git e dos fluxos de trabalho que funcionam.
- [A pirâmide de testes: por que testar rápido e testar o suficiente não são a mesma coisa](https://demo-tech.canverly.com/piramide-de-testes): Unitários, de integração e end-to-end: entenda a pirâmide de testes, o que cada camada prova, e como montar uma suíte que dá confiança sem virar um peso morto.
- [Acoplamento e coesão: os dois eixos que decidem a arquitetura do seu software](https://demo-tech.canverly.com/arquitetura-software-acoplamento-coesao): Antes de escolher microsserviços ou monólito, entenda acoplamento e coesão — os dois princípios que realmente determinam se seu sistema será fácil ou impossível de evoluir.
- [Clean Code na prática: escrevendo código que a próxima pessoa consegue ler](https://demo-tech.canverly.com/clean-code-na-pratica): Nomes, funções, comentários e níveis de abstração: um guia prático de clean code para escrever código legível, testável e barato de manter no longo prazo.
- [Go errors v2: do 'if err != nil' ao que muda em 1.26](https://demo-tech.canverly.com/go-errors-v2): errors.Join, %w, wrapping em cadeia: o que evoluiu nos últimos cinco anos e por que importa.
- [Rust no front da fila: media-svc na real](https://demo-tech.canverly.com/rust-no-front-da-fila): Por que escolhemos Rust pra dois serviços de uma plataforma 90% Go e o que aprendemos.
- [ULID em coluna UUID: a interop que evitou uma migração inteira](https://demo-tech.canverly.com/ulid-em-coluna-uuid): Como armazenar ULIDs em colunas UUID sem perder funcionalidade nem performance.
- [Caddy on_demand_tls explicado em 10 minutos](https://demo-tech.canverly.com/caddy-on-demand-tls): Como servir TLS pra milhares de domínios sem pre-provisionar certificado — e como evitar abuso.
- [NATS JetStream pra outbox, com o mínimo de cerimônia](https://demo-tech.canverly.com/nats-jetstream-outbox): Padrão outbox sem Kafka, sem Debezium, sem sofrimento. Cinco serviços em produção dizem que funciona.
- [SpiceDB sem mitologia: schema, caveats e por que importa](https://demo-tech.canverly.com/spicedb-sem-mitologia): Authz como serviço com modelo Zanzibar — quando vale, como modelar, onde a complexidade aparece.
- [Postgres schema-per-service: o por que e o quando dói](https://demo-tech.canverly.com/postgres-schema-per-service): Uma instância de Postgres, 15 schemas, 15 serviços. A defesa de uma escolha contra-intuitiva.
- [Ansible idempotente: 15 playbooks pra um deploy reproduzível](https://demo-tech.canverly.com/ansible-idempotente): Como camverly-ops cobre provisão, deploy, update e bootstrap sem precisar de SSH manual.
- [Astro 5 SSR no Node 22: lições do web-public em produção](https://demo-tech.canverly.com/astro-5-ssr-node-22): Por que SSR em Astro é diferente do que Next.js te ensinou, e o que ganhamos com isso.
- [SystemD que não vaza: NoNewPrivileges, ProtectSystem e PrivateTmp](https://demo-tech.canverly.com/systemd-que-nao-vaza): Três flags que isolam serviços a custo zero. O que cada uma faz e quando ativar.
