Skip to content
OY ozgur yildiz
home writing work about
say hi →
/ writing / tags / #JavaScript

#JavaScript

17 posts tagged with this topic. ← All tags

  • May 14, 2026

    Long polling: the technique that works when WebSockets don't.

    Long polling simulates real-time updates using regular HTTP requests held open until data is available. It's a reliable fallback and sometimes the right primary approach.

  • May 11, 2026

    Server-sent events: one-way streaming without WebSocket complexity.

    Server-sent events push data from server to client over a persistent HTTP connection. For many real-time use cases they're simpler and more appropriate than WebSockets.

  • Apr 30, 2026

    WebRTC: peer-to-peer connections from the browser.

    WebRTC enables direct browser-to-browser communication for video, audio, and data — without routing media through a server. Here's how the connection setup actually works.

  • Nov 20, 2025

    WebAssembly: running near-native code in the browser.

    How WebAssembly works, how to compile Rust and C to Wasm, and when it makes sense to reach for it.

  • Oct 20, 2025

    Service workers: offline capability without a native app.

    How service workers intercept network requests to enable offline functionality, background sync, and push notifications.

  • Oct 16, 2025

    Web Workers: offloading computation without blocking the main thread.

    How Web Workers move CPU-intensive tasks off the main thread, with examples for parsing, image processing, and communication patterns.

  • Mar 25, 2024

    require() vs import: they look the same and work completely differently.

    CommonJS require() and ES module import are not interchangeable. Understanding the difference explains module compatibility issues and bundler behavior.

  • Feb 1, 2024

    Immutability in JavaScript without a library.

    You don't need Immutable.js or Immer for most immutability needs. Native JavaScript gives you the tools.

  • Jan 29, 2024

    Spread syntax does two different things depending on where you put it.

    The ... syntax is used in two fundamentally different ways in JavaScript. Knowing the difference makes destructuring and function signatures clearer.

  • Jan 25, 2024

    Default exports break refactoring. Named exports don't.

    Default exports let consumers name imports anything they want. This creates invisible coupling that makes renaming and codebase searches unreliable.

  • Jan 22, 2024

    Map and Set exist for a reason. Here's when arrays are the wrong choice.

    Arrays are the default collection in JavaScript, but Map and Set are more correct for specific use cases. Here's when and why.

  • Jan 18, 2024

    Why setTimeout(fn, 0) doesn't run immediately.

    setTimeout with a zero delay is not immediate. Understanding why requires understanding the event loop.

  • Jan 15, 2024

    Closures are not magic. One example that makes them click forever.

    Closures are the mechanism behind half of JavaScript's patterns. One concrete example explains them permanently.

  • Jan 11, 2024

    Optional chaining saved me from 40 null checks. Here's how.

    Optional chaining (?.) is not just shorter code. It changes how you navigate uncertain data structures.

  • Jan 8, 2024

    Destructuring looks simple. It has one trap that breaks real code.

    Destructuring is convenient, but renaming, defaults, and nested patterns have edge cases that catch everyone at some point.

  • Jan 4, 2024

    You're using async/await without knowing what it hides.

    async/await is syntactic sugar over Promises. Understanding what it compiles to explains every confusing behavior.

  • Jan 1, 2024

    Stop writing for loops. These 7 array methods do it better.

    For loops are verbose, error-prone, and harder to read. Modern array methods express intent and reduce bugs.

OY ozgur yildiz
GitHub LinkedIn Email RSS
© 2026 ozgur yildiz. all rights reserved.