Awesome Node.js Learning Resources
Contents
- Awesome Node.js Learning Resources
- Contents
- Node.js Certification
- Node.js History
- Module System
- Patterns, Anti-patterns, Best practices
- Reactor Pattern
- Node.js Internals
- Event Loop
- Streams
- Event System
- Dependency Injection
- Handling Errors
- Testing
- Debugging
- Linting and formatting
- Optimizing Performance
- Security
- Logging
- Authentication
- Websockets
- Node.js with docker
- Node.js with typescript
- Monitoring
- Frameworks
- Architecture and Project Structure
- Native Modules
- NPM
- Other
- Recommended Books
- Recommended courses
Node.js Certification
Node.js History
Module System
- What is a difference between a module and a package
- Getting started with Node.js modules
- Requiring modules in Node.js: Everything you need to know
Patterns, Anti-patterns, Best practices
- 20 ways to become a better Node.js developer in 2020
- The largest Node.js best practices list
- Fundamental Node.js Design Patterns
- 9 Ways to Avoid Pitfalls Using Node.js
Reactor Pattern
- Understanding Reactor Pattern
- Understanding Reactor Pattern for Highly Scalable I/O Bound Web Server
Node.js Internals
- Crossing the JS/C++ Boundary — Advanced Node.js Internals
- Internals of Node- Advance node
- https://codeburst.io/node-js-v8-internals-an-illustrative-primer-83766e983bf6
- Node.js C++/JS Boundary: Crossing The Rubicon
Event Loop
- Event Loop and the Big Picture
- Timers, Immediates and Next Ticks
- Promises, Next Ticks and Immediates
- Handling IO with Event Loop
- Event Loop Best Practices
- New Changes to the Timers and Microtasks in Node v11.0.0
- The Event Loop
- A complete guide to the Node.js event loop
- What you should know to really understand the Node.js Event Loop
- The Node.js Event Loop
Streams
- Stream Handbook by substack
- Node.js Streams: Everything you need to know
- Node.js Streams
- Node.js Streams Demystified
- Node.js File Streams Explained
Event System
- Event-Driven Programming in Node.js
- How to code your own event emitter in Node.js
- Handling and dispatching events with Node.js
Dependency Injection
- Dependency injection in Node.js projects
- Dependency Injection in Node.js
- Do I need Dependency Injection in Node.js?
- Node.js advanced pattern: Dependency Injection Container
Handling Errors
- Error Management in Node.js Applications
- Error Handling in Node.js
- Error Management in Node.js Applications
- Error handling - The missing piece of your node.js architecture
- Functional Error Handling with Express.js and DDD
Testing
- Node.js & JavaScript Testing Best Practices
- Unit Testing Express Middleware Behavior
- A testing guide for Express with request and response mocking/stubbing using Jest or sinon
- Unit testing in Express with Promise-based Middleware and Controllers
- Testing streams: a primer
- Please, stop playing with proxyquire
Debugging
- The Absolute Easiest Way to Debug Node.js — with VS Code
- Debugging Node.js with Google Chrome
- How to Debug a Node.js app in a Docker Container
Linting and formatting
- How to use ESLint in Node.js Applications?
- Why (and how) to use eslint in your project
- Node.js – Auto Lint & Format on Git Commit with Airbnb Style Guide
Optimizing Performance
- Five Misconceptions on How NodeJS Works
- Deep Dive Into Worker Threads in Node.js
- Monitoring Node.js: Watch Your Event Loop Lag!
- Node.js under a Microscope: CPU FlameGraph and FlameScope
Security
- We’re under attack! 23+ Node.js security best practices
- OWASP Node Goat Tutorial: Fixing OWASP Top 10
- Why npm lockfiles can be a security blindspot for injecting malicious modules
- Understanding filesystem takeover vulnerabilities in npm JavaScript package manager
- Understanding and implementing rate limiting in Node.js
Logging
- A Guide to Node.js Logging
- Logging: Best Practices for Node.js Applications
- Getting Started With morgan
- Node.js Logging Tutorial
Authentication
- Learn how to handle authentication with Node using Passport.js
- Your Node.js authentication tutorial is (probably) wrong
- You don't need passport.js - Guide to Node.js authentication
Websockets
Node.js with docker
- Docker and Node.js Best Practices from Bret Fisher at DockerCon
- Step-by-Step Guide to Setup Node With Docker
- Node.js memory management in container environments
Node.js with typescript
Monitoring
Frameworks
Architecture and Project Structure
Native Modules
- Primer into Node.js Native Modules
- The Future of Native Modules in Node.js
- Native Extensions for Node.js
NPM
- What's what? - Package.json cheatsheet
- These NPM tricks will make you a pro
- NPM Task Running Techniques
- 4 Solutions To Run Multiple Node.js or NPM Commands Simultaneously
- Three Things You Didn't Know You Could Do with npm Scripts
Other
- Running Multiple Versions of Node.js with Node Version Manager
- Want to be a Web Developer? Learn Node.js not PHP
- The leftpad incident
Recommended Books
- Node.js Design Patterns (must-read for every node.js dev)
- Node Cookbook