All Coder Things
Articles, references, and practical project series on software development.
Guides
Featured Articles
Delegates and Events in C#
Learn delegates and events in C# to build event-driven applications using callbacks, subscriptions, and real-world examples.
Design Patterns in C# (Factory, Singleton, Repository, Observer)
Learn design patterns in C#, including Factory, Singleton, Repository, and Observer, to build flexible and maintainable applications.
C# Operators and Expressions
Operators and expressions in C#: arithmetic, comparison, logical, increment/decrement, ternary, and null-coalescing usage.
Dependency Injection Basics in C#
Learn the basics of Dependency Injection in C#, including managing dependencies, loose coupling, and improving testability.
Structs in C# – Differences from Classes
Learn the key differences between structs and classes in C#, including memory model, inheritance, boxing, and performance.
Encapsulation, Inheritance, and Polymorphism in C#
Learn encapsulation, inheritance, and polymorphism in C# with clear examples to understand core OOP principles and real use cases.
Asynchronous Streams in C# (IAsyncEnumerable)
Learn asynchronous streams in C# with IAsyncEnumerable to process data step by step using modern async iteration patterns.
Introduction to C# and the .NET Ecosystem
C# is a modern, safe, and object-oriented language. With the .NET ecosystem, it is possible to develop web, mobile, desktop, and game applications.
C# Math Library
Learn how to use the C# Math library, including Pow, Sqrt, Round, Abs, and other essential mathematical methods with examples.
C# Console Commands
Learn how to work with the C# console by writing output, reading user input, and formatting text with practical examples.
C# Basic Data Types
Basic data types in C#: numeric, text, logical, object-based, and nullable types.
First C++ Program: How “Hello World” Works
Write your first C++ program and learn how “Hello World” works, including compilation, execution, and basic program flow.
LINQ Basics in C# (Where, Select, OrderBy)
Learn LINQ basics in C# using Where, Select, and OrderBy to query, filter, and sort collections with practical examples.
Constructors, Destructors and this in C#
Learn how constructors, destructors, and the this keyword work in C# to manage object lifecycle and class-level access.
C# String Operations
Learn how to work with strings in C#, including concatenation, searching, substring, IndexOf, and other essential string operations.
Operator Overloading in C++
Learn operator overloading in C++ to customize arithmetic, comparison, and other operators for your own classes.
Record Types and Immutable Objects in C#
Learn C# record types and immutable objects, including value equality, with-expressions, and patterns for building safer data models.
Multiple Inheritance and the Diamond Problem in C++
Learn multiple inheritance and the Diamond Problem in C++, including virtual inheritance and practical solutions.
Writing Unit Tests in C# (xUnit, NUnit, MSTest)
Learn how to write unit tests in C# using xUnit, NUnit, and MSTest to build reliable and maintainable applications.
Interfaces and Abstract Classes in C#
Learn interfaces and abstract classes in C#, their differences, and when to use each approach to design clean and extensible code.
Interop in C# (Working with C/C++ Libraries)
Learn how to use Interop in C# to work with C/C++ libraries, including P/Invoke, unmanaged code, and data marshaling.
Copy Constructor and Assignment Operator in C++
Learn copy constructors and assignment operators in C++ to understand copy semantics, object ownership, and resource management.
Using FluentValidation in C#
Learn FluentValidation in C# to define clean and maintainable validation rules for models and application inputs.
Code Analysis with Roslyn Compiler API in C#
Learn code analysis in C# using Roslyn Compiler API, including syntax trees, analyzers, and code generation scenarios.
Lambda Expressions in C#
Learn lambda expressions in C#, including concise syntax, Func and Action delegates, and practical LINQ usage examples.
Latest Examples
Atomic File Write in .NET: Prevent Partial and Corrupted Files
Write files safely in .NET by saving to a temporary file, flushing it, and replacing or moving it into place to prevent partial updates.
Idempotency Key in ASP.NET Core (.NET 8): Prevent Duplicate POST Requests
Use an Idempotency-Key header to make POST requests safe to retry: cache the first response and replay it for duplicates, avoiding double inserts.
Safe Sort & Filter in ASP.NET Core: Query Builder with Whitelisting
Parse ?sort=name,-createdAt&filter=country:TR,status:active safely by whitelisting allowed fields and mapping them to expressions or SQL columns—no dynamic injection.
ASP.NET Core Validation Errors: Normalize ModelState to { field, message }[]
Normalize ASP.NET Core ModelState errors into a simple { field, message }[] format using InvalidModelStateResponseFactory, so clients can render validation consistently.
Zip a Folder with Progress in .NET (WPF Example)
Create a ZIP from a folder in .NET while reporting progress to a WPF ProgressBar using ZipArchive and IProgress for smooth UI updates.
Standard API Response Wrapper in ASP.NET Core (Result)
Standardize success and error responses in ASP.NET Core using a Result
Featured Examples
Atomic File Write in .NET: Prevent Partial and Corrupted Files
Write files safely in .NET by saving to a temporary file, flushing it, and replacing or moving it into place to prevent partial updates.
IP Rate Limiting in ASP.NET Core (.NET 8): Return 429 Too Many Requests
Limit requests per IP using .NET 8’s built-in rate limiting middleware and return 429 with Retry-After to protect your API from abuse.
ASP.NET Core Validation Errors: Normalize ModelState to { field, message }[]
Normalize ASP.NET Core ModelState errors into a simple { field, message }[] format using InvalidModelStateResponseFactory, so clients can render validation consistently.
Safe Sort & Filter in ASP.NET Core: Query Builder with Whitelisting
Parse ?sort=name,-createdAt&filter=country:TR,status:active safely by whitelisting allowed fields and mapping them to expressions or SQL columns—no dynamic injection.
Zip a Folder with Progress in .NET (WPF Example)
Create a ZIP from a folder in .NET while reporting progress to a WPF ProgressBar using ZipArchive and IProgress for smooth UI updates.
Idempotency Key in ASP.NET Core (.NET 8): Prevent Duplicate POST Requests
Use an Idempotency-Key header to make POST requests safe to retry: cache the first response and replay it for duplicates, avoiding double inserts.
ProblemDetails in ASP.NET Core: Clean Error Responses with TraceId
Map exceptions to RFC 7807 ProblemDetails and include a traceId so clients get consistent errors and you can match the exact request in logs.
Cleaner Pagination in ASP.NET Core Web API (Headers + Link)
Return only items in the body and move pagination metadata to headers. Add RFC 5988 Link header (next/prev) for clean, predictable API navigation.
Standard API Response Wrapper in ASP.NET Core (Result)
Standardize success and error responses in ASP.NET Core using a Result