Mô tả

What is Node.js?

Node.js, or Node, is a runtime environment for executing JavaScript code outside of a browser. It is ideal for building highly-scalable, data-intensive backend services (APIs) that power your client’s apps (web or mobile apps).


Why learn Node?

Node is great for prototyping and agile development as well as building super fast and highly scalable apps; Companies like Uber and PayPal use Node in production to build applications because it requires fewer people and less code. Plus, Node has the largest ecosystem of open-source library, so you don’t have to build everything from scratch.


A step-by-step, A to Z course

What you’ll get when you sign up for this course:

  • 15 hours of HD videos, complete with exercises and solutions

  • A real-world project: you'll build the back-end for a video rental application, not a dummy to-do app!

  • No more wasted time on lengthy courses or out-of-date tutorials

  • Up-to-date and practical information and solutions (no fluff!)

  • The opportunity to learn at your own pace - lifetime access - so take your time if you prefer

  • Expert tips to become a Node rockstar

  • The best practices and common pitfalls to avoid

  • Watch on any device, online or offline - mobile friendly and downloadable lessons

  • Certificate of completion to present to your employer


You’ll learn to:

  • Confidently build RESTful services (APIs) using Node.js, Express.js, and MongoDB

  • Employ the best practices for Node.js

  • Avoid common mistakes


What we’ll cover:

  • Node module system

  • Node Package Manager (NPM)

  • Asynchronous JavaScript

  • Useful ES6+ features

  • Implementing CRUD operations

  • Storing complex data in MongoDB

  • Data Validation

  • Authentication and authorization

  • Handling and logging errors the right way

  • Unit and integration testing

  • Test-driven development (TDD)

  • Deployment


This course is for you if:

You’re a back-end developer who is used to working with frameworks like ASP.NET, Rails, Django, etc. You want to add Node.js to your toolbox.

You’re a front-end developer and want to transition to full-stack development.

You’ve tried other Node.js tutorials and found them to be too slow, out-of-date, and boring!

Having Node.js on your resume helps you find more jobs and make more money.


And here is what other students say: 

"Absolutely the best! Highly recommended if you want to get started on Node.js from zero. I have learned what Node is and what it can do. Truly comprehensive. Perfect rating! Mosh knows his stuff and he deserves your support. On a side note, my current company uses Mosh's courses as a huge resource and reference when training / refreshing knowledge. I just want to say thank you! Please don't stop teaching. You were born with the talent to teach." -Eugene John Arellano


"Mosh is one of the top 3 instructors for modern web development. He explains difficult concepts with ease. I recommend all of his courses because of the amount of detail and his style of teaching." -Warren Isaac


"What I like most about the course is Mosh's methodology and the way how he explains the things. Very well structured course with high quality of presentation as well." -Omar Amrani


Who is your instructor?

Hi! My name is Mosh Hamedani and I help ambitious developers take their coding skills to the next level. I'm a software engineer with more than 15 years of experience and I've taught over 200,000 students through my online courses. My YouTube channel, Programming with Mosh, has been watched more than 6M times. My students describe my teaching as clear, concise, and fun, without any fluff.


Do you want to become a Node rockstar? Enroll in the course and get started.


Bạn sẽ học được gì

Build the backend for your web and mobile apps

Use modern JavaScript features (ES6, ES7)

Implement CRUD operations

Handle and log errors, the right way

Write unit and integration tests

Practice test-driven development (TDD)

Store and retrieve complex data in MongoDB

Implement authentication and authorization

Deploy your Node apps to production

Apply the best practices for building fast, scalable and secure apps

Yêu cầu

  • Basic familiarity with JavaScript

Nội dung khoá học

15 sections

Getting Started

9 lectures
Welcome
00:30
What is Node
02:59
Node Architecture
03:01
How Node Works
04:23
Installing Node
02:31
Your First Node Program
02:19
Course Structure
02:13
Recap
00:00
Asking Questions
00:33

Node Module System

14 lectures
Introduction
00:28
Global Object
03:21
Modules
03:35
Creating a Module
04:43
Loading a Module
05:22
Module Wrapper Function
04:40
Path Module
04:08
OS Module
04:18
File System Module
04:50
Events Module
06:17
Event Arguments
03:08
Extending Event Emitter
08:01
HTTP Module
07:24
Recap
00:00

Node Package Manager

17 lectures
Introduction
03:41
Package.json
02:54
Installing a Node Package
03:33
Using a Package
03:20
Package Dependencies
03:18
NPM Packages and Source Control
03:51
Semantic Versioning
04:29
Listing the Installed Packages
02:10
Viewing Registry Info for a Package
02:45
Installing a Specific Version of a Package
01:05
Updating Local Packages
05:02
DevDependencies
01:51
Uninstalling a Package
00:40
Working with Global Packages
02:33
Publishing a Package
04:32
Updating a Published Package
01:55
Recap
00:00

Building RESTful API's Using Express

15 lectures
Introduction
00:47
RESTful Services
05:57
Introducing Express
02:19
Building Your First Web Server
05:45
Nodemon
01:30
Environment Variables
03:13
Route Parameters
03:22
Handling HTTP GET Requests
04:45
Handling HTTP POST Requests
03:42
Calling Endpoints Using Postman
02:07
Input Validation
07:58
Handling HTTP PUT Requests
08:30
Handling HTTP Delete Requests
04:44
Project- Build the Genres API
01:18
Recap
00:00

Express- Advanced Topics

14 lectures
Introducion
00:22
MIddleware
02:48
Creating Custom Middleware
04:23
Built-In Middleware
03:57
Third-party Middleware
03:55
Environments
04:06
Configuration
09:45
Debugging
06:54
Templating Engines
04:55
Database Integration
01:36
Authentication
00:29
Structuring Express Applications
07:44
Project- Restructure the App
03:05
Recap
00:00

