A compiler is software that translates programs written in a high-level language into lower-level or machine-executable code. It analyzes the source code and produces an equivalent program the computer can run.
A document database stores and retrieves semi-structured data as documents (usually JSON-like), letting you save and query whole objects instead of rows and columns. It provides flexible schemas and fast reads/writes for applications that use nested or evolving data.
A container (e.g., Docker) packages an application with its libraries and runtime into a lightweight, isolated user-space environment that runs on the host OS kernel. It shares the host kernel (unlike a VM), so containers start fast and use resources more efficiently, making apps portable across environments.
Docker Compose is a tool that lets you define and run multi-container Docker applications using a single YAML file. It orchestrates starting, stopping, networking, and shared storage for those containers so you can manage the whole app as one unit.
Git is a distributed version-control system that records your project history as a content-addressable graph of snapshots, letting you commit, inspect, and revert changes locally. It differs by using lightweight branch pointers, a staging area for composing commits, and cryptographic hashes for integrity, which makes branching/merging fast and most operations work offline.
An interpreter is a program that reads high-level source code and immediately carries out the instructions, translating and executing them step‑by‑step.
A just-in-time (JIT) compiler translates parts of a program’s source code into native machine code while the program runs. By compiling hot (frequently executed) paths using runtime information, it delivers near-compiled performance while keeping the flexibility of interpretation. It is a combination of an interpreter and a compiler.
GitHub is a web-based platform for hosting Git repositories that adds collaboration and project-management features. It provides pull requests and code review, issue tracking, access controls, and CI/CD integrations so teams can develop, review, and deploy code together.
The heap is a region of a process’s memory used for dynamic allocation at runtime (via APIs like malloc/new or language-managed allocators). It provides space for variable-sized or longer-lived objects whose lifetimes aren’t tied to function call stack frames, managed by an allocator or garbage collector.
Docker Swarm is Docker’s built-in container orchestration tool that groups multiple Docker hosts into a single cluster and treats them as one virtual Docker engine. It schedules and distributes containers across the cluster and provides service discovery, load balancing, scaling, and desired‑state reconciliation.
JSON (JavaScript Object Notation) is a lightweight, text-based format for encoding structured data using key–value pairs and arrays. It's widely used to exchange data between applications and web services because it's easy for both humans and machines to read and write.
Kubernetes is an open-source orchestration platform that automates deployment, scaling, and operation of containerized applications across clusters of machines. It handles scheduling, service discovery, load balancing, storage attachment, rolling updates, and self-healing.
An arena allocator pre-allocates a large contiguous memory region (an "arena") and doles out small allocations from it very quickly. Individual allocations aren’t freed one-by-one; the whole arena is reset or released at once, which is fast and reduces fragmentation.
A JSON Web Token (JWT) is a compact, URL-safe string that encodes readable JSON claims (e.g., user ID, roles) so clients and services can carry identity or state. Because it includes a cryptographic signature, servers can verify the token’s integrity and authenticity and accept or reject it without storing the token itself.
Mercurial is a distributed version-control system that records project history as immutable changesets and provides fast, atomic local operations across platforms. It emphasizes a small, consistent command set, a clear, human-readable data model with named branches and bookmarks, and built-in extension points so branching, merging and common workflows behave predictably and are easy to script.
MySQL is an open-source relational database management system that stores and retrieves structured data using the Structured Query Language. It provides tools for defining schemas, enforcing data integrity, executing queries, and serving multiple applications concurrently.
An operating system (OS) is system software that manages a computer’s hardware and provides common services and interfaces for applications. It controls resources (CPU, memory, storage, and I/O), schedules tasks, and enforces basic security so programs run reliably.
PostgreSQL is a powerful open-source object-relational database that implements SQL and provides reliable transactions, concurrent multi-user access with snapshot-based isolation, and strong consistency. It stores, indexes, and queries structured data for applications and supports complex queries, stored procedures, and custom data types.
Perforce Helix Core is a high‑performance, server‑based version control system that stores and serves file history, large binary assets, and metadata for very large codebases and user teams. It differs by using a centralized atomic changelist model with per-file locking, a global namespace and stream-based branching, plus optimized storage, proxying and replication to scale for huge monorepos and binary-heavy workflows.
A regular expression is a pattern of characters that describes a set of text strings. People use these patterns to find, check, or change text quickly in documents and computer programs.
A sea-of-nodes compiler represents the program as one unified graph where each node is an operation and edges encode both data and control dependencies, replacing separate syntax and control-flow structures. That whole-program graph lets the compiler perform global optimizations, instruction scheduling, and speculative transformations by reasoning about dependencies across the entire program.
Sharding is a technique that splits a large dataset or service into smaller pieces, each stored and handled by a different machine. By distributing data and work across multiple machines, sharding reduces load on any single machine and lets the system scale and respond faster.
A shell is a user interface that lets users interact with an operating system by entering commands. It parses and executes those commands, manages program execution and I/O, and often provides scripting to automate tasks.
A relational database stores structured data in tables (rows and columns) and links related data using keys. It lets you efficiently query, update, and enforce consistency and integrity of that data—typically using SQL.
SQLite is a compact, serverless SQL database engine that stores an entire relational database in a single file. It provides standard SQL, transactions, indexes and ACID guarantees without a separate server process, making it ideal for embedded or local applications.
The stack is a region of a process's memory that stores function call frames in LIFO order—local variables, return addresses, and saved registers—so nested calls can allocate and free short-lived data automatically. It’s managed by the CPU/runtime (via the stack pointer) for fast, predictable allocation but has limited size and lifetime.
A Version Control System (VCS) is software that records and manages changes to files over time, enabling teams to collaborate by tracking edits, viewing history, and reverting to earlier states. It supports concurrent development through branching and merging, preserving a searchable, auditable history of the project.
Vitess is an open-source database clustering system that lets you scale MySQL horizontally by splitting data across multiple servers while presenting a single logical database to applications. It manages query routing, connection pooling, resharding, and online schema changes so applications get a reliable, scalable MySQL service.
A virtual machine (VM) is software that emulates a complete computer (virtual hardware) so you can run an operating system and applications as if on a real machine. It isolates workloads and lets multiple OS instances share the same physical host while the hypervisor manages CPU, memory, storage and networking.
Vagrant is a command-line tool that automates creating, configuring, and managing reproducible development environments (VMs or containers) from a simple configuration file. It abstracts the underlying provider (VirtualBox, VMware, Docker, etc.) and integrates provisioning so teams can share identical setups.
YAML (YAML Ain't Markup Language) is a human-readable data serialization format for representing structured data like configurations, lists, and key-value maps. It prioritizes readability and is commonly used for configuration files and data exchange between programs.