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
JavaScript Iterators and Generators: Symbol.iterator, yield and Iterator Helpers
Frontend PART 06

JavaScript Iterators and Generators: Symbol.iterator, yield and Iterator Helpers

We cover the iterable and iterator protocols, writing your own iterable with Symbol.iterator, how generators and yield pause and resume, infinite sequences, ES2025 iterator helpers and ES2026's Iterator.concat.

3 Nov 2026 8 min 32
Advanced JavaScript Async Patterns: The Promise.all Family, Cancellation, Retry and Timeouts
Frontend PART 05

Advanced JavaScript Async Patterns: The Promise.all Family, Cancellation, Retry and Timeouts

We look at the differences between Promise.all, allSettled, any and race, ES2024's Promise.withResolvers, ES2025's Promise.try, supporting AbortSignal in your own functions, retry, timeouts and concurrency limits.

3 Nov 2026 9 min 34
The JavaScript Event Loop in Depth: Tasks, Microtasks and Rendering Order
Frontend PART 04

The JavaScript Event Loop in Depth: Tasks, Microtasks and Rendering Order

We work through output-order puzzles to see the task and microtask queues, where promises and queueMicrotask fit, when requestAnimationFrame runs in the rendering step, and why long tasks freeze the page.

3 Nov 2026 9 min 32
JavaScript OOP Patterns: Inheritance or Composition? Factory Functions and Mixins
Frontend PART 03

JavaScript OOP Patterns: Inheritance or Composition? Factory Functions and Mixins

We talk about the cost of inheritance, combining behavior with composition, factory functions and mixins, choosing between closures and #private, the SOLID principles that fit JavaScript, and when a class is worth writing.

3 Nov 2026 9 min 32
JavaScript Object Protection and Immutability: Property Descriptors, seal and freeze
Frontend PART 02

JavaScript Object Protection and Immutability: Property Descriptors, seal and freeze

We look at property descriptors, the sneaky defaults of Object.defineProperty, the difference between preventExtensions, seal and freeze, shallow versus deep freezing, and patterns for updating objects without mutating them.

3 Nov 2026 8 min 29
The JavaScript Prototype Chain: How Objects Inherit from Each Other
Frontend PART 01

The JavaScript Prototype Chain: How Objects Inherit from Each Other

We untangle the [[Prototype]] link, property lookup along the chain, __proto__ versus Object.getPrototypeOf, constructor functions, Object.create and the prototype machinery underneath class, step by step in the console.

3 Nov 2026 9 min 34
TypeScript Declaration Files: .d.ts, @types, declare and Global Augmentation
Frontend PART 14

TypeScript Declaration Files: .d.ts, @types, declare and Global Augmentation

We look at what .d.ts files are, @types and DefinitelyTyped, writing your own declarations with declare module, ambient declarations, global augmentation with declare global, and generating .d.ts with declaration: true.

3 Nov 2026 8 min 35
TypeScript Enums, Namespaces and Parameter Properties: Syntax That Isn't Erasable
Frontend PART 13

TypeScript Enums, Namespaces and Parameter Properties: Syntax That Isn't Erasable

We examine numeric and string enums, const enum, namespaces and parameter properties through their compiled output, and see why they aren't erasable, erasableSyntaxOnly, and the as const alternative.

3 Nov 2026 8 min 33
Error Handling in TypeScript: unknown in catch, Narrowing Errors and the Result Pattern
Frontend PART 12

Error Handling in TypeScript: unknown in catch, Narrowing Errors and the Result Pattern

We look at why the catch variable is unknown, narrowing with instanceof Error, custom error classes, Promise pitfalls, and modeling errors with Result and discriminated unions.

3 Nov 2026 9 min 31
Modules in TypeScript: import type, verbatimModuleSyntax and File Extensions
Frontend PART 11

Modules in TypeScript: import type, verbatimModuleSyntax and File Extensions

We look at modules versus scripts in TypeScript, import type and export type, why verbatimModuleSyntax matters, .ts extensions in imports, and bundler versus nodenext resolution.

3 Nov 2026 8 min 27
Asynchronous Code in TypeScript: Typing Promise, async and fetch Responses
Frontend PART 10

Asynchronous Code in TypeScript: Typing Promise, async and fetch Responses

We look at Promise<T> and async return types, why a fetch response is any, runtime validation with unknown and hand-written type guards, and the types of Promise.all and allSettled.

3 Nov 2026 10 min 32
TypeScript Type Guards: Type Predicates and Assertion Functions
Frontend PART 09

TypeScript Type Guards: Type Predicates and Assertion Functions

We write type predicates with x is T and assertion functions with asserts, and look at TypeScript 5.5's inferred type predicates and narrowing arrays with filter, pitfalls included.

3 Nov 2026 8 min 36
Blog Map