Learny

List of free resources for learning various technologies


Project maintained by zsevic Hosted on GitHub Pages — Theme by mattgraham

Learny

List of free resources for learning JavaScript technologies

JavaScript

Core

Introduction to JavaScript

The Complete JavaScript Handbook

JavaScript30

The Modern JavaScript Tutorial

JavaScript Visualized

What do the three dots (…) mean in JavaScript?

The magic of the “this” keyword in JavaScript

The difference between call / apply / bind

Javascript Scope Chain and Execution Context simplified

When to use a function declaration vs. a function expression

3 Ways to Set Default Value in JavaScript

5 Tips to Write Better Conditionals in JavaScript

7 Types of Native Errors in JavaScript You Should Know

Don’t use functions as callbacks unless they’re designed for it

Miscellaneous

Practical Ways to Write Better JavaScript

How to automate your open source JavaScript project’s most repetitive tasks

JavaScripts Regular Expressions Get More Power

How to use Memoize to cache JavaScript function results and speed up your code

A neat little trick with JavaScript’s indexOf()

A simple guide to help you understand closures in JavaScript

Let’s learn about Set and its unique functionality in JavaScript

Iterators and generators

How To Implement Async And Await With Generators

Web Workers in JavaScripts

ES6+

ES6 for beginners with example

Here are examples of everything new in ECMAScript 2016, 2017, and 2018

Here are the new built-in methods and functions in JavaScript

Includes() vs indexOf() in JavaScript

Async Generator Functions in JavaScript

The Complete Guide to ES10 Features

Books

You Don’t Know JS (book series)

Guides

Airbnb JavaScript Style Guide

Node.js Style Guide

Clean Code concepts adapted for JavaScript

Project Guidelines

Grab Front End Guide

Web Developer Roadmap - 2018

Design patterns

Patterns

The Comprehensive Guide to JavaScript Design Patterns

NodeJS and Good Practices

Node.js and dependency injection – friends or foes?

TypeScript

TypeScript Deep Dive

The Definitive TypeScript Handbook

Learn TypeScript in 5 minutes

TypeScript Essentials

How TypeScript 3.7 Helps Quality

Real Time Apps with TypeScript: Integrating Web Sockets, Node & Angular

Use TypeScript to Build a Node API with Express

Runtimes

Node.js

Core

The definitive Node.js handbook

Before you bury yourself in packages, learn the Node.js runtime itself

All about Core NodeJS — Part 1

How to Use ECMAScript Modules in Node.js

Node.js Best Practices

Exploring the Possibilities of Node’s Virtual Machine Module

An Overview of What Was New in Node 12

Creating an Application Performance Monitor Using Node 14 New and Experimental Features

Debug Your Node.js App in 60 Seconds

A Practical Guide to Memory Leaks in Node.js

Node.js includes built-in support for .env files

Miscellaneous

Refactoring node.js (Part 1)

Scaling Node.js Applications

Get started with validation in Node.js

How to get create-react-app to work with a Node.js back-end API

Clustering & Inter Process Communication (IPC) in Node.js

Securing your Node js api with JSON Web Token

Inspect your node application on a different machine

Using import/export in node.js with esm

Bundle your Node app to a single executable for Windows, Linux and OsX

How to create a Task Scheduler in NodeJS

Building Distributed Systems with Node.js

How to build a web crawler with Node

How to Optimize Node Requests with Simple Caching Strategies

Graceful Shutdown with NodeJS and Terminus

The Node.js Application Maintainer Guide

Node.js Import Aliases

Popular Node.js patterns and tools to re-consider

Managing your Node.js installation

Deno

Deno 1.0

Deno 1.0: What you need to know

Deno: Node.js Killer? Introduction & Demo

The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples

From Node to Deno

Bun

Bun docs

Migrating a TypeScript app from Node.js to Bun

Frameworks

Express.js

Learn Express

NestJS

A Crash Course in NestJS

Getting Started With NestJS

API with NestJS

How to Use Versioning in NestJS

Fastify

Getting Started with Fastify for Node.js

Advanced Fastify: Hooks, Middleware, and Decorators

Security

Node.js Security Best Practices

23+ Node.js security best practices

Going surfing – Protect your Node.js app from Cross-Site Request Forgery

GraphQL security in Node.js project

Process managers

How Do You Start a Node.js Server in Production?

CLI

A Guide to CLIs with Node.js

How to make beautiful, simple CLI apps with Node

How to build a CLI tool in NodeJS

Frontend libraries/frameworks

React

The React Handbook

How to Learn React — A roadmap from beginner to advanced

Create React apps with no build configuration

A Complete Beginner’s Guide to React Router (including Router Hooks)

8 simple steps to start testing React Apps using React Testing Library and Jest

React Testing Crash Course

How to replace Component lifecycle with useEffect hook in React?

How to mimic componentDidUpdate() with React Hooks

How to lift your React App performance using Lazy Loading?

How to Handle Errors in React

Gatsby

How I Created My Blog With Gatsby

Creating a Gatsby blog from scratch

Angular

An Angular 5 Tutorial: Step by Step Guide to Your First Angular 5 App

The best ways to connect to the server using Angular CLI

CLI tool for Angular

Vue

Learn Vue.js for free

Getting Started With Vue Router

How you can test your Vue.js apps in less than seven minutes

