Pular para o conteúdo
upgbp
Bruno Oliveira Rodrigues

Bruno Oliveira Rodrigues

Desenvolvedor backend

Sou desenvolvedor backend e trabalho com JavaScript e TypeScript. A maior parte do meu tempo é gasta no lado que ninguém vê: modelagem de dados, integração entre serviços e os problemas que só aparecem quando o sistema sai do localhost e encontra tráfego real.

O upgbp nasceu de um hábito antigo: guardar anotações toda vez que um problema me custava mais de uma hora. Com o tempo percebi que as anotações eram mais úteis que a maioria dos resultados que eu encontrava quando colava a mensagem de erro no Google — porque elas tinham o contexto inteiro, e não só a linha de código isolada.

Como cada artigo é escrito

Todo post aqui segue a mesma ordem, que é a ordem em que o problema foi efetivamente resolvido:

  1. Contexto — qual stack, quais versões, o que estava rodando.
  2. O erro — a saída de terminal ou o log, literal, sem edição de conveniência.
  3. Diagnóstico — o que eu achei que era, o que era de fato, e como distinguir os dois.
  4. Solução — o código corrigido, com o nome do arquivo onde ele vive.
  5. Verificação — como confirmar que resolveu, em vez de torcer.
  6. Armadilhas — o que continua podendo quebrar depois da correção.

As versões exatas aparecem no topo de cada artigo, na faixaAmbiente testado. Isso importa: uma solução de Prisma 4 pode estar errada no Prisma 6, e um artigo sem versão não permite ao leitor saber se ainda vale.

O que você encontra aqui

  • Dados & Migrações — Modelagem, migração e conexão com Postgres sem derrubar produção.
  • APIs & Resiliência — Webhooks, filas, rate limit e tudo que falha de forma intermitente.
  • Performance Web — Core Web Vitals, hidratação e o JavaScript que você não precisava enviar.

Correções e discordâncias

Se algum artigo estiver errado, desatualizado ou incompleto, eu quero saber — conteúdo técnico envelhece rápido e a correção é mais útil que o texto original. Artigos revisados passam a exibir a data de revisão ao lado da data de publicação. O canal está na página de contato.