Series · Day 100 of 100
.NET & ASP.NET Core
- 51API versioning in ASP.NET Core: best practices explainedPlan for v2 on day one — implement it only when needed.Oct 27, 2026
9 min - 52Unit testing with xUnit: real-world lessons and examplesTests that are fast, readable and worth keeping.Oct 27, 2026
7 min - 53Integration tests with WebApplicationFactory in practiceTest the real HTTP pipeline in memory.Oct 27, 2026
6 min - 54Testcontainers for real databases in .NET & ASP.NET CoreStop mocking your database. Run the real one in Docker.Oct 27, 2026
8 min - 55Mocking with NSubstitute: a hands-on guide for engineersReadable test doubles with minimal ceremony.Oct 27, 2026
9 min - 56Benchmarking with BenchmarkDotNet in .NET & ASP.NET CoreStop guessing. Measure performance properly.Oct 27, 2026
7 min - 57Span<T> in everyday code: a hands-on guide for engineersSlice data without allocating new arrays or strings.Oct 27, 2026
8 min - 58Reducing allocations in hot paths in .NET & ASP.NET CoreGC pauses are latency spikes. Allocate less.Oct 27, 2026
7 min - 59Strings: StringBuilder and interpolation for productionString concatenation in loops still hurts.Oct 27, 2026
6 min - 60Choosing the right collection: best practices explainedThe data structure decision behind most performance wins.Oct 27, 2026
6 min - 61LINQ performance traps: a practical guide for developersLINQ is great until it runs a query 500 times.Oct 27, 2026
8 min - 62Real-time with SignalR: a practical guide for developersLive dashboards and notifications in .NET.Oct 27, 2026
8 min - 63Scaling SignalR across servers: best practices explainedTwo instances means two separate sets of connections.Oct 27, 2026
7 min - 64gRPC in .NET: concepts, trade-offs and production lessonsFast, typed service-to-service calls.Oct 27, 2026
7 min - 65Receiving webhooks reliably: a .NET guide for developersLessons from Stripe and payment gateway integrations.Oct 27, 2026
9 min - 66File uploads and large file streaming: a practical guideUpload 2 GB files without exhausting memory.Oct 27, 2026
8 min - 67Pagination in EF Core: a practical guide for developersOffset is easy. Keyset scales.Oct 27, 2026
9 min - 68Multi-tenancy in EF Core: a hands-on guide for engineersPatterns from building multi-tenant SaaS in .NET.Oct 27, 2026
10 min - 69Feature flags in .NET: a practical guide for developersShip code dark, release it when ready.Oct 27, 2026
7 min - 70Payment gateway integration lessons for .NET developersWhat I learned integrating Stripe, Razorpay and local gateways.Oct 27, 2026
13 min - 71Idempotency keys in ASP.NET Core: lessons from productionMake POST requests safe to retry.Oct 27, 2026
7 min - 72The outbox pattern in .NET: patterns, pitfalls and fixesStop losing events between your database and your broker.Oct 27, 2026
9 min - 73MassTransit in a nutshell: .NET best practices explainedA message bus abstraction that saves weeks of plumbing.Oct 27, 2026
9 min - 74Kafka with .NET: concepts, trade-offs and production lessonsProducing and consuming with the Confluent client.Oct 27, 2026
10 min - 75Dockerizing a .NET app: a practical guide for developersA small, secure image in a multi-stage Dockerfile.Oct 27, 2026
7 min - 76Hosting .NET on Linux behind Nginx: a step-by-step guideThe self-hosted setup I use for many production apps.Oct 27, 2026
7 min - 77Native AOT for .NET APIs: a hands-on guide for engineersMillisecond startup and tiny memory for the right workloads.Oct 27, 2026
7 min - 78.NET Aspire for local development: a step-by-step guideOrchestrate APIs, databases and queues with C# instead of YAML.Oct 27, 2026
7 min - 79Managing secrets in .NET: a hands-on guide for engineersSecrets never belong in appsettings.json.Oct 27, 2026
7 min - 80Security headers and HTTPS: .NET lessons from productionSmall middleware, big protection.Oct 27, 2026
7 min - 81CORS done right: what every .NET developer should knowCORS is a browser feature, not API security.Oct 27, 2026
6 min - 82Data protection and encryption: best practices explainedProtect sensitive data at rest and in transit.Oct 27, 2026
7 min - 83Raw SQL in EF Core, safely: .NET lessons from productionFromSql is safe. String concatenation is not.Oct 27, 2026
8 min - 84Source generators in C#: real-world lessons and examplesCompile-time code generation that replaces reflection.Oct 27, 2026
7 min - 85Nullable reference types: a hands-on guide for engineersLet the compiler find your NullReferenceExceptions.Oct 27, 2026
6 min - 86Modern pattern matching in C#: best practices explainedReplace nested if/else with readable expressions.Oct 27, 2026
11 min - 87Primary constructors in C# 12: best practices explainedLess boilerplate for classes that only receive dependencies.Oct 27, 2026
7 min - 88C# features worth adopting now: best practices explainedSmall language upgrades that clean up real codebases.Oct 27, 2026
7 min - 89Extension methods done right: a .NET guide for developersPowerful for readability — dangerous for discoverability.Oct 27, 2026
7 min - 90Generics and constraints that pay off: a practical guideWrite reusable code without losing type safety.Oct 27, 2026
7 min - 91My .NET pull request checklist: best practices explainedWhat I check in every .NET code review as a tech lead.Oct 27, 2026
10 min - 92Refactoring a fat controller: a .NET guide for developersFrom a 900-line controller to clean, testable slices.Oct 27, 2026
9 min - 93Exception handling anti-patterns: a practical .NET guidePatterns I remove in almost every legacy codebase.Oct 27, 2026
7 min - 94Modular monolith in .NET: a hands-on guide for engineersThe architecture I recommend before microservices.Oct 27, 2026
8 min - 95Architecture tests in .NET: patterns, pitfalls and fixesMake your architecture rules executable.Oct 27, 2026
6 min - 96Migrating from .NET Framework: best practices explainedA pragmatic path from legacy to modern .NET.Oct 27, 2026
6 min - 97Upgrading .NET versions without drama: a practical guideLTS every two years, STS in between — keep moving.Oct 27, 2026
6 min - 98My production-ready .NET template: a step-by-step guideEverything I set up before writing the first feature.Oct 27, 2026
10 min - 99Advice for junior .NET developers: a step-by-step guideWhat I tell every junior developer I mentor.Oct 27, 2026
7 min - 100100 days of .NET: what I learned — a step-by-step guideWrapping up the series — and what comes next.Oct 27, 2026
7 min
