言語
記事
ソフトウェアの仕組みと、チームがそれをどう作るかについての実践的な深掘り記事。結論を先に示し、必要に応じて図を添え、すべての主張に出典を付けています。
AI assistants cut the cost of producing code, but not of verifying, reviewing and owning it. What the research shows, where the bottleneck moves and how teams should adapt.
Lines of code, story points and pull-request counts reward the wrong behavior. Why vanity metrics backfire, and how to measure outcomes, flow and health without gaming.
JavaScript runs one thing at a time, yet async code still races. Lost updates, stale responses and double submits, and the patterns that prevent each one.
Debt is a tool when you know its cost. How to measure technical debt through change cost, risk and toil, decide what to pay down, and talk about it in terms the business funds.
Where values live, how the garbage collector decides what to free, why reachability is the only rule that matters, and how to find and fix the leaks it can’t.
Most outages start where one team’s service meets another’s. Contracts, timeouts, retries and ownership that stop one slow dependency from taking everything down.
Promise states, chaining, adoption, error propagation and microtask timing, then what async/await compiles to. With the ordering rules and the mistakes they explain.
The five kinds of scope in JavaScript, how name lookup works, what hoisting really does to var, let, const, functions and classes, and why the temporal dead zone exists.
Coupling, boundaries, data ownership and independent deployment decide how fast a system can change. How to recognize those decisions and make them deliberately.
this depends on how a function is called, not where it is written. Four call-site rules, the arrow function exception and how to fix a lost this in callbacks.
How the call stack, task queue, microtask queue and rendering fit together, how to predict execution order, and why a busy loop or a promise chain can freeze the page.
JavaScript has four equality algorithms. How == coerces, why NaN and -0 break ===, what Object.is and SameValueZero do, and which one Map, Set and includes use.
Execution contexts, lexical environments, the scope chain and closures, explained as one model, with the loop and memory pitfalls it explains.
ES modules and CommonJS load, share and evaluate code differently. Live bindings, singletons, circular imports and the rules that decide what you actually get.
Aliasing, shallow copies and in-place methods cause bugs that show up far from their cause. How references work, and when to copy, freeze or isolate state.
Property descriptors, getters, setters and the prototype chain explained through one lookup algorithm, with the shadowing rules that surprise people.