|  | 
| 1 |  | -You may also need to check <https://chromium.googlesource.com/chromiumos/docs/+/HEAD/glossary.md>. | 
|  | 1 | +# Glossary | 
| 2 | 2 | 
 | 
| 3 |  | -* CITGM: "The Canary in the Goldmine". CITGM is a simple tool for pulling down | 
| 4 |  | -  an arbitrary module from npm and testing it using a specific version of the | 
| 5 |  | -  node runtime. The Node.js project uses CITGM to smoke test our releases and | 
| 6 |  | -  controversial changes. See more details on the [CITGM repository](https://github.com/nodejs/citgm). | 
| 7 |  | -* LGTM: "Looks good to me", commonly used to approve a code review. | 
| 8 |  | -* PTAL: Please take a look. | 
| 9 |  | -* RSLGTM: "Rubber-stamp looks good to me". The reviewer approving without doing | 
| 10 |  | -  a full code review. | 
| 11 |  | -* TSC: Technical Steering Committee. Detailed info see | 
| 12 |  | -  [TSC](./GOVERNANCE.md#technical-steering-committee). | 
| 13 |  | -* WIP: "Work In Progress" - e.g. a patch that's not finished, but may be worth | 
| 14 |  | -  an early look. | 
| 15 |  | -* WPT: [web-platform-tests](https://github.com/web-platform-tests/wpt) | 
| 16 |  | -* godbolt: [Compiler Explorer](https://godbolt.org/) run compilers interactively | 
| 17 |  | -  from your web browser and interact with the assembly. Was created by and is | 
| 18 |  | -  primarily administrated by Matt Godbolt. | 
| 19 |  | -* primordials: Pristine built-ins that are not affected by prototype pollution | 
| 20 |  | -  and tampering with built-ins. | 
| 21 |  | -* undici: An alternative HTTP client used in Node.js. See more details | 
| 22 |  | -  on the [undici repository](https://github.com/nodejs/undici). | 
|  | 3 | +This file documents various terms and definitions used throughout the Node.js community. | 
|  | 4 | + | 
|  | 5 | +* **ABI**: [Application Binary Interface][] - Defines the interface between two binary program modules. | 
|  | 6 | +* **AFAICT**: As Far As I Can Tell. | 
|  | 7 | +* **AFAIK**: As Far As I Know. | 
|  | 8 | +* **API**: [Application Programming Interface][] - A set of rules and protocols that allows different software | 
|  | 9 | +  applications to communicate with each other. APIs are used to enable integration between different systems. | 
|  | 10 | +* **ASAP**: As Soon As Possible. | 
|  | 11 | +* **BE**: Big [Endian][] - A Byte Order where the largest bit comes first. The opposite of **LE**. | 
|  | 12 | +* **Bootstrap**: Early phase in the Node.js process startup - sets up the execution environment and loads internal | 
|  | 13 | +  modules. | 
|  | 14 | +* **CI**: [Continuous Integration][] - Development practice where code changes are frequently merged into a shared | 
|  | 15 | +  repository. | 
|  | 16 | +* **CITGM**: Canary In The Gold Mine - A smoke test that tests the code change with popular npm packages. | 
|  | 17 | +* **CJS**: [CommonJS][] - Standard for JavaScript modules, and in most cases, [CommonJS Modules][]. | 
|  | 18 | +* **CLDR**: [Common Locale Data Repository][] - A repository of locale data used in software engineering. | 
|  | 19 | +* **CLI**: [Command Line Interface][] - A way to interact with a computer program using text commands. | 
|  | 20 | +* **Code cache**: Chunk of bytes storing compiled JS code and its metadata. | 
|  | 21 | +* **CVE**: [Common Vulnerabilities and Exposures][] - Database maintaining reported security vulnerabilities. | 
|  | 22 | +* **Deps**: Dependencies - Upstream projects that this project depends on. | 
|  | 23 | +* **DOM**: [Document Object Model][] - A programming interface for web documents. It represents the structure of a | 
|  | 24 | +  document as a tree of objects, allowing programmers to dynamically manipulate the content and structure of a web page. | 
|  | 25 | +* **ECMA**: [Ecma International][] - A nonprofit standards organization that develops and publishes international | 
|  | 26 | +  standards, including **ECMA-262**. | 
|  | 27 | +* **ECMA-262**: **Ecma**'s [specification document for **ECMAScript**][], maintained and updated by the **TC39**. | 
|  | 28 | +* **ECMAScript**: A standard for scripting languages, including **JavaScript**. | 
|  | 29 | +* **EOF**: [End-of-File][] - Indicates the end of a file or stream. | 
|  | 30 | +* **EOL**: [End-of-Life][] (when used within project documents), [End-of-Line][] (when used within a program), | 
|  | 31 | +  End-of-Life is usually how this term is used. | 
|  | 32 | +* **ESM**: [ECMAScript Module][] - The implementation of the **ECMA-262** module system. | 
|  | 33 | +* **ETW**: [Event Tracing for Windows][] - Provides a way to trace events in Windows systems. | 
|  | 34 | +* **FFDC**: First Failure Data Capture - Logs, traces, and dumps produced by default on program error. | 
|  | 35 | +* **FIPS**: [Federal Information Processing Standards][] - Set of standards for use in computer systems by non-military | 
|  | 36 | +  government agencies and government contractors. | 
|  | 37 | +* **FS**: File System. | 
|  | 38 | +* **Godbolt**: [Compiler Explorer][] - Tool for running compilers interactively from a web browser. | 
|  | 39 | +* **HTTP**: [HyperText Transfer Protocol][] - An application protocol for distributed, collaborative, hypermedia | 
|  | 40 | +  information systems. It is the foundation of data communication on the World Wide Web. | 
|  | 41 | +* **ICU**: [International Components for Unicode][] - Library providing support for Unicode. | 
|  | 42 | +* **IDE**: [Integrated Development Environment][] - A software application that provides comprehensive facilities to | 
|  | 43 | +  computer programmers for software development. | 
|  | 44 | +* **IETF**: [Internet Engineering Task Force][] - An international community responsible for developing and promoting | 
|  | 45 | +  Internet standards. | 
|  | 46 | +* **IIRC**: If I Recall Correctly. | 
|  | 47 | +* **IIUC**: If I Understand Correctly. | 
|  | 48 | +* **IMHO**: In My Humble/Honest Opinion. | 
|  | 49 | +* **IMO**: In My Opinion. | 
|  | 50 | +* **IPC**: [Inter-Process Communication][] - Mechanism allowing processes to communicate with each other. | 
|  | 51 | +* **JIT**: [Just In Time][] - Method of executing computer code during runtime. | 
|  | 52 | +* **JS**: [JavaScript][] - A high-level, interpreted programming language that conforms to the **ECMAScript** | 
|  | 53 | +  specification. | 
|  | 54 | +* **JS/C++ boundary**: Boundary between V8's runtime and JS code execution, often crossed when calling JS functions | 
|  | 55 | +  with C++ linkage. | 
|  | 56 | +* **JSON**: [JavaScript Object Notation][] - A lightweight data-interchange format that is easy for humans to read and | 
|  | 57 | +  write and for machines to parse and generate. It is commonly used for transmitting data between a server and a | 
|  | 58 | +  web application. | 
|  | 59 | +* **LE**: Little [Endian][] - A Byte Order where the smallest bit comes first. The opposite of **BE**. | 
|  | 60 | +* **LGTM/SGTM**: Looks/Sounds good to me. | 
|  | 61 | +* **LTS**: [Long Term Support][] - Support provided for a software version for an extended period. | 
|  | 62 | +* **MDN**: [Mozilla Development Network][] - Resource for web developers. | 
|  | 63 | +* **MVC**: [Model-View-Controller][] - A software design pattern commonly used for developing user interfaces. It | 
|  | 64 | +  separates the application into three interconnected components: the model (data), the view (presentation), and the | 
|  | 65 | +  controller (logic). | 
|  | 66 | +* **Native modules/addons**: Modules compiled to native code from a non-JavaScript language, | 
|  | 67 | +  such as C or C++, that expose interfaces callable from JavaScript. | 
|  | 68 | +* **npm**: [npm][] - A package manager and registry widely used for managing dependencies in | 
|  | 69 | +  Node.js projects and for sharing code with others. | 
|  | 70 | +* **OOB**: Out Of Bounds - Used in the context of array access. | 
|  | 71 | +* **OOM**: Out Of Memory - Situation where a computer program exceeds its memory allocation. | 
|  | 72 | +* **OOP**: [Object-Oriented Programming][] - A programming paradigm based on the concept of "objects," which can | 
|  | 73 | +  contain data and code to manipulate that data. OOP languages include features such as encapsulation, inheritance, | 
|  | 74 | +  and polymorphism. | 
|  | 75 | +* **PPC**: [PowerPC][] - A type of microprocessor architecture. | 
|  | 76 | +* **Primordials**: Pristine built-ins in JavaScript that are not affected by prototype pollution. | 
|  | 77 | +* **Prototype Pollution**: Process in which a user mutating object prototypes affects other code. | 
|  | 78 | +* **RAII**: [Resource Acquisition Is Initialization][] - Programming idiom used to manage resources in C++. | 
|  | 79 | +* **REPL**: [Read Evaluate Print Loop][] - Environment for interactive programming. | 
|  | 80 | +* **RFC**: [Request For Comments][] - A Document used in standardization processes. | 
|  | 81 | +* **RSLGTM**: Rubber-Stamp Looks Good To Me - The reviewer approves without a full code review. | 
|  | 82 | +* **RSS**: [Resident Set Size][] - Amount of memory occupied by a process in RAM. | 
|  | 83 | +* **SMP**: [Symmetric Multi-Processor][] - Architecture where multiple processors share the same memory. | 
|  | 84 | +* **Snapshot**: Chunk of bytes containing data serialized from a V8 heap. | 
|  | 85 | +* **TBH**: To Be Honest. | 
|  | 86 | +* **TC39**: [Ecma Technical Committee 39][], governing body over **ECMAScript**. | 
|  | 87 | +* **TSC**: Technical Steering Committee - Governing body within a project. | 
|  | 88 | +* **UI**: [User Interface][] - The point of interaction between a user and a computer program. It includes elements | 
|  | 89 | +  such as buttons, menus, and other graphical elements that allow users to interact with the software. | 
|  | 90 | +* **URL**: [Uniform Resource Locator][] - A reference to a web resource that specifies its location on a computer | 
|  | 91 | +  network and the mechanism for retrieving it, typically using the HTTP or HTTPS protocol. | 
|  | 92 | +* **UTF-8**: [Unicode Transformation Format - 8-bit][] - A variable-width character encoding widely used for | 
|  | 93 | +  representing Unicode characters efficiently in byte-oriented systems. | 
|  | 94 | +* **V8**: [The JavaScript engine][] that powers Node.js and Chrome browser. | 
|  | 95 | +* **Vendoring**: Integrating external software into the project by copying its code source. | 
|  | 96 | +* **VM**: [The Node.js VM module][] - Provides a way of executing code within V8 Virtual Machine contexts. | 
|  | 97 | +* **W3C**: [World Wide Web Consortium][] - An international community that develops standards and guidelines for | 
|  | 98 | +  various aspects of the web ecosystem. | 
|  | 99 | +* **WASI**: [Web Assembly System Interface][] - Interface for WebAssembly. | 
|  | 100 | +* **WASM**: Web Assembly - Binary instruction format for a stack-based virtual machine. | 
|  | 101 | +* **WG**: Working Group - Autonomous teams in the project with specific focus areas. | 
|  | 102 | +* **WHATWG**: [Web Hypertext Application Technology Working Group][] - Community developing web standards. | 
|  | 103 | +* **WIP**: Work In Progress - Unfinished work that may be worth an early look. | 
|  | 104 | +* **WPT**: [web-platform-tests][] - Test suite for web platform APIs. | 
|  | 105 | + | 
|  | 106 | +[Application Binary Interface]: https://en.wikipedia.org/wiki/Application_binary_interface | 
|  | 107 | +[Application Programming Interface]: https://en.wikipedia.org/wiki/Application_programming_interface | 
|  | 108 | +[Command Line Interface]: https://en.wikipedia.org/wiki/Command-line_interface | 
|  | 109 | +[Common Locale Data Repository]: https://en.wikipedia.org/wiki/Common_Locale_Data_Repository | 
|  | 110 | +[Common Vulnerabilities and Exposures]: https://cve.org | 
|  | 111 | +[CommonJS]: https://en.wikipedia.org/wiki/CommonJS | 
|  | 112 | +[CommonJS Modules]: https://nodejs.org/api/modules.html#modules-commonjs-modules | 
|  | 113 | +[Compiler Explorer]: https://godbolt.org/ | 
|  | 114 | +[Continuous Integration]: https://en.wikipedia.org/wiki/Continuous_integration | 
|  | 115 | +[Document Object Model]: https://en.wikipedia.org/wiki/Document_Object_Model | 
|  | 116 | +[ECMAScript Module]: https://nodejs.org/api/esm.html#modules-ecmascript-modules | 
|  | 117 | +[Ecma International]: https://ecma.org | 
|  | 118 | +[Ecma Technical Committee 39]: https://tc39.es/ | 
|  | 119 | +[End-of-File]: https://en.wikipedia.org/wiki/End-of-file | 
|  | 120 | +[End-of-Life]: https://en.wikipedia.org/wiki/End-of-life_product | 
|  | 121 | +[End-of-Line]: https://en.wikipedia.org/wiki/Newline | 
|  | 122 | +[Endian]: https://en.wikipedia.org/wiki/Endianness | 
|  | 123 | +[Event Tracing for Windows]: https://en.wikipedia.org/wiki/Event_Viewer | 
|  | 124 | +[Federal Information Processing Standards]: https://en.wikipedia.org/wiki/Federal_Information_Processing_Standards | 
|  | 125 | +[Hypertext Transfer Protocol]: https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol | 
|  | 126 | +[Integrated Development Environment]: https://en.wikipedia.org/wiki/Integrated_development_environment | 
|  | 127 | +[Inter-Process Communication]: https://en.wikipedia.org/wiki/Inter-process_communication | 
|  | 128 | +[International Components for Unicode]: https://icu.unicode.org/ | 
|  | 129 | +[Internet Engineering Task Force]: https://www.ietf.org/ | 
|  | 130 | +[JavaScript]: https://developer.mozilla.org/en-US/docs/Web/JavaScript | 
|  | 131 | +[JavaScript Object Notation]: https://www.json.org/ | 
|  | 132 | +[Just In Time]: https://en.wikipedia.org/wiki/Just-in-time_compilation | 
|  | 133 | +[Long Term Support]: https://en.wikipedia.org/wiki/Long-term_support | 
|  | 134 | +[Model-View-Controller]: https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller | 
|  | 135 | +[Mozilla Development Network]: https://developer.mozilla.org/en-US | 
|  | 136 | +[NPM]: https://www.npmjs.com/ | 
|  | 137 | +[Object-Oriented Programming]: https://en.wikipedia.org/wiki/Object-oriented_programming | 
|  | 138 | +[PowerPC]: https://en.wikipedia.org/wiki/PowerPC | 
|  | 139 | +[Read Evaluate Print Loop]: https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop | 
|  | 140 | +[Request For Comments]: https://en.wikipedia.org/wiki/Request_for_Comments | 
|  | 141 | +[Resident Set Size]: https://en.wikipedia.org/wiki/Resident_set_size | 
|  | 142 | +[Resource Acquisition Is Initialization]: https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization | 
|  | 143 | +[Symmetric Multi-Processor]: https://en.wikipedia.org/wiki/Symmetric_multiprocessing | 
|  | 144 | +[The JavaScript Engine]: https://en.wikipedia.org/wiki/V8_\(JavaScript_engine\) | 
|  | 145 | +[The Node.js VM Module]: https://nodejs.org/api/vm.html | 
|  | 146 | +[Unicode Transformation Format - 8-bit]: https://en.wikipedia.org/wiki/UTF-8 | 
|  | 147 | +[Uniform Resource Locator]: https://en.wikipedia.org/wiki/URL | 
|  | 148 | +[User Interface]: https://en.wikipedia.org/wiki/User_interface | 
|  | 149 | +[Web Assembly System Interface]: https://github.com/WebAssembly/WASI | 
|  | 150 | +[Web Hypertext Application Technology Working Group]: https://en.wikipedia.org/wiki/WHATWG | 
|  | 151 | +[World Wide Web Consortium]: https://www.w3.org/ | 
|  | 152 | +[specification document for **ECMAScript**]: https://ecma-international.org/publications-and-standards/standards/ecma-262/ | 
|  | 153 | +[web-platform-tests]: https://github.com/web-platform-tests/wpt | 
0 commit comments