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

Alloy: Conclusion

anonymous function: Systems Programming

ANTLR: Parsing Expressions

API - as protocol: Systems Programming, Asynchronous Programming

Application Binary Interface: Virtual Machine

Armstrong, Tavish: Introduction

array - implementation of: 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

callback function - conventions for: Systems Programming

caller module: Unit Testing

chain of inheritance: Style Checker

Chain of Responsibility pattern: Pattern Matching

character encoding: Asynchronous Programming

character encoding - UTF-8: Asynchronous Programming

circular dependency: Module Loader

clock synchronization (in build): Build Manager

closure: Module Loader

code - as data: Systems Programming, Documentation Generator

code completion: Conclusion

code coverage: Code Generator

Code of Conduct: Contributing

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

compiled language - 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

CSS - struggles with: Layout Engine

DAG: Build Manager

data frame: Data Tables

DataForge: Data Tables

debugger: Debugger

debugger - source map: Debugger

Decorator pattern: Code Generator

delta debugging: Conclusion

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: Unit Testing, File Interpolator

design pattern - Template Method: Build Manager

design pattern - Visitor: Page Templates, Build Manager, Style Checker

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: Pattern Matching, Style Checker

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

experiments - 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

formal verification: Conclusion

formal verification - Alloy: Conclusion

formal verification - TLA+: Conclusion

fs.stat: Systems Programming

function - anonymous: Systems Programming

function - inner: Module Loader

function - nested: Code Generator

function signature: Layout Engine

fuzz testing: Conclusion

generator function: Style Checker

Git: File Backup

GitHub Pages: Page Templates

globbing: Systems Programming

globbing - filtering results: Systems Programming

greedy algorithm: Pattern Matching

hash code: File Backup

hash code - in build: Build Manager

hash code - SHA-1: File Backup

hash function: File Backup

hash function - collision: File Backup

hash function - cryptographic: File Backup

header file - in C and C++: File Interpolator

header file - static site generator: File Interpolator

helper function: File Backup, Code Generator

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: Systems Programming, Module Bundler

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

Iterator pattern - generator function: Style Checker

Jake: Build Manager

Java: Systems Programming, Build Manager, Code Generator

JavaScript - hurried design of: Module Bundler

Jekyll: Page Templates

Jest: Unit Testing

JSDoc: Documentation Generator

Kernighan, Brian: Introduction, 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

Markdown - parser: Documentation Generator

matching - eager: Pattern Matching

method chaining: Asynchronous Programming

Mocha: Unit Testing, File Backup, Pattern Matching, Parsing Expressions, Layout Engine

Mocha - afterEach: File Backup

Mocha - 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

non-blocking execution: Asynchronous Programming

Nystrom, Bob: Virtual Machine

OAuth: Conclusion

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

parser - check-and-combine: Parsing Expressions

parser - post-hoc compression strategy: Parsing Expressions

parser - reasons not to write: Parsing Expressions

parser - 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: Systems Programming, Data Tables, Module Loader, Code Generator

query selector: Layout Engine

query selector (for HTML): Pattern Matching

R: Data Tables

race condition: File Backup

race condition - time of check/time of use: File Backup

recipe (in build): Build Manager

recycling data: Data Tables

Redux: Conclusion

register (in computer): Virtual Machine

regular expression: Pattern Matching

reject promise: Asynchronous Programming

require - caching modules: Unit Testing

require vs. import: Systems Programming, Module Bundler

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

search path - shell variable: File Interpolator

semantic versioning: Package Manager

semantic versioning - 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: Unit Testing, File Interpolator

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

static site generator - 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

streaming API - 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

term: Contributing

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

TLA+: Conclusion

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

version control system - Git: File Backup

virtual machine: Virtual Machine, Debugger

virtual machine - op code: Virtual Machine

Visitor pattern: Page Templates, Build Manager, Style Checker

walk a tree: Style Checker

WebAIM WAVE: Conclusion

Whitehead, Alfred North: Documentation Generator

Wilson, Greg: Introduction, Layout Engine, Authors

Wolfram Alpha: File Backup