Node Js Study Cards

Enhance Your Understanding with Node.js Concept Cards for quick learning



Node.js

A JavaScript runtime built on Chrome's V8 JavaScript engine that allows developers to run JavaScript on the server-side.

NPM

Node Package Manager, a package manager for Node.js that allows developers to easily install, manage, and share reusable JavaScript code.

Event Loop

A mechanism in Node.js that allows asynchronous operations to be performed efficiently by handling events and callbacks.

Require

A function in Node.js used to import modules and their functionality into a program.

Callback Function

A function passed as an argument to another function, which will be called when a certain task is completed or an event occurs.

Promises

An alternative to callback functions in Node.js that allows for more readable and maintainable asynchronous code.

File System Module

A built-in module in Node.js that provides functionality for interacting with the file system, such as reading, writing, and manipulating files.

HTTP Module

A built-in module in Node.js that provides functionality for creating HTTP servers and making HTTP requests.

Express.js

A popular web application framework for Node.js that simplifies the process of building robust and scalable web applications.

MongoDB

A popular NoSQL database used with Node.js for storing and retrieving data in a flexible and scalable manner.

Error Handling

The process of gracefully handling and managing errors in a Node.js application to prevent crashes and provide meaningful feedback to users.

Debugging

The process of identifying and fixing errors or bugs in a Node.js application using tools like the Node.js debugger or logging.

Unit Testing

The practice of testing individual units or components of a Node.js application to ensure they function correctly and meet the expected requirements.

Cross-Site Scripting (XSS)

A security vulnerability in web applications that allows attackers to inject malicious scripts into web pages viewed by other users.

Cross-Site Request Forgery (CSRF)

A security vulnerability in web applications that allows attackers to perform unwanted actions on behalf of authenticated users.

Deployment

The process of making a Node.js application available for use in a production environment, typically on a server or cloud platform.

Scaling

The process of increasing the capacity and performance of a Node.js application to handle a larger number of users or requests.

Middleware

Functions in Express.js that have access to the request and response objects, allowing for additional processing and customization of the request-response cycle.

Template Engines

Tools in Node.js that allow for dynamic generation of HTML pages by combining templates with data.

JSON Web Tokens (JWT)

A standard for securely transmitting information between parties as a JSON object, commonly used for authentication and authorization in Node.js applications.

WebSocket

A communication protocol that provides full-duplex communication channels over a single TCP connection, commonly used for real-time web applications.

Caching

The process of storing frequently accessed data in memory or a faster storage system to improve the performance of a Node.js application.

Command Line Arguments

Values provided to a Node.js application when it is run from the command line, allowing for customization and configuration.

Event Emitter

A class in Node.js that allows objects to emit and listen for custom events, enabling event-driven programming.

Buffer

A temporary storage area in Node.js that allows for the manipulation and handling of binary data.

Child Processes

The ability of Node.js to spawn and communicate with child processes, allowing for the execution of external commands or scripts.

Cluster Module

A built-in module in Node.js that allows for the creation of child processes to take advantage of multi-core systems and improve application performance.

Streams

A mechanism in Node.js for handling data flow, allowing for efficient processing of large amounts of data without consuming excessive memory.

RESTful API

An architectural style for designing networked applications that adhere to a set of constraints, commonly used in Node.js for building web services.

Authentication

The process of verifying the identity of a user or system, commonly used in Node.js applications to control access to protected resources.

Authorization

The process of granting or denying access to specific resources or actions based on the authenticated user's permissions or role.

Database Migration

The process of transferring data from one database to another or modifying the structure of a database, commonly used in Node.js applications to manage database changes.

Template Literals

A feature in JavaScript that allows for the embedding of expressions and variables within string literals, commonly used in Node.js for generating dynamic strings.

Error-First Callback

A convention in Node.js where the first argument of a callback function is reserved for an error object, allowing for consistent error handling.

Event-driven Programming

A programming paradigm in which the flow of the program is determined by events, such as user actions or system events, commonly used in Node.js applications.

Package.json

A file in Node.js projects that contains metadata about the project, including dependencies, scripts, and other configuration settings.

npm install

A command in Node.js used to install dependencies specified in the package.json file, making them available for use in the project.

npm start

A command in Node.js used to start the application defined in the package.json file, typically used for running the main script of the project.

npm test

A command in Node.js used to run tests defined in the project, typically using a testing framework like Mocha or Jest.

npm run

A command in Node.js used to run custom scripts defined in the package.json file, allowing for the execution of arbitrary commands or scripts.

npm publish

A command in Node.js used to publish a package to the npm registry, making it available for others to install and use.

npm update

A command in Node.js used to update dependencies specified in the package.json file to their latest versions, ensuring the project uses the most up-to-date code.

npm uninstall

A command in Node.js used to remove dependencies specified in the package.json file, freeing up disk space and removing unused code.

npm init

A command in Node.js used to initialize a new project, creating a package.json file with default settings or prompting for user input.

npm link

A command in Node.js used to create a symbolic link between a globally installed package and a local project, allowing for easy development and testing of the package.

npm cache

A feature in Node.js that caches downloaded packages and their dependencies, improving installation speed and reducing network usage.

npm audit

A command in Node.js used to check for known security vulnerabilities in the project's dependencies, providing recommendations for updates or fixes.

npm script

A feature in Node.js that allows for the definition and execution of custom scripts in the package.json file, providing a convenient way to automate common tasks.

npm registry

A public repository of packages for Node.js, where developers can publish and share their code with others.

npm version

A command in Node.js used to update the version number of the project, following semantic versioning guidelines.

npm prune

A command in Node.js used to remove unused dependencies from the project, reducing the size of the project and improving performance.

npm shrinkwrap

A command in Node.js used to create a lockfile that specifies the exact versions of the project's dependencies, ensuring consistent builds across different environments.

npm config

A command in Node.js used to view or modify the configuration settings of npm, allowing for customization of the package manager's behavior.