Firebase + Vue → Track Users Location Real-Time On The Google Maps

State management

Redux

Learn Redux In One Video - Redux / React Tutorial

7 steps to understand React Redux

Redux VS React Context: Which one should you choose?

Databases

Active Record vs Data Mapper

MongoDB

The MongoDB basics tutorial

How to use MongoDB with Node.js

Introduction to Mongoose for MongoDB

How to automate database migrations in MongoDB

API

Why Your Backend in Node.JS Needs an API Layer and How to Build It

Notion API – Full Course for Beginners

REST

Best practices for REST API design

How to build blazing fast REST APIs with Node.js, MongoDB, Fastify and Swagger

Build Interactive API Documentations Easily with Swagger

GraphQL

How to set up a GraphQL Server using Node.js, Express & MongoDB

GraphQL - Node.js

GraphQL - React + Apollo

Getting started - Apollo Server

GraphQL Server Tutorial with Apollo Server and Express

gRPC

Node, gRPC, and Postgres

Microservices

Messaging

NSQ Tutorial: Build a simple message queue using NSQ

How to Implement a Simple Task Queue in Node.js

Kafka

RabbitMQ

An introduction to RabbitMQ, a broker that deals in messages

Understanding message queuing systems using RabbitMQ

Tracing

How to use OpenTelemetry to trace Node.js applications

Desktop apps

Electron

How to Build Your First Desktop App with JavaScript Using Electron

Mobile apps

React Native

Learn to use the create-react-native-app for a simple and elegant solution for starting React Native Applications

How to integrate Redux into your application with React Native and Expo

Ionic

Ionic + React + Firebase

Ionic5 + Firebase + React

WebSockets

socket.io

You don’t need express to get started with socket.io

Server-Sent Events

Paradigms

Functional programming

How and why to use Functional Programming in modern JavaScript

Reactive programming

The Best Explanation of JavaScript Reactivity

Learn RxJS

RxJS by Example

Reactive programming and Observable sequences with RxJS in Node.js

Deployment

Deploying Node.js Apps on Heroku

Deploying a Node App to DigitalOcean

How to get started using Firebase Hosting

Host Your Personal Projects on a Single VPS

Deploying a simple Node.js app with HTTPS on cloud providers in 2022

Serverless

Express.js and AWS Lambda — a serverless love story

Building Serverless GraphQL API in Node with Express and Netlify

Bots

Creating a simple Twitter Bot in NodeJs in 20 lines of code

Chat bots

Build a simple chat app with node.js and socket.io

Creating your own Facebook Messenger bot

Add Wit.ai to Your Facebook Messenger bot

Logging

Best Practices for Logging in Node.js

Progressive Web Apps

An introduction to Progressive Web Apps

Intro to Progressive Web Apps

Service workers: the little heroes behind Progressive Web Apps

Offline Web Applications

A quick but complete guide to IndexedDB and storing data in browsers

How to provide your own in-app install experience

Data visualization

Learn D3.js in 5 minutes

Package management

What’s what? - Package.json cheatsheet

How to ignore files from your npm package

5 package.json magic scripts that you don’t use!

Create Your First Github Package

Best practices for creating a modern npm package

Npm

Npm

Publish your first npm package

Create a project using the npm init initializer command

How to publish packages to npm (the way the industry does things)

Yarn

Yarn

Testing

A guide to unit testing in JavaScript

Unit-testing: best practices

Trying Node.js Test Runner

Test frameworks

Mocha

Mocha

Jest

How to test JavaScript with Jest

Testing with Jest & async/await

Testing Node.js + Mongoose with an in-memory database

The only 3 steps you need to mock an API call in Jest

Assertion libraries

Chai

Code coverage

Measure your code coverage using Istanbul (with a demo)

Transpilers

Babel

Build system

Webpack

A collection of simple demos of Webpack

Linters/code formatters

ESLint

Quick Guide to Linting JavaScript Codebase with ESLint

Prettier

Standard

Continuous Integration

TravisCI

Setup Continuous Integration with Travis CI in Your Nodejs App

Documentation

Adding Swagger To Existing Node.js Project

JSDoc

Useful packages/tools

Dotenv

Nodemon

Containers

Docker

How to Dockerize a Node.js application

Reducing Docker’s image size while creating an offline version of Carbon.now.sh

Docker compose

Getting started with Docker for local Node.js development

A beginner’s guide to Docker — how to create a client/server side with Docker-Compose

How to create a full stack React/Express/MongoDB app using Docker

Kubernetes

Running a Node.js app with Docker, Kubernetes, and Minikube

Containerizing a Node.js API & Using Docker with Kubernetes and Minikube

Miscellaneous

Building a Node.js application on Android - Part 1: Termux, Vim and Node.js

How to code Chrome’s T-Rex as a Telegram game using Node.js

Flying a Drone with React and Node.js

NO, you most probably don’t need Express in your Node.js REST API

Choose between Formidable, Busboy, Multer and Multiparty for processing file uploads

Newsletters

Node Weekly

Websites with interactive courses

Codecademy

NodeSchool

FreeCodeCamp

SoloLearn

Websites with useful articles

Pragmatic Pineapple 🍍

freecodecamp/news

The DEV Community

Scotch

Code for geek

Codecademy Articles

RisingStack

Flavio Copes

Robin Wieruch

Alligator.io