Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
137 posts found
Strings in C#: Interpolation, StringBuilder and the Turkish I Trap
Backend PART 05

Strings in C#: Interpolation, StringBuilder and the Turkish I Trap

Immutability of strings in C#, interpolation and format specifiers, escape sequences and verbatim strings, commonly used methods, the measured memory difference with StringBuilder, StringComparison and the Turkish I/ı/İ trap.

7 Nov 2026 8 min 9
Numbers and Arithmetic in C#: int, double, decimal and Overflow
Backend PART 04

Numbers and Arithmetic in C#: int, double, decimal and Overflow

Integer division and the remainder in C#, choosing between int, long, double and decimal, why 0.1 + 0.2 isn't 0.3, decimal for money, overflow and checked, dividing by zero, the Math class and the banker's rounding trap.

7 Nov 2026 8 min 7
Variables and Data Types in C#: var, const and Literals
Backend PART 03

Variables and Data Types in C#: var, const and Literals

Statically typed variables in C#, the sizes and ranges of the built-in types, what var really does, literal suffixes and the compiler errors around them, const and C# 10's constant interpolated strings, default values and .NET naming conventions.

7 Nov 2026 9 min 10
Installing C# and Your First Program: dotnet new console and the Project File
Backend PART 02

Installing C# and Your First Program: dotnet new console and the Project File

Installing the .NET 10 SDK, the first project with dotnet new console, top-level statements and the Main the compiler generates, TargetFramework, ImplicitUsings, Nullable and LangVersion in the csproj, dotnet run and build, choosing an IDE, and reading your first compiler error.

7 Nov 2026 8 min 6
What Are C# and .NET? Language, Platform and Versions
Backend PART 01

What Are C# and .NET? Language, Platform and Versions

The line between C# and .NET: the compiler, IL and JIT, the CLR, the BCL, SDK versus runtime, the move from .NET Framework to .NET, the LTS/STS support calendar, how C# and .NET versions pair up, and the plan for the seven-series C# family.

7 Nov 2026 9 min 8
What's New in .NET 10: AddValidation, OpenAPI 3.1 and Server-Sent Events in ASP.NET Core
Backend PART 36

What's New in .NET 10: AddValidation, OpenAPI 3.1 and Server-Sent Events in ASP.NET Core

.NET 10 LTS brings AddValidation to minimal APIs, OpenAPI 3.1 and YAML, TypedResults.ServerSentEvents, System.Text.Json-based JSON Patch, dotnet run app.cs, C# 14 and breaking changes such as cookie auth 401/403.

4 Nov 2026 9 min 44
What's New in .NET 9: Built-in OpenAPI, Scalar and HybridCache in ASP.NET Core
Backend PART 35

What's New in .NET 9: Built-in OpenAPI, Scalar and HybridCache in ASP.NET Core

.NET 9 drops Swashbuckle from the template: AddOpenApi/MapOpenApi, transformers, Scalar and Swagger UI, stampede-safe HybridCache, TypedResults.InternalServerError, StatusCodeSelector, C# 13 and 24-month STS support.

4 Nov 2026 9 min 40
What's New in ASP.NET Core with .NET 8: Keyed DI, IExceptionHandler, Identity API and Native AOT
Backend PART 34

What's New in ASP.NET Core with .NET 8: Keyed DI, IExceptionHandler, Identity API and Native AOT

Keyed DI, IExceptionHandler, MapIdentityApi, ShortCircuit, TimeProvider, Native AOT and the minimal API template in .NET 8, compared with .NET 6, plus C# 12, migration notes and the November 10, 2026 end of support.

4 Nov 2026 9 min 41
What's New in ASP.NET Core with .NET 7: MapGroup, TypedResults, Rate Limiting and Output Caching
Backend PART 33

What's New in ASP.NET Core with .NET 7: MapGroup, TypedResults, Rate Limiting and Output Caching

MapGroup, TypedResults and Results<T1,T2>, endpoint filters, AddProblemDetails, rate limiting and output caching in .NET 7, compared with .NET 6, plus C# 11 required members, raw string literals and migration notes.

4 Nov 2026 9 min 47
Reading Old .NET Core 3.1 and .NET 5 Projects: Migrating from Startup.cs to .NET 6
Backend PART 32

Reading Old .NET Core 3.1 and .NET 5 Projects: Migrating from Startup.cs to .NET 6

We read the Startup.cs, Generic Host and UseRouting/UseEndpoints structure of the .NET Core 3.1 and .NET 5 era, then move the same ASP.NET Core API to .NET 6 step by step, including System.Text.Json differences.

4 Nov 2026 10 min 44
Containerizing an ASP.NET Core Web API with Docker and Setting Up CI/CD with GitHub Actions
Backend PART 31

Containerizing an ASP.NET Core Web API with Docker and Setting Up CI/CD with GitHub Actions

We containerize an ASP.NET Core Web API with a multi-stage Dockerfile: dotnet publish, the layer cache, .dockerignore, ports and environment settings; then we build a GitHub Actions CI/CD pipeline that tests the code and pushes the image to ghcr.io.

4 Nov 2026 9 min 49
Integration Testing an ASP.NET Core Web API: End-to-End Tests with WebApplicationFactory
Backend PART 30

Integration Testing an ASP.NET Core Web API: End-to-End Tests with WebApplicationFactory

We spin up an ASP.NET Core Web API in memory with WebApplicationFactory and test it at the HTTP level: public partial class Program, swapping the database for in-memory SQLite, Location and ProblemDetails tests, and test isolation.

4 Nov 2026 9 min 47
Blog Map