`StringComparison.OrdinalIgnoreCase` — use sempre
Bugs de cultura (Turkish "i", invariant vs current culture). Pare de usar `ToLower()`/`ToUpper()` para comparação. Use OrdinalIgnoreCase hardcoded.
Blog técnico para desenvolvedores .NET e Angular. Casos reais de caça a bugs, performance, EF Core, HttpClient, async/await e boas práticas. Escrito por devs, para devs.
Fresh da caça aos bugs
Bugs de cultura (Turkish "i", invariant vs current culture). Pare de usar `ToLower()`/`ToUpper()` para comparação. Use OrdinalIgnoreCase hardcoded.
Exceção não tratada no ExecuteAsync derruba o hosted service sem ninguém saber. Wrapper resiliente + Polly para nunca mais perder um background job.
DTOs não serializam campos sem `public`? Configure JsonSerializerOptions ou use `[JsonInclude]` + `init` accessors para imutabilidade real.
Stack trace vazando em produção? Erros 500 genéricos? Configure exception handling global com ProblemDetails (RFC 9457) e IExceptionHandler (.NET 8+).
Testes que passam às 14h e falham às 15h? Dependência de relógio real. Use TimeProvider (.NET 8+) ou IClock para testes determinísticos.
Cases reais de debugging e post-mortems
Reviews práticos de debuggers, linters, APM, logs
Code smells, refatoração, clean code
Soft skills, code review, mentoria, burnout
Conceitos complexos simplificados (event loop, GC, concorrência)
1 email por semana. Zero spam. Só bugs reais, soluções práticas e dicas de .NET/Angular.
Pode cancelar a qualquer momento. Privacidade