Mert Özen Further With Every Line

Blog

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

Series
990 posts found
infer in TypeScript: Capturing Types Inside Conditional Types
Frontend PART 02

infer in TypeScript: Capturing Types Inside Conditional Types

We use infer to capture pieces of a matching type, write ReturnType, Parameters and Awaited ourselves, match tuple and string patterns, constrain infer and avoid the overload pitfall.

3 Nov 2026 8 min 40
Conditional Types in TypeScript: Making Decisions at the Type Level
Frontend PART 01

Conditional Types in TypeScript: Making Decisions at the Type Level

We look at the T extends U ? X : Y syntax, what extends means for assignability, distributive behavior over unions, turning it off with [T] and filtering unions with never, backed by real tsc output.

3 Nov 2026 8 min 46
JavaScript's Next Features: TC39 Stages, Temporal and using
Frontend PART 16

JavaScript's Next Features: TC39 Stages, Temporal and using

We learn how a feature passes TC39's stages into the language, how Temporal (PlainDate, ZonedDateTime, Duration) fixes Date's problems, and resource management with using, with notes on Safari support.

3 Nov 2026 10 min 36
JavaScript Web Components: Custom Elements, Shadow DOM and Slots
Frontend PART 15

JavaScript Web Components: Custom Elements, Shadow DOM and Slots

We write our own HTML tag with customElements.define, learn the lifecycle callbacks and observedAttributes, and build a framework-free star rating component with Shadow DOM, template and slot.

3 Nov 2026 10 min 42
Drawing with JavaScript Canvas: 2D Context, Animation and Pixel Data
Frontend PART 14

Drawing with JavaScript Canvas: 2D Context, Animation and Pixel Data

We draw shapes, paths, gradients and text with the canvas 2D context, process images pixel by pixel, build an animation loop with requestAnimationFrame and fix blurriness on retina screens.

3 Nov 2026 10 min 42
Files and Binary Data in JavaScript: File, Blob, ArrayBuffer and Typed Arrays
Frontend PART 13

Files and Binary Data in JavaScript: File, Blob, ArrayBuffer and Typed Arrays

We take files from the user via input and drag and drop, read Blobs and Files, go down to bytes with ArrayBuffer, typed arrays and DataView, and learn ES2026's base64/hex methods and file downloads.

3 Nov 2026 10 min 34
JavaScript Observer APIs: Intersection, Mutation and Resize Observer
Frontend PART 12

JavaScript Observer APIs: Intersection, Mutation and Resize Observer

We build lazy loading and infinite scroll with IntersectionObserver, watch DOM changes with MutationObserver and element size with ResizeObserver, and learn how to clean observers up properly.

3 Nov 2026 9 min 33
JavaScript Web Workers: postMessage, Transferable Objects and Module Workers
Frontend PART 11

JavaScript Web Workers: postMessage, Transferable Objects and Module Workers

We move heavy work off the main thread with Web Workers and learn postMessage and structured clone, single-file Blob URL workers, transferable objects, module workers and life without the DOM.

3 Nov 2026 10 min 42
JavaScript Performance Tips: Debounce, Throttle and Layout Thrashing
Frontend PART 10

JavaScript Performance Tips: Debounce, Throttle and Layout Thrashing

We learn to measure with performance.now, mark and measure, write our own debounce and throttle, and cover requestAnimationFrame, layout thrashing, lazy loading and the DevTools Performance tab.

3 Nov 2026 10 min 30
JavaScript Memory Management: Garbage Collection, Memory Leaks and WeakRef
Frontend PART 09

JavaScript Memory Management: Garbage Collection, Memory Leaks and WeakRef

We look at the stack and heap, reachability and garbage collection, then cover leaks from forgotten listeners, timers, closures and detached DOM, plus WeakMap, WeakRef and heap snapshots in DevTools.

3 Nov 2026 10 min 38
JavaScript Proxy and Reflect: Traps, Validation and Reactivity
Frontend PART 08

JavaScript Proxy and Reflect: Traps, Validation and Reactivity

We intercept reads, writes and deletes on an object with Proxy and keep default behavior with Reflect, then build validation, default values and a reactive UI while covering the pitfalls and the cost.

3 Nov 2026 9 min 34
JavaScript Async Iterators: for await...of, Async Generators and Array.fromAsync
Frontend PART 07

JavaScript Async Iterators: for await...of, Async Generators and Array.fromAsync

We walk through data that arrives over time with Symbol.asyncIterator and async generators, learn for await...of and ES2026's Array.fromAsync, read a paginated API as a stream and meet ReadableStream.

3 Nov 2026 9 min 30
Blog Map