Appendix F: Index
- abstract syntax tree: Style Checker, Code Generator, Documentation Generator, Debugger
- Accumulator pattern: Documentation Generator
- Acorn: Style Checker, Code Generator, Documentation Generator, Module Bundler, Debugger
- actual result (in unit test): Unit Testing
- Adapter pattern: Style Checker
- algorithm
- …greedy: Pattern Matching
- alias
- …during import: Module Loader
- anonymous function: Systems Programming
- ANTLR: Parsing Expressions
- API: Systems Programming, Asynchronous Programming
- Application Binary Interface: Virtual Machine
- Armstrong, Tavish: Introduction
- array implementation: Virtual Machine
- Array.filter: Systems Programming
- Array.forEach: Asynchronous Programming
- Array.reduce: Build Manager
- ArrayBuffer: Data Tables
- assembler: Virtual Machine
- assembly code: Virtual Machine, Debugger
- assertion
- …as runnable documentation: Build Manager
- assertion
- …in unit test: Unit Testing
- assignment
- …destructuring: Systems Programming
- async keyword: Asynchronous Programming
- asynchronous execution: Systems Programming
- automatic variable (in build): Build Manager
- await keyword: Asynchronous Programming
- Babel: Code Generator
- backward compatibility: Package Manager
- Bajel: Build Manager
- bare object: Page Templates
- bind method to object: Asynchronous Programming
- bitwise operation: Virtual Machine
- block comment: Documentation Generator
- Brown, Amy: Introduction
- Brubeck, Matt: Layout Engine
- build
- …automatic variable: Build Manager
- build
- …clock synchronization: Build Manager
- build
- …dependency: Build Manager
- build
- …hash code: Build Manager
- build
- …pattern rule: Build Manager
- build
- …recipe: Build Manager
- build
- …rule: Build Manager
- build
- …stale: Build Manager
- build
- …timestamp: Build Manager
- build manager: Build Manager
- build target: Build Manager
- C: Build Manager, File Interpolator, Style Checker
- C++: File Interpolator
- cache
- …calculated values: Layout Engine
- cache
- …modules: Unit Testing
- cache
- …of loaded files: File Interpolator, Module Loader
- call stack
- …environment: Page Templates
- call stack
- …stack frame: Page Templates
- callback function: Systems Programming
- …conventions for: Systems Programming
- caller module: Unit Testing
- chain of inheritance: Style Checker
- Chain of Responsibility pattern: Pattern Matching
- character encoding: Asynchronous Programming
- …UTF-8: Asynchronous Programming
- circular dependency: Module Loader
- clock synchronization (in build): Build Manager
- closure: Module Loader
- code
- …as data: Documentation Generator, Systems Programming
- code coverage: Code Generator
- coding style
- …importance of consistency: Style Checker
- coding style
- …linter: Style Checker
- cognitive load: Systems Programming, Page Templates
- collision (in hashing): File Backup
- column-major storage order: Data Tables
- combinatorial explosion: Package Manager
- command-line argument: Systems Programming
- comment
- …block: Documentation Generator
- comment
- …doc: Documentation Generator
- comment
- …line: Documentation Generator
- compiled language: Build Manager
- …linking: Build Manager
- Comprehensive TeX Archive Network: Package Manager
- confirmation bias: Layout Engine
- console.log: Systems Programming
- const declaration
- …advantages of: Systems Programming
- Cook, Mary Rose: File Backup
- coordinate system: Layout Engine
- coupling: Pattern Matching
- cryptographic hash function: File Backup
- CSS: Layout Engine, Documentation Generator
- …struggles with: Layout Engine
- DAG: Build Manager
- data frame: Data Tables
- DataForge: Data Tables
- debugger: Debugger
- …source map: Debugger
- Decorator pattern: Code Generator
- dependency (in build): Build Manager
- depth-first search: Pattern Matching
- design by contract: Layout Engine
- design pattern
- …Accumulator: Documentation Generator
- design pattern
- …Adapter: Style Checker
- design pattern
- …Chain of Responsibility: Pattern Matching
- design pattern
- …Decorator: Code Generator
- design pattern
- …Iterator: Style Checker
- design pattern
- …Singleton: File Interpolator, Unit Testing
- design pattern
- …Template Method: Build Manager
- design pattern
- …Visitor: Build Manager, Style Checker, Page Templates
- destructuring assignment: Systems Programming
- DiBernardo, Mike: Introduction
- directed acyclic graph: Module Loader
- directed acyclic graph (DAG): Build Manager
- directed graph: Module Loader
- doc comment: Documentation Generator
- Document Object Model: Style Checker, Pattern Matching
- DOM: Pattern Matching, Page Templates
- dynamic loading: Unit Testing
- dynamic lookup: Style Checker
- dynamic scoping: Page Templates
- eager matching: Pattern Matching
- EJS: Page Templates
- encapsulation: Module Loader
- entry point (of module): Module Bundler
- environment (to store variables): Page Templates
- error (in unit test): Unit Testing
- Escodegen: Code Generator
- ESDoc: Documentation Generator
- ESLint: File Interpolator, Style Checker
- Esprima format: Style Checker
- eval
- …insecurity of: File Interpolator
- event handler
- …streaming API: File Backup
- event loop: Asynchronous Programming
- exception
- …for control flow: Debugger
- exception
- …handler: Unit Testing
- exception
- …in promise: Asynchronous Programming
- exception
- …throw: Unit Testing
- exception
- …with await: Asynchronous Programming
- execution
- …asynchronous: Systems Programming
- execution
- …event loop: Asynchronous Programming
- execution
- …non-blocking: Asynchronous Programming
- execution
- …single-threaded: Systems Programming
- execution
- …streaming: File Backup
- Expect: Debugger
- expected result (in unit test): Unit Testing
- experiments: Data Tables
- …test harness: Data Tables
- exploratory programming: Unit Testing
- fail (in unit test): Unit Testing
- filesystem operations: Systems Programming
- finite state machine
- …correspondence with regular expressions: Parsing Expressions
- fixture (in unit test): Unit Testing
- fluent interface: Asynchronous Programming
- fs.stat: Systems Programming
- function
- …anonymous: Systems Programming
- function
- …inner: Module Loader
- function
- …nested: Code Generator
- function signature: Layout Engine
- generator function: Style Checker
- Git: File Backup
- GitHub Pages: Page Templates
- globbing: Systems Programming
- …filtering results: Systems Programming
- greedy algorithm: Pattern Matching
- hash code: File Backup
- …in build: Build Manager
- …SHA-1: File Backup
- hash function: File Backup
- …collision: File Backup
- …cryptographic: File Backup
- header file
- …in C and C++: File Interpolator
- header file
- …static site generator: File Interpolator
- helper function: Code Generator, File Backup
- heterogeneous storage: Data Tables
- homogeneous storage: Data Tables
- Hoye, Mike: Layout Engine
- HTML5 specification: Page Templates
- Huffine, Trey: Asynchronous Programming
- Human Resource Machine: Virtual Machine
- immediately-invoked function expression: Module Loader, Module Bundler
- immutable data: Data Tables
- import
- …alias: Module Loader
- import module: Systems Programming
- import vs. require: Module Bundler, Systems Programming
- inner function: Module Loader
- instruction pointer: Virtual Machine
- instruction set: Virtual Machine
- interpreted language: Build Manager
- intrinsic complexity: Style Checker, Module Bundler
- introspection
- …in unit testing: Unit Testing
- introspection
- …of methods: Style Checker
- Istanbul: Code Generator
- Iterator pattern: Style Checker
- …generator function: Style Checker
- Jake: Build Manager
- Java: Build Manager, Code Generator, Systems Programming
- JavaScript
- …hurried design of: Module Bundler
- Jekyll: Page Templates
- Jest: Unit Testing
- JSDoc: Documentation Generator
- Kernighan, Brian: Pattern Matching
- Knuth, Donald: File Interpolator
- label (on address): Virtual Machine
- language
- …compiled: Build Manager
- language
- …interpreted: Build Manager
- layout engine: Layout Engine
- lexical scoping: Page Templates
- lifecycle
- …of file interpolation: File Interpolator
- lifecycle
- …of unit test: Unit Testing
- line comment: Documentation Generator
- linking (compiled language): Build Manager
- linter: Style Checker
- Liskov Substitution Principle: Layout Engine
- literal (in parsing): Parsing Expressions
- literate programming: File Interpolator
- macro: Code Generator
- Make: Build Manager
- manifest (of package): Package Manager
- Markdown: Style Checker, Documentation Generator
- …parser: Documentation Generator
- matching
- …eager: Pattern Matching
- method chaining: Asynchronous Programming
- Mocha: Layout Engine, Unit Testing, File Backup, Pattern Matching, Parsing Expressions
- …afterEach: File Backup
- …beforeEach: File Backup
- mock object
- …for testing: File Backup
- module
- …entry point: Module Bundler
- module bundler: Module Bundler
- module loader: File Interpolator
- mutual references: Debugger
- namespace: Module Loader
- nested function: Code Generator
- Nison, Maël: Package Manager
- node: Pattern Matching
- non-blocking execution: Asynchronous Programming
- Nystrom, Bob: Virtual Machine
- op code: Virtual Machine
- Open-Closed Principle: Pattern Matching
- operator precedence
- …implementing: Parsing Expressions
- Oram, Andy: Introduction
- package manifest: Package Manager
- Pandas: Data Tables
- parser: Parsing Expressions
- …check-and-combine: Parsing Expressions
- …post-hoc compression strategy: Parsing Expressions
- …reasons not to write: Parsing Expressions
- …shunting-yard algorithm: Parsing Expressions
- pass (in unit test): Unit Testing
- patch number: Package Manager
- pattern rule (in build): Build Manager
- PHP: Page Templates
- plugin architecture: Module Loader
- polymorphism (in software design): Pattern Matching
- process.argv: Systems Programming
- programming style
- …fluent interface: Asynchronous Programming
- promise
- …as alternative to callback: Asynchronous Programming
- promise
- …automatic creation of: Asynchronous Programming
- promise
- …behavior: Asynchronous Programming
- promise
- …catch: Asynchronous Programming
- promise
- …reject: Asynchronous Programming
- promise
- …resolve: Asynchronous Programming
- promise
- …then: Asynchronous Programming
- Promise.all: Asynchronous Programming
- protocol
- …API as: Systems Programming, Asynchronous Programming
- protocol
- …for unit testing: File Backup
- prune (a search tree): Package Manager
- Python: Module Loader, Code Generator, Systems Programming, Data Tables
- query selector: Layout Engine
- query selector (for HTML): Pattern Matching
- R: Data Tables
- race condition: File Backup
- …time of check/time of use: File Backup
- recipe (in build): Build Manager
- recycling data: Data Tables
- register (in computer): Virtual Machine
- regular expression: Pattern Matching
- reject promise: Asynchronous Programming
- require
- …caching modules: Unit Testing
- require vs. import: Module Bundler, Systems Programming
- resolve promise: Asynchronous Programming
- row-major storage order: Data Tables
- rule (in build): Build Manager
- runnable documentation (assertions as): Build Manager
- sandbox (for safe execution): File Interpolator
- SAT solver: Package Manager
- satisfiability: Package Manager
- scope
- …of variable definitions: Systems Programming
- scope creep
- …when writing lessons: Pattern Matching
- scoping
- …dynamic: Page Templates
- scoping
- …lexical: Page Templates
- search
- …depth-first: Pattern Matching
- search path: File Interpolator
- …shell variable: File Interpolator
- semantic versioning: Package Manager
- …patch number: Package Manager
- setImmediate: Asynchronous Programming
- setTimeout: Asynchronous Programming
- SHA-1 hash code: File Backup
- shell variable (for storing search path): File Interpolator
- shunting-yard algorithm: Parsing Expressions
- side effect
- …for module registration: Unit Testing
- signature
- …of function: Layout Engine
- sin
- …using regular expressions to parse HTML: Parsing Expressions
- single-threaded execution: Systems Programming
- Singleton pattern: File Interpolator, Unit Testing
- slug (unique identifier): Documentation Generator
- software design
- …bare object: Page Templates
- software design
- …coupling: Pattern Matching
- software design
- …deferring problems: Debugger
- software design
- …design by contract: Layout Engine
- software design
- …driver: Build Manager
- software design
- …encapsulation: Module Loader
- software design
- …generic function: Style Checker
- software design
- …Liskov Substitution Principle: Layout Engine
- software design
- …Open-Closed Principle: Pattern Matching
- software design
- …plugin architecture: Module Loader
- software design
- …polymorphism: Pattern Matching
- software design
- …testability: File Backup
- source map: Debugger
- spread
- …function arguments: Code Generator
- SQL: Data Tables
- stack frame: Page Templates
- stale (in build): Build Manager
- Standard JS: Style Checker
- static site generator: Page Templates
- …header file: File Interpolator
- storage
- …heterogeneous: Data Tables
- storage
- …homogeneous: Data Tables
- storage order
- …column-major: Data Tables
- storage order
- …row-major: Data Tables
- streaming API: File Backup
- …event handler: File Backup
- string interpolation: Systems Programming
- tagged data structure: Data Tables
- target
- …build: Build Manager
- TDD: Pattern Matching
- Template Method pattern: Build Manager
- test harness: Data Tables
- test runner: Unit Testing
- test subject (in unit test): Unit Testing
- test-driven development: Pattern Matching
- testability
- …as design criterion: File Backup
- tidyverse: Data Tables
- time of check/time of use: File Backup
- timestamp
- …in build: Build Manager
- token (in parsing): Parsing Expressions
- topological order: Build Manager
- transitive closure: Module Bundler, Package Manager
- Turing Machine: Parsing Expressions
- two hard problems in computer science: Code Generator
- unit test
- …actual result: Unit Testing
- unit test
- …error: Unit Testing
- unit test
- …expected result: Unit Testing
- unit test
- …fail: Unit Testing
- unit test
- …fixture: Unit Testing
- unit test
- …interactive application: Debugger
- unit test
- …lifecycle: Unit Testing
- unit test
- …pass: Unit Testing
- unit test
- …requirements for: Unit Testing
- unit test
- …test runner: Unit Testing
- unit test
- …test subject: Unit Testing
- unit test
- …using mock object: File Backup
- University of Toronto: Introduction
- UTF-8: Asynchronous Programming
- variable definition
- …scope: Systems Programming
- version control system: File Backup
- …Git: File Backup
- virtual machine: Virtual Machine, Debugger
- …op code: Virtual Machine
- Visitor pattern: Build Manager, Style Checker, Page Templates
- walk a tree: Style Checker
- Whitehead, Alfred North: Documentation Generator
- Wilson, Greg: Introduction
- Wolfram Alpha: File Backup