All posts
JavaScript Practice #5 Local Storage and Lightweight State Management
How to use localStorage / sessionStorage and their pitfalls, plus patterns for managing UI state cleanly without a library.
Where the Word "Bug" Came From — The Story of the First Computer Bug
This post traces the origin of the word "bug" through Grace Hopper and the 1947 moth incident, and reveals the twist that the word actually existed long before that.
JavaScript Practice #4 Working with Forms
Form validation, working with FormData, and patterns at submit time — leveraging HTML built-in validation while augmenting with JavaScript.
JavaScript Practice #3 fetch and Async UI
Practical patterns for fetching data and reflecting it in the DOM — loading/error states, debouncing, and cancellation with AbortController.
JavaScript Practice #2 Event Handling and Delegation
The event object, the bubbling/capturing flow, and efficient event-delegation patterns — the standard tools for DOM interaction.
JavaScript Practice #1 DOM Manipulation Basics
Vanilla JavaScript DOM essentials — querySelector, classList, dataset, and creating and inserting elements.
JavaScript Advanced #7 Module System in Depth
Differences between CommonJS and ES Modules, module hoisting, circular references — the inner workings of JavaScript module systems.
JavaScript Advanced #6 Symbol and Proxy
Symbol for collision-free keys, and Proxy for intercepting object operations themselves — JavaScript meta-tools you meet inside libraries.
JavaScript Advanced #5 Memory Model and GC
How JavaScript manages memory — the reachability-based garbage collector and the leak patterns where objects survive without you noticing.
JavaScript Advanced #4 Event Loop and Tasks
How JavaScript handles async while running line by line — call stack, task queue, and the order microtasks run.
JavaScript Advanced #3 Prototype Chain
What classes really are — the structure where prototype objects hold methods, and how property lookup follows the chain.
JavaScript Advanced #2 this Binding and Call Patterns
The four rules that decide this from the call style, what call/apply/bind mean, and how arrow functions break those rules.