Reference · 46 terms
Glossary
Every short form used across the series. Inside a lesson, hover or tap any dotted term to see the same entry in place.
Method
- APMApplication Performance Monitoring
- Tools that follow a request through your services and show where the time goes (Datadog, New Relic, X-Ray).Lesson 2 →
- baselineBaseline
- The starting number you measured (same device, same conditions). You compare with it to prove a change helped.Lesson 0 →
- field dataField data
- Measurements from real users' browsers (RUM, CrUX). They tell you if there is a problem and who has it.Lesson 0 →
- lab dataLab data
- Measurements from a controlled test (Lighthouse, DevTools with throttling). Good for repeating a problem and checking a fix.Lesson 0 →
- p95Percentile latency
- p95 is the time that 95% of requests beat. Percentiles show what your slowest users feel. An average hides them.Lesson 0 →
- Server-TimingServer-Timing header
- A response header where the server reports how long each of its steps took. DevTools shows it in the Timing tab.Lesson 2 →
Frontend performance
- bundleJavaScript bundle
- The built JavaScript file(s) the browser downloads. Parsed size costs CPU time. Compressed size costs network time.Lesson 6 →
- CLSCumulative Layout Shift
- A score for how much visible content jumps by surprise while the page loads. Fix it by reserving space.Lesson 8 →
- code splittingCode splitting
- Cut the JavaScript bundle into pieces that load when needed. Each page loads only what it uses.Lesson 6 →
- colocateState colocation
- Keep state in the smallest component that needs it. A change then re-renders only that part of the tree.Lesson 3 →
- content-visibilitycontent-visibility
- A CSS property that lets the browser skip layout and painting of off-screen parts until they get close to the screen.Lesson 7 →
- LoAFLong Animation Frames
- A Chrome API and DevTools tool. It shows which scripts and callbacks made a frame slow.Lesson 8 →
- main threadMain thread
- The one browser thread that runs your JavaScript and builds every frame. Long work on it blocks clicks and painting.Lesson 1 →
- memoReact.memo
- Wraps a component so React skips its re-render if the props did not change (a shallow check). The props must stay the same between renders to help.Lesson 3 →
- prefetchprefetch
- A hint to download something the user will probably need on a later page, with low priority, when the browser is idle.Lesson 6 →
- preloadpreload
- A hint to download a file the current page needs right now, with high priority (the LCP image, an important font).Lesson 6 →
- ProfilerReact Profiler
- A React DevTools panel. It records renders and shows which components rendered, how long it took and why.Lesson 3 →
- startTransitionstartTransition
- Marks a React state update as not urgent. React can render it in the background, and urgent input can interrupt it.Lesson 1 →
- Strict ModeReact Strict Mode
- A mode for development only. It renders twice and remounts effects once, to show impure code and missing cleanup.Lesson 5 →
- tree-shakingTree-shaking
- A build step that removes code nobody imports. It works best when you import single functions from ES modules.Lesson 6 →
- useDeferredValueuseDeferredValue
- A React hook that gives a copy of a value that updates a little later. It keeps typing smooth while a heavy render runs.Lesson 1 →
- virtualizationList virtualization
- Draw only the rows you can see (plus a few more) and reuse them as you scroll. The DOM stays small.Lesson 7 →
- Web WorkerWeb Worker
- A background thread for heavy JavaScript, so the main thread stays free. It talks to the page with messages.Lesson 7 →
Reliability and data
- AbortControllerAbortController
- Cancels a running fetch (or removes listeners) with a signal. A cancelled fetch fails with an AbortError.Lesson 5 →
- cache stampedeCache stampede
- A popular cache entry expires, and thousands of requests miss at once and hit the database together. Stop it by merging requests and adding random time to TTLs.Lesson 2 →
- cache-asideCache-aside
- Check the cache first. If it is empty (a miss), load from the source and save it. A write removes or updates the saved entry.Lesson 2 →
- cold startCold start
- The extra wait when a serverless function or an idle container handles its first request.Lesson 2 →
- debounceDebounce
- Wait until the user stops typing, then act. Typing then sends one request, not one per key.Lesson 5 →
- detached DOM nodeDetached DOM node
- An element that was removed from the page but is still referenced by JavaScript. Its whole subtree stays in memory.Lesson 4 →
- heap snapshotHeap snapshot
- A DevTools copy of every object in memory. Compare two snapshots to find objects that keep growing.Lesson 4 →
- keepAliveTimeoutKeep-alive timeout
- How long Node keeps an idle connection open. If it is shorter than the load balancer's idle time, you get random 502 errors.Lesson 9 →
- memory leakMemory leak
- Memory that is no longer needed but is still referenced. The garbage collector (the memory cleaner) cannot free it.Lesson 4 →
- race conditionRace condition
- A bug where the result depends on which async job finishes first. For example, an old response replaces a newer one.Lesson 5 →
- retainerRetainer
- The chain of references from a GC root to an object. It shows what keeps a leaked object alive.Lesson 4 →
Incidents and judgement
- bulkheadBulkhead
- A separate pool of resources for each dependency. If one dependency fails, it cannot use up everything.Lesson 10 →
- canaryCanary release
- Send a change to a small part of the traffic first and watch the numbers before going wider. Roll back by itself if they look bad.Lesson 10 →
- cascading failureCascading failure
- One slow part uses up all threads or connections, so other parts fail too, until the whole system is down.Lesson 10 →
- expand and contractExpand and contract
- Change a database schema safely in steps that old and new code can both survive: add, write to both, backfill, switch reads, then remove the old.Lesson 14 →
- incident commanderIncident commander
- The person who leads during an incident and makes the decisions. Others investigate and give updates.Lesson 10 →
- micro-frontendMicro-frontend
- Split a UI into pieces that different teams build and deploy on their own. It is worth it only when team coordination is the problem.Lesson 12 →
- postmortemBlameless postmortem
- A written review after an incident: the impact, the timeline, the root causes and action items with owners. Blameless means asking how the system allowed it, not who did it.Lesson 10 →
- runbookRunbook
- Step-by-step instructions for a known alert or failure. The alert itself links to it.Lesson 10 →
- SBOMSoftware Bill of Materials
- A list of every part and version inside your software. It tells you fast if a new vulnerability affects you.Lesson 13 →
- SEV1Severity level
- A label for how serious an incident is. SEV1 is the worst (everyone affected or data at risk). It decides how fast and how widely you react.Lesson 10 →
- SSRFServer-Side Request Forgery
- Tricking your server into fetching an internal address (like a cloud metadata endpoint) by sending it a crafted URL.Lesson 13 →
- strangler figStrangler fig pattern
- Replace an old system step by step. Send parts of the traffic to the new code behind a front layer, and retire old parts when nobody uses them.Lesson 14 →