All Coder Things
Articles, references, and practical project series on software development.
Guides
Featured Articles
Visual Studio / VS Code Tips for C#
Learn Visual Studio and VS Code tips for C# to improve productivity with shortcuts, extensions, and efficient workflows.
C# Operators and Expressions
Operators and expressions in C#: arithmetic, comparison, logical, increment/decrement, ternary, and null-coalescing usage.
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.
Random Operations in C#
Learn how to use the Random class in C# to generate random numbers, values, and selections using Next, NextDouble, and examples.
Dependency Injection Basics in C#
Learn the basics of Dependency Injection in C#, including managing dependencies, loose coupling, and improving testability.
Delegates and Events in C#
Learn delegates and events in C# to build event-driven applications using callbacks, subscriptions, and real-world examples.
Asynchronous Streams in C# (IAsyncEnumerable)
Learn asynchronous streams in C# with IAsyncEnumerable to process data step by step using modern async iteration patterns.
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.
C# Math Library
Learn how to use the C# Math library, including Pow, Sqrt, Round, Abs, and other essential mathematical methods with examples.
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.
C# Console Commands
Learn how to work with the C# console by writing output, reading user input, and formatting text with practical examples.
Debugging Techniques in C#
Learn debugging techniques in C# using breakpoints, watch windows, and step tools to quickly identify and fix issues.
DateTime & TimeSpan Operations in C#
Learn how to work with DateTime and TimeSpan in C# to perform date and time operations such as comparison, addition, subtraction, and formatting.
Asynchronous Programming Basics in C# (async/await)
Learn async and await in C# to build responsive applications with asynchronous tasks, non-blocking code, and practical examples.
Abstract Classes and Interfaces in C++
Learn abstract classes and interfaces in C++ using pure virtual functions to design flexible and extensible software architectures.
Memory Management and the Garbage Collector in C#
Learn memory management and the garbage collector in C# to understand object lifetime, allocation, and cleanup processes.
Extension Methods in C#
Learn extension methods in C# to add new functionality to existing types without modifying their source code.
Reflection and Late Binding in C#
Learn Reflection and late binding in C# to inspect types at runtime and build flexible, dynamic applications.
Methods and Parameter Usage in C#
Learn how to define methods and use parameters in C#, including value and reference parameters, optional parameters, and examples.
First C# Project
First console app in C# with Visual Studio 2022: usage of WriteLine, ReadKey, and ReadLine.
File IO and Stream API in C#
Learn file input/output and Stream API in C#, including reading, writing, and managing file data efficiently.
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.
Introduction to Entity Framework Core in C#
Learn the basics of Entity Framework Core in C#, including DbContext, DbSet, and fundamental database operations.
Generics in C# (List, Dictionary)
Learn generics in C#, including List
Networking in C# (TcpClient, HttpClient, REST API Calls)
Learn networking in C# using TcpClient, HttpClient, and REST API calls to handle communication and external data exchange.
Latest Examples
ETag Caching in ASP.NET Core: If-None-Match and 304 Not Modified
Add ETag-based conditional GET support to ASP.NET Core APIs. Generate a response fingerprint, handle If-None-Match, and return 304 when the resource has not changed.
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.
Featured Examples
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.
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.
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.
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.
ETag Caching in ASP.NET Core: If-None-Match and 304 Not Modified
Add ETag-based conditional GET support to ASP.NET Core APIs. Generate a response fingerprint, handle If-None-Match, and return 304 when the resource has not changed.