# max-mapper/art-of-node

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/max-mapper-art-of-node).**

9,873 stars · 844 forks · JavaScript · NOASSERTION

## Links

- GitHub: https://github.com/max-mapper/art-of-node
- Homepage: https://github.com/maxogden/art-of-node#the-art-of-node
- awesome-repositories: https://awesome-repositories.com/repository/max-mapper-art-of-node.md

## Description

This project is a curated educational guide and instructional resource for the Node.js runtime environment. It serves as a comprehensive introduction to core concepts, including asynchronous programming tutorials, network application primers, and guides on the module system and stream API.

The material focuses on the fundamental building blocks of server-side development, specifically how to create reusable code packages and manage project dependencies via a module manifest. It provides detailed instruction on building programs that communicate over HTTP and TCP protocols to exchange data across networks.

The guide covers several key capability areas, including asynchronous workflow management using non-blocking I/O and event-driven programming patterns. It also details server-side file system interaction for data storage and the use of streams to process large datasets incrementally.

## Tags

### Education & Learning Resources

- [Runtime Fundamentals](https://awesome-repositories.com/f/education-learning-resources/runtime-fundamentals.md) — Serves as a comprehensive introduction to the core concepts and fundamental building blocks of the Node.js runtime. ([source](https://github.com/max-mapper/art-of-node#readme))
- [Technical Primers](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/tutorials-media-curated-lists/technical-tutorials/application-development/web-development-tutorials/technical-primers.md) — Provides foundational guides on building applications that communicate using HTTP and TCP protocols.
- [Node.js Stream API Guides](https://awesome-repositories.com/f/education-learning-resources/node-js-stream-api-guides.md) — Provides comprehensive instructional material on using the Stream API to handle large datasets incrementally across filesystems and networks.
- [Runtime Environment Guides](https://awesome-repositories.com/f/education-learning-resources/runtime-environment-guides.md) — Acts as a curated introduction to the core concepts and fundamental building blocks of the Node.js environment.

### Part of an Awesome List

- [Node.js Development](https://awesome-repositories.com/f/awesome-lists/devtools/node-js-development.md) — Provides a comprehensive resource for building server-side applications that handle concurrent network connections.
- [Web and Networking](https://awesome-repositories.com/f/awesome-lists/devtools/web-and-networking.md) — Details how to send and receive data over HTTP and TCP protocols for networked applications. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.fr.md))

### Data & Databases

- [Incremental Data Streaming](https://awesome-repositories.com/f/data-databases/incremental-data-streaming.md) — Provides instruction on using streams to process large datasets incrementally to reduce memory usage.
- [Asynchronous File Operations](https://awesome-repositories.com/f/data-databases/file-management-systems/asynchronous-file-operations.md) — Teaches how to perform non-blocking asynchronous read and write operations on local filesystems. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.fr.md))
- [File Storage Systems](https://awesome-repositories.com/f/data-databases/file-storage-systems.md) — Instructs on reading and writing data to hierarchical directory structures on the local filesystem. ([source](https://github.com/max-mapper/art-of-node#readme))
- [Server-Side File Interaction](https://awesome-repositories.com/f/data-databases/file-storage-systems/server-side-file-interaction.md) — Provides guides on managing data storage and retrieval by interacting with local files and system memory.
- [Local Data Stores](https://awesome-repositories.com/f/data-databases/local-data-stores.md) — Provides methods for storing and retrieving data using local disk and memory persistence. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.md))

### Development Tools & Productivity

- [Dependency Installers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers.md) — Explains the installation and organization of project-specific third-party modules. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.zh-cn.md))
- [Modular Architecture](https://awesome-repositories.com/f/development-tools-productivity/modular-architecture.md) — Organizes code into reusable, decoupled packages with local dependency management to prevent version conflicts.
- [Module System Education](https://awesome-repositories.com/f/development-tools-productivity/node-js-dependency-managers/module-system-education.md) — Provides a detailed resource for learning how to create reusable code packages and manage project dependencies.

### Networking & Communication

- [Network Programming](https://awesome-repositories.com/f/networking-communication/networking/network-programming.md) — Provides a primer on building applications that communicate via HTTP and TCP protocols. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.es.md))

### Operating Systems & Systems Programming

- [Non-Blocking I/O Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/asynchronous-i-o-libraries/non-blocking-i-o-interfaces.md) — Describes the non-blocking I/O model that allows Node.js to handle filesystem and network requests concurrently.
- [Event Loops](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/event-loops.md) — Covers the fundamental event-loop architecture used to coordinate non-blocking input and output.

### Programming Languages & Runtimes

- [Asynchronous Programming Tutorials](https://awesome-repositories.com/f/programming-languages-runtimes/asynchronous-programming-patterns/asynchronous-programming-tutorials.md) — Offers instructional material on non-blocking I/O, callbacks, and event-driven patterns for managing concurrent tasks.
- [CommonJS Resolvers](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/module-management/module-resolution/module-resolvers/commonjs-resolvers.md) — Explains how the CommonJS module system resolves file paths and manages dependencies.
- [Reusable Component Packaging](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/programming-environments-tooling/modular-library-architectures/reusable-component-packaging.md) — Provides a framework for structuring shareable code modules as independent packages. ([source](https://github.com/max-mapper/art-of-node#readme))
- [Event Loops](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/execution-models/multi-threaded-execution/event-loops.md) — Explains the single-threaded execution model that manages tasks and events to avoid locking overhead.
- [Language Module Definitions](https://awesome-repositories.com/f/programming-languages-runtimes/node-js-debuggers/language-module-packaging/language-module-definitions.md) — Teaches how to encapsulate logic into reusable packages using a module manifest. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.fr.md))
- [Stream Processing](https://awesome-repositories.com/f/programming-languages-runtimes/node-js-network-libraries/stream-processing.md) — Teaches how to process large datasets incrementally from files or networks to reduce memory footprint.

### Software Engineering & Architecture

- [Asynchronous Task Execution](https://awesome-repositories.com/f/software-engineering-architecture/concurrency-models/asynchronous-task-execution.md) — Explains the execution of functions via callbacks after asynchronous I/O operations complete. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.ru.md))
- [Modular Package Systems](https://awesome-repositories.com/f/software-engineering-architecture/modular-package-systems.md) — Guides the organization of code into reusable modules for distribution via a require system. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.pt-br.md))
- [Observer Patterns](https://awesome-repositories.com/f/software-engineering-architecture/observer-patterns.md) — Implements the publish-subscribe pattern via the EventEmitter for component communication.
- [Asynchronous Workflow Patterns](https://awesome-repositories.com/f/software-engineering-architecture/producer-consumer-workflow-managers/asynchronous-workflow-patterns.md) — Details the management of time-consuming I/O operations using non-blocking callbacks and event-driven patterns.
- [Modular Dependency Management](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/configuration-dependency-systems/modular-dependency-management.md) — Describes the resolution and versioning of external code libraries to avoid global conflicts. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.md))
- [Dependency Isolation Strategies](https://awesome-repositories.com/f/software-engineering-architecture/dependency-isolation-strategies.md) — Details the strategy of isolating dependencies within project-specific directories to prevent version conflicts.
- [Event Subscribers](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/reactive-messaging/reactive-event-driven-systems/event-subscribers.md) — Implements many-to-many communication between components using event subscribers. ([source](https://github.com/max-mapper/art-of-node#readme))

### System Administration & Monitoring

- [Event-Driven I/O](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/connection-lifecycle-management/parallel-network-i-o/event-driven-i-o.md) — Explains the use of event-loop based asynchronous I/O to handle multiple concurrent data sources. ([source](https://github.com/max-mapper/art-of-node#readme))

### Web Development

- [Event-Driven Architectures](https://awesome-repositories.com/f/web-development/event-driven-architectures.md) — Implements a publish-subscribe mechanism allowing components to communicate by triggering functions on named events.
- [Asynchronous Request Managers](https://awesome-repositories.com/f/web-development/asynchronous-request-managers.md) — Covers the management of asynchronous workflows and concurrent network operations. ([source](https://github.com/max-mapper/art-of-node/blob/master/readme.es.md))

### DevOps & Infrastructure

- [Dependency Isolation](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/project-management/dependency-isolation.md) — Provides instructions on installing and isolating third-party modules to avoid global version conflicts. ([source](https://github.com/max-mapper/art-of-node#readme))
