node/glossary.md

12 KiB

Glossary

This file documents various terms and definitions used throughout the Node.js community.

  • ABI: Application Binary Interface - Defines the interface between two binary program modules.
  • AFAICT: As Far As I Can Tell.
  • AFAIK: As Far As I Know.
  • API: Application Programming Interface - A set of rules and protocols that allows different software applications to communicate with each other. APIs are used to enable integration between different systems.
  • ASAP: As Soon As Possible.
  • BE: Big Endian - A Byte Order where the largest bit comes first. The opposite of LE.
  • Bootstrap: Early phase in the Node.js process startup - sets up the execution environment and loads internal modules.
  • CI: Continuous Integration - Development practice where code changes are frequently merged into a shared repository.
  • CITGM: Canary In The Gold Mine - A smoke test that tests the code change with popular npm packages.
  • CJS: CommonJS - Standard for JavaScript modules, and in most cases, CommonJS Modules.
  • CLDR: Common Locale Data Repository - A repository of locale data used in software engineering.
  • CLI: Command Line Interface - A way to interact with a computer program using text commands.
  • Code cache: Chunk of bytes storing compiled JS code and its metadata.
  • CVE: Common Vulnerabilities and Exposures - Database maintaining reported security vulnerabilities.
  • Deps: Dependencies - Upstream projects that this project depends on.
  • DOM: Document Object Model - A programming interface for web documents. It represents the structure of a document as a tree of objects, allowing programmers to dynamically manipulate the content and structure of a web page.
  • ECMA: Ecma International - A nonprofit standards organization that develops and publishes international standards, including ECMA-262.
  • ECMA-262: Ecma's specification document for ECMAScript, maintained and updated by the TC39.
  • ECMAScript: A standard for scripting languages, including JavaScript.
  • EOF: End-of-File - Indicates the end of a file or stream.
  • EOL: End-of-Life (when used within project documents), End-of-Line (when used within a program), End-of-Life is usually how this term is used.
  • ESM: ECMAScript Module - The implementation of the ECMA-262 module system.
  • ETW: Event Tracing for Windows - Provides a way to trace events in Windows systems.
  • FFDC: First Failure Data Capture - Logs, traces, and dumps produced by default on program error.
  • FIPS: Federal Information Processing Standards - Set of standards for use in computer systems by non-military government agencies and government contractors.
  • FS: File System.
  • Godbolt: Compiler Explorer - Tool for running compilers interactively from a web browser.
  • HTTP: HyperText Transfer Protocol - An application protocol for distributed, collaborative, hypermedia information systems. It is the foundation of data communication on the World Wide Web.
  • ICU: International Components for Unicode - Library providing support for Unicode.
  • IDE: Integrated Development Environment - A software application that provides comprehensive facilities to computer programmers for software development.
  • IETF: Internet Engineering Task Force - An international community responsible for developing and promoting Internet standards.
  • IIRC: If I Recall Correctly.
  • IIUC: If I Understand Correctly.
  • IMHO: In My Humble/Honest Opinion.
  • IMO: In My Opinion.
  • IPC: Inter-Process Communication - Mechanism allowing processes to communicate with each other.
  • JIT: Just In Time - Method of executing computer code during runtime.
  • JS: JavaScript - A high-level, interpreted programming language that conforms to the ECMAScript specification.
  • JS/C++ boundary: Boundary between V8's runtime and JS code execution, often crossed when calling JS functions with C++ linkage.
  • JSON: JavaScript Object Notation - A lightweight data-interchange format that is easy for humans to read and write and for machines to parse and generate. It is commonly used for transmitting data between a server and a web application.
  • LE: Little Endian - A Byte Order where the smallest bit comes first. The opposite of BE.
  • LGTM/SGTM: Looks/Sounds good to me.
  • LTS: Long Term Support - Support provided for a software version for an extended period.
  • MDN: Mozilla Development Network - Resource for web developers.
  • MVC: Model-View-Controller - A software design pattern commonly used for developing user interfaces. It separates the application into three interconnected components: the model (data), the view (presentation), and the controller (logic).
  • Native modules/addons: Modules compiled to native code from a non-JavaScript language, such as C or C++, that expose interfaces callable from JavaScript.
  • npm: npm - A package manager and registry widely used for managing dependencies in Node.js projects and for sharing code with others.
  • OOB: Out Of Bounds - Used in the context of array access.
  • OOM: Out Of Memory - Situation where a computer program exceeds its memory allocation.
  • OOP: Object-Oriented Programming - A programming paradigm based on the concept of "objects," which can contain data and code to manipulate that data. OOP languages include features such as encapsulation, inheritance, and polymorphism.
  • PPC: PowerPC - A type of microprocessor architecture.
  • PTAL: Please Take A Look.
  • Primordials: Pristine built-ins in JavaScript that are not affected by prototype pollution.
  • Prototype Pollution: Process in which a user mutating object prototypes affects other code.
  • RAII: Resource Acquisition Is Initialization - Programming idiom used to manage resources in C++.
  • REPL: Read Evaluate Print Loop - Environment for interactive programming.
  • RFC: Request For Comments - A Document used in standardization processes.
  • RSLGTM: Rubber-Stamp Looks Good To Me - The reviewer approves without a full code review.
  • RSS: Resident Set Size - Amount of memory occupied by a process in RAM.
  • SMP: Symmetric Multi-Processor - Architecture where multiple processors share the same memory.
  • Snapshot: Chunk of bytes containing data serialized from a V8 heap.
  • TBH: To Be Honest.
  • TC39: Ecma Technical Committee 39, governing body over ECMAScript.
  • TSC: Technical Steering Committee - Governing body within a project.
  • UI: User Interface - The point of interaction between a user and a computer program. It includes elements such as buttons, menus, and other graphical elements that allow users to interact with the software.
  • URL: Uniform Resource Locator - A reference to a web resource that specifies its location on a computer network and the mechanism for retrieving it, typically using the HTTP or HTTPS protocol.
  • UTF-8: Unicode Transformation Format - 8-bit - A variable-width character encoding widely used for representing Unicode characters efficiently in byte-oriented systems.
  • V8: The JavaScript engine that powers Node.js and Chrome browser.
  • Vendoring: Integrating external software into the project by copying its code source.
  • VM: The Node.js VM module - Provides a way of executing code within V8 Virtual Machine contexts.
  • W3C: World Wide Web Consortium - An international community that develops standards and guidelines for various aspects of the web ecosystem.
  • WASI: Web Assembly System Interface - Interface for WebAssembly.
  • WASM: Web Assembly - Binary instruction format for a stack-based virtual machine.
  • WG: Working Group - Autonomous teams in the project with specific focus areas.
  • WHATWG: Web Hypertext Application Technology Working Group - Community developing web standards.
  • WIP: Work In Progress - Unfinished work that may be worth an early look.
  • WPT: web-platform-tests - Test suite for web platform APIs.