|
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