#578 – October 12, 2025
Influencers claim you need to learn dozens of technologies
How to (actually) become an expert in .NET
9 minutes by Nemanja Mijailovic
Online influencers claim you need to learn dozens of technologies to become a good .NET developer. This creates unnecessary anxiety and distracts from what actually matters. Nemanja argues you should focus on mastering .NET fundamentals instead of chasing every new tool. The key areas include understanding .NET internals, modern C# features, performance optimization, and core libraries. Learning specialized technologies like Redis or GraphQL is only needed when your job requires them.
Free Webinar: Modernizing Legacy Business Apps Without Sacrificing Speed & Quality UX
sponsored by Progress Telerik
Whether you’re tackling modernization at scale or fine-tuning your design system, this session shows how to keep speed, stability and UX quality in balance. In this joint webinar, Resolute and Progress will share real-world success stories from three enterprise modernization projects. Save your seat today!
What .NET 10 GC changes mean for developers
9 minutes by Roxeem
.NET 10 brings major garbage collection improvements that can boost memory usage and speed by two to three times. Roxeem takes you through key changes that include better stack allocation through escape analysis, automatic memory tuning with DATAS enabled by default, and smarter delegate optimization. These features come with trade-offs that require careful testing, especially for high-throughput applications where they might increase latency.
Restricting access to an action method in ASP.NET Core MVC
6 minutes by Ricardo Peres
ASP.NET Core offers several ways to restrict access to controller actions. Ricardo suggests you can use custom filters that implement authorization interfaces, apply the built-in Authorize attribute with roles or policies, or create authorization handlers for more complex logic. Policies provide the most flexibility, allowing custom requirements like time-based restrictions or IP address checks. Authorization handlers offer the most structured and reusable approach by combining requirements with dependency injection.
No more mocking ILogger
2 minutes by Adam Storr
Testing logging code can be tricky when dealing with Microsoft's ILogger interface and its extension methods. FakeLogger solves this problem by capturing all logging data and making it available for testing. It's now part of the Microsoft.Extensions.Diagnostics.Testing package. You can inject FakeLogger into your code and then check properties like LatestRecord.Message to verify your logging works correctly.
Using stored procedures and functions with EF Core and PostgreSQL
10 minutes by Milan Jovanović
EF Core works well with database functions and procedures when LINQ isn't enough for complex queries or operations. Functions return data and can be called with SqlQuery, while procedures handle side effects and use ExecuteSqlAsync. This approach lets you use raw SQL for performance-critical queries, database-specific features, or atomic operations while keeping EF Core's convenience for simpler tasks. The interpolated string syntax creates parameterized queries automatically, preventing SQL injection.
And the most popular article from the last issue was: