Skip to content

Commit f770a99

Browse files
avivkellerHarshithaKP
authored andcommitted
doc: add more definitions to GLOSSARY.md
Co-Authored-By: Harshitha KP <harshi46@in.ibm.com> PR-URL: #52798 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
1 parent f35b838 commit f770a99

File tree

1 file changed

+152
-21
lines changed

1 file changed

+152
-21
lines changed

glossary.md

+152-21
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,153 @@
1-
You may also need to check <https://chromium.googlesource.com/chromiumos/docs/+/HEAD/glossary.md>.
1+
# Glossary
22

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

Comments
 (0)