Mert Özen Further With Every Line

Blog

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

Series
.NET Core Web API 36 Angular 31 JavaScript Basics 19 JavaScript Intermediate 18 JavaScript Advanced 16 TypeScript Basics 14 TypeScript Intermediate 14 TypeScript Advanced 12 Entity Framework Core 28 Dapper 16 Git & GitHub 29 Web Security (OWASP Top 10) 21 LLM Fundamentals 20 C# Fundamentals 20 Object-Oriented Programming in C# 16 C# Collections and Generics 11 LINQ 17 Asynchronous Programming in C# 17 Advanced C# 14 C# Versions 6 Solution Patterns 22 SOLID and Design Principles 12 Clean Code 13 Design Patterns 23 UML and Modeling 18 Introduction to Software Architecture 9 Clean, Onion and Hexagonal Architecture 8 Vertical Slice Architecture 6 Domain-Driven Design 12 CQRS and Event Sourcing 10 Messaging and Event-Driven Architecture 9 Modular Monolith 2 Microservices 10 UI Architecture Patterns 9 Architecture Decisions 7 System Design 15 Distributed Systems Fundamentals 11 Background Jobs and Scheduled Jobs 11 Working with Message Queues 14 Logging in .NET 10 Caching 10 Real-time Applications 9 ASP.NET Core MVC and Razor Pages 13 CI/CD Fundamentals 8 GitHub Actions 16 Jenkins 12 Web Servers and Hosting 12 Deployment Strategies 9 Kubernetes 19 Authentication and Authorization 18 ASP.NET Core Security 8 Frontend Security 9 API Security (OWASP API Top 10) 11 AI with .NET 14 RAG 13 AI Agents and MCP 14 Test Strategy 4 Unit Testing 13 SDLC (Software Development Life Cycle) 6 Agile Mindset 6 Scrum 11 Kanban 7 Introduction to Product Management 9 SEO Fundamentals 7 Technical SEO 12 GEO (Generative Engine Optimization) 7 Algorithms and Data Structures 22 Debugging and Problem Solving 13
918 posts found
Your First ASP.NET Core Web API Project: .NET SDK, global.json and Project Structure
Backend PART 02

Your First ASP.NET Core Web API Project: .NET SDK, global.json and Project Structure

SDK versus runtime, multiple SDKs and global.json, how the dotnet new webapi template changed across versions, the csproj and TargetFramework, launchSettings.json and why the first request returns 307.

4 Nov 2026 8 min 43
What Is an ASP.NET Core Web API? HTTP and REST Fundamentals
Backend PART 01

What Is an ASP.NET Core Web API? HTTP and REST Fundamentals

We meet the Web API through the HTTP window: request and response anatomy, methods and idempotency, status code families and resource-oriented URLs. We also lay out the series: a .NET 6 core, then version posts.

4 Nov 2026 9 min 38
TypeScript 7 and Beyond: The Go-Based Compiler and the New Defaults
Frontend PART 12

TypeScript 7 and Beyond: The Go-Based Compiler and the New Defaults

We look at the Go-based TypeScript 7 compiler, the defaults that came with 6.0, the settings removed in 7.0, isolatedDeclarations, the TC39 Type Annotations proposal and what the 7.1 beta brings.

3 Nov 2026 8 min 44
Migrating from JavaScript to TypeScript: checkJs, JSDoc and Gradual strict
Frontend PART 11

Migrating from JavaScript to TypeScript: checkJs, JSDoc and Gradual strict

We walk through migrating a JavaScript project to TypeScript gradually: allowJs, checkJs and // @ts-check, writing types with JSDoc, the JSDoc changes in TypeScript 7, gradual strict and @ts-expect-error.

3 Nov 2026 8 min 44
Type-Level Programming in TypeScript: Solving the Easy type-challenges
Frontend PART 10

Type-Level Programming in TypeScript: Solving the Easy type-challenges

We solve ten easy type-challenges (MyPick, MyReadonly, TupleToObject, First, Length, MyExclude, MyAwaited, If, Concat, Includes), each checked with type-level tests built on Equal and Expect.

3 Nov 2026 8 min 44
using and await using in TypeScript: Resource Management with Symbol.dispose
Frontend PART 09

using and await using in TypeScript: Resource Management with Symbol.dispose

We look at the TypeScript side of using and await using from TS 5.2: the Disposable types, the lib setting you need, the compiler's checks, DisposableStack, and what tsc's output means for Node and Safari.

3 Nov 2026 7 min 38
Decorators in TypeScript: Standard TC39 Decorators and the context Object
Frontend PART 08

Decorators in TypeScript: Standard TC39 Decorators and the context Object

We look at the standard decorators that arrived in TS 5.0: method, class, field and accessor decorators, the context object, why they aren't erasable and how they differ from the old experimentalDecorators setting.

3 Nov 2026 8 min 36
Branded Types in TypeScript: Keeping UserId and OrderId Apart
Frontend PART 07

Branded Types in TypeScript: Keeping UserId and OrderId Apart

Where structural typing can't tell apart values with the same shape but different meaning, we use brands, produce them with validation functions and build a sturdier Brand helper with unique symbol.

3 Nov 2026 7 min 34
Variance and Assignability in TypeScript: Covariance, Contravariance and strictFunctionTypes
Frontend PART 06

Variance and Assignability in TypeScript: Covariance, Contravariance and strictFunctionTypes

We look at the direction of assignability, covariance in return types, contravariance in parameters, strictFunctionTypes, method bivariance, the array soundness hole and in/out variance annotations.

3 Nov 2026 8 min 41
Recursive Types in TypeScript: JSON, DeepReadonly and DeepPartial
Frontend PART 05

Recursive Types in TypeScript: JSON, DeepReadonly and DeepPartial

We cover self-referencing types, a recursive JSON type, DeepReadonly and DeepPartial with their function and array pitfalls, recursive conditional types and the TS2589 limit with tail recursion.

3 Nov 2026 8 min 42
Template Literal Types in TypeScript: Building Strings at the Type Level
Frontend PART 04

Template Literal Types in TypeScript: Building Strings at the Type Level

We cover union products with template literal types, patterns like ${number}, the Uppercase and Capitalize intrinsics, deriving event names, generating keys with mapped types and parsing routes with infer.

3 Nov 2026 8 min 37
Mapped Types in TypeScript: Producing a New Type from an Existing One
Frontend PART 03

Mapped Types in TypeScript: Producing a New Type from an Existing One

We cover mapped type syntax, how homomorphic mapped types carry readonly and ? modifiers, managing modifiers with + and -, key remapping with as, and filtering properties with never.

3 Nov 2026 8 min 35
Blog Map