Blog 43 posts
Notas sobre .NET, bancos de dados, testes e as decisões por trás de software que funciona.
2026 — julho
12 posts
5 min de leitura
Prevenindo Dados Inconsistentes com ACID Transactions
#Databases
Cada propriedade do ACID tem um default, e três deles prometem menos do que a palavra sugere. O quarto default é honesto, e é justamente aí que mora o perigo.
6 min de leitura
Pix: como funciona o sistema de pagamentos instantâneos do Brasil
#Payments
O Pix não é um app e não é uma empresa. É um sistema de pagamentos que o banco central construiu e opera ele mesmo, que é justamente a parte que confunde quem está fora do Brasil.
5 min de leitura
Como funciona a modernização .NET com o Copilot Upgrade Agent
#.NET
A Microsoft publicou um curso gratuito sobre atualizar apps de .NET Framework para .NET 10, além da documentação completa do Copilot modernization agent. Aqui está o que o workflow assess, plan, execute realmente faz.
3 min de leitura
Os canais do YouTube que me ajudam a aprender C# e .NET
#.NET
Tim Corey para fundamentos que de fato grudam, Nick Chapsas para o que mudou nas versões mais recentes, e Balta mais Canal .NET em português. Quatro canais fazendo quatro trabalhos diferentes.
4 min de leitura
Criando uma regra simples de fraud detection em .NET
#.NET
Um passo a passo de uma fraud rule real: a interface, o tipo do veredito, a query no repository por trás dela e por que tudo isso são umas 20 linhas de lógica de verdade.
3 min de leitura
Como estou aprendendo system design
#System Design
A maior parte do conteúdo de system design assume que você já rodou algo em produção. Construir o que os vídeos explicam, em vez de só assistir, fecha essa lacuna mais rápido do que esperar a experiência chegar.
4 min de leitura
Como eu projetaria um sistema de pagamentos como .NET developer júnior
#Payments
Se me entregassem uma feature de pagamento amanhã, as partes difíceis não seriam o design da API. Seriam idempotency, o fato de que problemas com dinheiro não aparecem em testing, e saber o que não construir.
4 min de leitura
Como eu projetei um payment gateway orchestrator depois de um curso de iGaming
#Payments
PayMaestro: uma API na frente de vários payment gateways, com routing, cascading retries, idempotency garantida pelo database, e fraud screening baseado numa certificação anti-fraude da iGaming Academy.
5 min de leitura
Projetando um URL shortener como projeto de estudo
#System Design
Um URL shortener em .NET 9, três cópias atrás do nginx, com Cassandra por trás e cache no Redis, construído para realmente entender um vídeo de system design em vez de só assistir.
5 min de leitura
Minhas primeiras impressões depois de aprender sobre Cassandra
#Cassandra
Vindo do SQL Server, as surpresas não foram sobre escala. Sem joins, desnormalizar de propósito, desenhar a primary key antes da tabela existir, e uma query language que parece SQL mas recusa coisas que o SQL permite.
4 min de leitura
O que um curso de iGaming me ensinou sobre sistemas anti-fraude
#iGaming
Anti-fraude em pagamentos não é um filtro que bloqueia transações ruins. É um conjunto de julgamentos sobre risco, custo, e quanto atrito um cliente de verdade vai tolerar.
2 min de leitura
Os criadores de conteúdo .NET com quem aprendo software design
#.NET
Milan Jovanović para clean architecture, Nick Chapsas e Balta para os hábitos menores que se acumulam. O projeto CRUD que construí veio direto de uma dessas lições.
2026 — junho
7 posts
4 min de leitura
Configurando alertas do Azure Monitor e action groups
#Azure
Uma alert rule decide quando algo está errado. Um action group decide quem fica sabendo. Separar essas duas coisas é o motivo de você não acabar editando quarenta alertas para mudar um número de telefone.
4 min de leitura
RBAC, Policy e Resource Locks: como a governança do Azure se encaixa
#Azure
Três features que soam parecidas e respondem perguntas completamente diferentes: quem pode agir, o que tem permissão para existir, e o que ninguém deveria deletar por acidente.
3 min de leitura
Kubernetes pareceu mais fácil depois que entendi esses básicos
#Kubernetes
Eu ainda não fiz deploy de Kubernetes num projeto de verdade, igual à maior parte do que sei sobre software design: assisti, entendi, ainda não apliquei. Os básicos pararam de parecer uma parede de YAML assim que tive um modelo mental para eles.
4 min de leitura
Usando o Azure Cloud Shell e a az CLI pela primeira vez
#Azure
Um terminal no navegador, já autenticado, com o tooling instalado. Assim que vi o padrão por trás dos comandos az, o portal começou a parecer mais lento do que digitar.
2 min de leitura
O que aprendi depois de tirar dois meses de folga da programação
#Carreira
Dois meses de folga me ensinaram que o conhecimento permanece. A rotina não, e você tem que reconquistá-la uma session de cada vez.
4 min de leitura
Como a certificação me fez voltar a estudar
#Carreira
Como me preparar para o AZ-900 me ajudou a parar de pular entre assuntos e estudar com uma direção mais clara.
3 min de leitura
O que eu faço para tornar uma aplicação .NET mais segura
#.NET
Segurança não é só authentication. Higiene de version control, secrets, validação de JWT, RBAC, HTTPS, monitoramento, confiança em dependencies, e revisar todo pedaço de código gerado por LLM antes de rodar.
2026 — maio
1 post2026 — abril
4 posts
3 min de leitura
JWT e Microsoft Identity: como eu entendo a diferença
#.NET
Eu ficava tratando JWT e Microsoft Identity como escolhas concorrentes. Não são. Um é a bilheteria confirmando quem você é, o outro é a pulseira provando isso em cada brinquedo depois.
4 min de leitura
Por que escalabilidade importa mesmo antes da sua aplicação ficar grande
#System Design
Escalabilidade não é sobre tráfego que você ainda não tem. Alguns hábitos de .NET, manter a aplicação stateless, async até o fim, e não chamar o database num loop, não custam nada agora e são dolorosos de adicionar depois.
3 min de leitura
Por que acho que iniciantes deveriam aprender clean architecture
#.NET
Eu costumava jogar meu DbContext direto nos controllers e despejar lógica no Program.cs. Funcionava, até eu precisar mudar alguma coisa. Clean architecture foi o que consertou isso.
3 min de leitura
Como eu estudo programação hoje: assistir, construir, repetir
#Aprendizado
Minha rotina de estudo agora: assistir uma lista curta de pessoas em quem confio, reconstruir o que elas mostraram sem o vídeo aberto, e depois manter o GitHub atualizado para que a prática não desapareça.
2026 — março
1 post2026 — fevereiro
2 posts
4 min de leitura
SQL ou NoSQL? Como eu penso sobre essa escolha
#Databases
A pergunta não é qual database é melhor. É se eu conheço meus padrões de acesso de antemão, e se o dado tem relacionamentos que eu preciso que o próprio database proteja.
4 min de leitura
Como eu containerizei minha API e fiz deploy no Azure
#Azure
Um Dockerfile multi-stage, Docker Compose com um SQL Server com health check, e a Sports Betting API rodando no Azure Container Apps com Azure SQL por trás.
2026 — janeiro
2 posts
3 min de leitura
O que aprendi sobre construir REST APIs em .NET
#.NET
Uma API CRUD simples, sem pagamentos, nada chique. HTTP verbs, routing, EF Core, e status codes finalmente fazendo sentido enquanto eu construo.
4 min de leitura
Azure SQL Database ou SQL Server em uma VM? O que aprendi
#Azure
Os dois rodam SQL Server. A diferença é quem aplica os patches, quem faz o backup e quanto controle você realmente precisa. Para a minha API, entregar tudo isso para o Azure era a escolha óbvia.
2025 — dezembro
2 posts
2 min de leitura
O que aprendi implementando JWT authentication em .NET
#.NET
A expiração do access token é fácil de tratar. O refresh token expirando silenciosamente, sem um caminho de falha explícito, foi o que de fato causou logouts confusos até eu dar um a ele.
2 min de leitura
Terminando minha graduação em Computação depois de reprovar numa prova
#Educação
Reprovei numa disciplina da primeira vez por falta de tempo de estudo. A segunda chamada foi uma prova de SQL escrita à mão, joins e índices no papel, e me ensinou mais do que passar de primeira teria ensinado.
2025 — novembro
1 post2025 — setembro
1 post2025 — fevereiro
2 posts
2 min de leitura
Aprendendo a programar com JetBrains Rider
#JetBrains Rider
Todo tutorial de C# para Mac dizia para instalar o VS Code e uma pilha de extensions. Isso desmoronou para mim até alguém no Reddit mencionar o Rider, e auto-complete e debugging simplesmente funcionaram.
3 min de leitura
Como eu me mantenho estudando todos os dias
#Aprendizado
Sem syllabus, majoritariamente vídeo em cinco frentes que fico circulando, e o hábito de notar quando caí num rabbit hole de SaaS em vez de estudar o que sentei para estudar.
2024 — dezembro
1 post2024 — outubro
2 posts
2 min de leitura
O que eu acho mais difícil em aprender a programar
#Aprendizado
Não é nenhuma tecnologia específica. É a página em branco depois que o tutorial termina, e tudo que aparece no momento em que você começa a tomar suas próprias decisões em vez de seguir as de outra pessoa.
3 min de leitura
Os prompts de IA que me ajudam a estudar programação
#AI
Prompts que só explicam um conceito não grudam. Os que me obrigam a responder, chutar, ou produzir código antes de receber a explicação são os que de fato me ensinam alguma coisa.
2024 — setembro
2 posts
3 min de leitura
Usando GPT para praticar italiano uma frase de cada vez
#AI
A experiência padrão do GPT para praticar um idioma é uma parede de texto. Restringir a 1-2 frases, um formato de correção, e uma pergunta por turno transforma isso numa conversa de verdade em vez de um gerador de redação.
2 min de leitura
Como cheguei à terceira fase de uma entrevista de estágio SWE no Google sem LeetCode
#Carreira
Screening, behavioral, depois um desafio de palíndromo ao vivo para o qual eu não estava pronto. Achei que tinha perdido minha única chance. Não tinha, e system design ainda me interessa mais do que LeetCode algum dia vai interessar.
2024 — julho
1 post2024 — maio
2 posts
2 min de leitura
Os apps de Mac que eu realmente uso para desenvolvimento
#macOS
Rider para o backend, VS Code para Angular, Postman e Azure Data Studio no meio do caminho. O menor conjunto de ferramentas que cobre uma full stack sem brigar com o macOS para chegar lá.
2 min de leitura
Mudando para um MacBook Pro: o que gostei e o que levou tempo para me acostumar
#macOS
Anos de memória muscular do Windows lutaram contra mim por semanas. O terminal baseado em Unix, o Homebrew, e uma bateria que dura o dia inteiro foram o que de fato me conquistou.