Stop forcing complex business logic into basic CRUD operations. This guide covers 5 actionable patterns for designing RESTful APIs that communicate true intent. Learn when to nest sub-resources, how to model complex actions, and why leaning into RPC-style verbs can be an acceptable compromise.
Learn how to use NDepend and CQLinq to automate Domain-Driven Design (DDD) enforcement in .NET. This guide provides eight practical rules to protect architectural boundaries, ensure entity encapsulation, and maintain aggregate root consistency to prevent your codebase from degrading.
C# 14’s field keyword helps reduce property boilerplate code. This article examines the IL code behind the new keyword and highlights caveats you must know before refactoring your codebase.
Mastering C# IDisposable is crucial for reliable resource management. Learn how to deterministically clean up unmanaged resources like database connections, file handles, and network sockets, and avoid memory leaks.
Modern web applications deal with massive amounts of complex data, and relational databases are a popular choice for keeping everything organized. But even with structured data, queries can turn into nightmares when you need to retrieve large amounts of interconnected information. Take a music streaming app that wants to retrieve
C# 14, coming with .NET 10, introduces null-conditional assignment, a feature that lets you safely assign values to properties or indexers without endless if statements. Learn more about this new feature in this article.
C# 14, coming with .NET 10, introduces user-defined compound assignments. It allows for the creation of more efficient assignment operators, preventing unnecessary object creation. Discover how to implement and use this new feature, and learn about the potential pitfalls to watch out for.
Tired of manually logging expenses in YNAB? Discover how I automated the importing and categorising of transactions in YNAB from receipt images using Google Gemini. You'll also see how easy it is to run the Docker container for your own budget.
Learn how to generate cryptographically secure random numbers in .NET applications using the RandomNumberGenerator class. Discover the importance of true randomness for security-sensitive tasks and explore best practices for generating unpredictable values.
Mapster is a versatile, high-performance object mapping library for .NET. This blog post provides an introductory guide to using Mapster, highlighting its key features and benefits for efficient data mapping in C# applications.
Have you ever needed to extend a class provided by a third-party library? Perhaps you want to add additional functionality or simplify a particular set of methods in the library.
Discover how to perform case-sensitive and case-insensitive string comparisons in PowerShell. This article explains using operators like -eq, -ceq, -like, and -clike for precise string handling.
Learn how to log .NET applications to AWS CloudWatch using NLog in this comprehensive guide. It covers setting up NLog, configuring it to log to CloudWatch, and customizing settings for optimal performance.
Learn how to log .NET applications to AWS CloudWatch using Serilog in this detailed guide. It covers setting up Serilog, integrating it with CloudWatch, and customizing log settings for optimal performance.