Asynchronous JavaScript

12 lectures
Synchronous Vs. Asynchronous Code
05:51
Patterns For Dealing With Asynchronous Code
03:07
Callbacks
05:59
Callback Hell
02:28
Named Functions to Rescue
04:41
Promises
08:37
Replacing Callbacks with Promises
03:31
Consuming Promises
05:31
Creating Settled Promises
02:49
Running Parallel Promises
06:14
Async and Await
06:55
Exercise
05:56

CRUD Operations Using MongoDB

20 lectures
Introducing MongoDB
02:00
Installing MongoDB on Mac
03:58
Installing MongoDB on Windows
05:39
Connecting to MongoDB
03:52
Schemas
03:48
Models
04:18
Saving a Document
03:33
Querying Documents
04:18
Comparison Query Operators
04:59
Logical Query Operators
02:01
Regular Expressions
03:20
Counting
00:49
Pagination
01:36
Exercise 1
07:57
Exercise 2
04:34
Exercise 3
03:19
Updating Documents- Query First
03:35
Updating a Document- Update First
06:14
Removing Documents
02:38
Recap
00:00

Mongoose - Data Validation

10 lectures
Validation
06:59
Built-In Validators
04:55
Custom Validators
03:16
Async Validators
02:35
Validation Errors
03:37
SchemaType Options
05:56
Project- Add Persistence to Genres API
14:05
Project- Build the Customers API
06:59
Restructuring the Project
06:14
Recap
00:00

Mongoose- Modeling Relationships Between Connected Data

12 lectures
Modelling Relationships
07:45
Referencing Documents
03:51
Population
04:16
Embedding Documents
06:54
Using an Array of Sub-documents
04:31
Project- Build the Movies API
07:05
Project- Build the Rentals API
08:01
Transactions
08:45
ObjectID
07:03
Validating Object ID's
06:13
A Better Implementation
02:23
Recap
00:00

Authentication and Authorization

19 lectures
Introduction
04:01
Creating the User Model
03:40
Registering Users
07:53
Using Lodash
05:21
Hashing Passwords
06:54
Authenticating Users
04:54
Testing the Authentication
02:42
JSON Web Tokens
05:04
Generating Authentication Tokens
03:18
Storing Secrets in Environment Variables
06:12
Setting Response Headers
03:46
Encapsulating Logic in Mongoose Models
07:11
Authorization Middleware
06:50
Protecting Routes
03:06
Getting the Current User
04:03
Logging Out Users
02:04
Role Based Authorization
05:43
Testing the Authorization
04:10
Recap
00:00

Handling and Logging Errors

17 lectures
Introduction
03:02
Handling Rejected Promises
03:07
Express Error Middleware
04:40
Removing Try_Catch docs
08:29
Express Async Errors
03:18
Logging Errors
06:36
Logging to MongoDB
04:11
Uncaught Exceptions
03:35
Unhandled Promise Rejections
07:23
Error Handling Recap
02:26
Refactoring Index.js- Extracting Routes
04:54
Extracting the DB Logic
03:22
Logging
02:11
Extracting the Config Logic
02:30
Extracting the Validation Logic
01:53
Showing Unhandled Exceptions on the Console
01:29
Recap
00:00

Unit Testing

21 lectures
What is Automated Testing?
02:40
Benefits of Automated Testing
02:37
Types of Tests
04:00
Test Pyramid
02:55
Tooling
02:15
Writing Your First Unit Test
05:00
Testing Numbers
06:36
Grouping Tests
01:51
Refactoring with Confidence
02:43
Testing Strings
03:24
Testing Arrays
05:50
Testing Objects
05:30
Testing Exceptions
07:25
Continually Running Tests
01:43
Exercise- Testing the FizzBuzz
05:28
Creating Simple Mock Functions
05:37
Interaction Testing
05:00
Jest Mock Functions
07:16
What to Unit Test
03:06
Exercise
07:39
Recap
00:00

Integration Testing

17 lectures
Introduction
01:09
Preparing the App
02:18
Setting Up the Test DB
03:01
Your First Integration Test
05:44
Populating the Test DB
06:17
Testing Routes with Parameters
03:19
Validating Object ID's
03:31
Refactoring with Confidence
02:04
Testing the Authorization
02:39
Testing Invalid Inputs
05:32
Testing the Happy Paths
02:35
Writing Clean Tests
08:40
Testing the Auth Middleware
09:45
Unit Testing the Auth Middleware
06:14
Code Coverage
07:09
Exercise
00:26
Recap
00:00

Test-driven Development

17 lectures
What is Test-driven Development?
02:54
Implementing the Returns
02:33
Test Cases
02:53
Populating the Database
07:14
Testing the Authorization
07:22
Testing the Input
03:42
Refactoring Tests
04:18
Looking Up an Object
03:04
Testing if Rental Processed
02:13
Testing the Valid Request
02:23
Testing the Return Date
04:15
Testing the Rental Fee
04:50
Testing the Movie Stock
05:37
Testing the Response
03:36
Refactoring the Validation Logic
06:44
Mongoose Static Methods
06:12
Refactoring the Domain Logic
04:04

Deployment

10 lectures
Introduction
01:21
Preparing the App for Production
02:28
Getting Started With Heroku
02:15
Preparing the App for Deployment
01:55
Adding the Code to a Git Repository
02:44
Deploying to Heroku
03:44
Viewing Logs
02:46
Setting Environment Variables
02:44
MongoDB in the Cloud
08:23
Coupon to My Other Courses
00:20

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.