A Practical Demo of Zero-Downtime Migrations Using Password Hashing
A practical demo of the zero-downtime migration pattern: run old + new password hash formats side-by-side, migrate users on login, and remove legacy s...
Page 5 of 22. Practical .NET and software architecture lessons.
A practical demo of the zero-downtime migration pattern: run old + new password hash formats side-by-side, migrate users on login, and remove legacy s...
Learn how to solve the distributed cache invalidation problem in .NET 9 by implementing a Redis Pub/Sub backplane to synchronize HybridCache instances...
Per-aggregate ordering is what we really want. But queues with competing consumers make it surprisingly easy to break. This article shows how the "fix...
Looking at my contribution graph now, I can see the whole journey mapped out in squares of green. The startup dreams. The pivot to teaching. The thous...
Learn how to build a high-performance cache from scratch in .NET, moving from a simple ConcurrentDictionary to an optimized keyed-locking system. This...
ASP.NET Core 10 introduces native Server-Sent Events as a lightweight, HTTP-native alternative to SignalR for simple one-way real-time updates like da...
See what changes in .slnx, how to convert your existing .sln, and what to watch out for in CI.
Learn how to safely parallelize EF Core queries to improve performance by using IDbContextFactory to create isolated contexts, avoiding the thread-saf...
Deciding where shared logic lives is the most critical moment in Vertical Slice Architecture adoption, because choosing wrong reintroduces the couplin...
Coupling isn't just about code structure; it's about failure boundaries. Discover how to ensure your critical business logic survives when external de...
Join 66,000+ readers of The .NET Weekly for practical tips and resources to improve your .NET and software architecture skills.