-
Урок 1.
00:06:46
Course Structure and Projects
-
Урок 2.
00:05:26
Let's Install Node.js
-
Урок 3.
00:00:56
Section Intro
-
Урок 4.
00:07:40
What Is Node.js and Why Use It?
-
Урок 5.
00:06:28
Running Javascript Outside the Browser
-
Урок 6.
00:06:00
Using Modules 1: Core Modules
-
Урок 7.
00:07:29
Reading and Writing Files
-
Урок 8.
00:10:14
Blocking and Non-Blocking: Asynchronous Nature of Node.js
-
Урок 9.
00:14:17
Reading and Writing Files Asynchronously
-
Урок 10.
00:12:51
Creating a Simple Web Server
-
Урок 11.
00:15:19
Routing
-
Урок 12.
00:14:29
Building a (Very) Simple API
-
Урок 13.
00:14:04
HTML Templating: Building the Templates
-
Урок 14.
00:20:47
HTML Templating: Filling the Templates
-
Урок 15.
00:10:24
Parsing Variables from URLs
-
Урок 16.
00:06:35
Using Modules 2: Our Own Modules
-
Урок 17.
00:05:18
Introduction to NPM and the package.json File
-
Урок 18.
00:13:40
Types of Packages and Installs
-
Урок 19.
00:07:56
Using Modules 3: 3rd Party Modules
-
Урок 20.
00:11:46
Package Versioning and Updating
-
Урок 21.
00:11:28
Setting up Prettier in VS Code
-
Урок 22.
00:02:58
Recap and What's Next
-
Урок 23.
00:00:47
Section Intro
-
Урок 24.
00:13:29
An Overview of How the Web Works
-
Урок 25.
00:05:30
HTTP in Action
-
Урок 26.
00:06:03
Front-End vs. Back-End Web Development
-
Урок 27.
00:09:16
Static vs Dynamic vs API
-
Урок 28.
00:01:25
Section Intro
-
Урок 29.
00:03:48
Node, V8, Libuv and C++
-
Урок 30.
00:04:22
Processes, Threads and the Thread Pool
-
Урок 31.
00:11:34
The Node.js Event Loop
-
Урок 32.
00:18:51
The Event Loop in Practice
-
Урок 33.
00:04:19
Events and Event-Driven Architecture
-
Урок 34.
00:13:55
Events in Practice
-
Урок 35.
00:06:18
Introduction to Streams
-
Урок 36.
00:16:07
Streams in Practice
-
Урок 37.
00:09:40
How Requiring Modules Really Works
-
Урок 38.
00:15:52
Requiring Modules in Practice
-
Урок 39.
00:00:58
Section Intro
-
Урок 40.
00:12:47
The Problem with Callbacks: Callback Hell
-
Урок 41.
00:06:44
From Callback Hell to Promises
-
Урок 42.
00:14:43
Building Promises
-
Урок 43.
00:07:49
Consuming Promises with Async/Await
-
Урок 44.
00:13:04
Returning Values from Async Functions
-
Урок 45.
00:06:12
Waiting for Multiple Promises Simultaneously
-
Урок 46.
00:00:57
Section Intro
-
Урок 47.
00:02:02
What is Express?
-
Урок 48.
00:03:27
Installing Postman
-
Урок 49.
00:14:49
Setting up Express and Basic Routing
-
Урок 50.
00:16:08
APIs and RESTful API Design
-
Урок 51.
00:12:20
Starting Our API: Handling GET Requests
-
Урок 52.
00:15:22
Handling POST Requests
-
Урок 53.
00:11:49
Responding to URL Parameters
-
Урок 54.
00:07:06
Handling PATCH Requests
-
Урок 55.
00:02:41
Handling DELETE Requests
-
Урок 56.
00:06:48
Refactoring Our Routes
-
Урок 57.
00:04:49
Middleware and the Request-Response Cycle
-
Урок 58.
00:09:06
Creating Our Own Middleware
-
Урок 59.
00:09:36
Using 3rd-Party Middleware
-
Урок 60.
00:06:58
Implementing the "Users" Routes
-
Урок 61.
00:08:05
Creating and Mounting Multiple Routers
-
Урок 62.
00:18:21
A Better File Structure
-
Урок 63.
00:10:55
Param Middleware
-
Урок 64.
00:07:35
Chaining Multiple Middleware Functions
-
Урок 65.
00:05:28
Serving Static Files
-
Урок 66.
00:16:40
Environment Variables
-
Урок 67.
00:13:34
Setting up ESLint + Prettier in VS Code
-
Урок 68.
00:00:49
Section Intro
-
Урок 69.
00:08:45
What is MongoDB?
-
Урок 70.
00:06:35
[OPTIONAL] Installing MongoDB on macOS
-
Урок 71.
00:10:03
[OPTIONAL] Installing MongoDB on Windows
-
Урок 72.
00:07:40
[OPTIONAL] Creating a Local Database
-
Урок 73.
00:04:18
[OPTIONAL] CRUD: Creating Documents
-
Урок 74.
00:12:27
[OPTIONAL] CRUD: Querying (Reading) Documents
-
Урок 75.
00:07:51
[OPTIONAL] CRUD: Updating Documents
-
Урок 76.
00:02:48
[OPTIONAL] CRUD: Deleting Documents
-
Урок 77.
00:07:12
Using Compass App for CRUD Operations
-
Урок 78.
00:04:28
Creating a Hosted Database with Atlas
-
Урок 79.
00:07:36
Connecting to Our Hosted Database
-
Урок 80.
00:00:57
Section Intro
-
Урок 81.
00:12:25
Connecting Our Database with the Express App
-
Урок 82.
00:01:54
What Is Mongoose?
-
Урок 83.
00:07:02
Creating a Simple Tour Model
-
Урок 84.
00:09:04
Creating Documents and Testing the Model
-
Урок 85.
00:06:55
Intro to Back-End Architecture: MVC, Types of Logic, and More
-
Урок 86.
00:06:32
Refactoring for MVC
-
Урок 87.
00:13:54
Another Way of Creating Documents
-
Урок 88.
00:08:36
Reading Documents
-
Урок 89.
00:10:52
Updating Documents
-
Урок 90.
00:04:10
Deleting Documents
-
Урок 91.
00:18:14
Modelling the Tours
-
Урок 92.
00:15:41
Importing Development Data
-
Урок 93.
00:18:46
Making the API Better: Filtering
-
Урок 94.
00:12:05
Making the API Better: Advanced Filtering
-
Урок 95.
00:11:01
Making the API Better: Sorting
-
Урок 96.
00:06:20
Making the API Better: Limiting Fields
-
Урок 97.
00:15:00
Making the API Better: Pagination
-
Урок 98.
00:08:57
Making the API Better: Aliasing
-
Урок 99.
00:15:39
Refactoring API Features
-
Урок 100.
00:20:38
Aggregation Pipeline: Matching and Grouping
-
Урок 101.
00:19:29
Aggregation Pipeline: Unwinding and Projecting
-
Урок 102.
00:06:24
Virtual Properties
-
Урок 103.
00:14:30
Document Middleware
-
Урок 104.
00:13:55
Query Middleware
-
Урок 105.
00:07:43
Aggregation Middleware
-
Урок 106.
00:10:07
Data Validation: Built-In Validators
-
Урок 107.
00:14:03
Data Validation: Custom Validators
-
Урок 108.
00:00:42
Section Intro
-
Урок 109.
00:20:30
Debugging Node.js with ndb
-
Урок 110.
00:07:51
Handling Unhandled Routes
-
Урок 111.
00:03:37
An Overview of Error Handling
-
Урок 112.
00:09:00
Implementing a Global Error Handling Middleware
-
Урок 113.
00:11:14
Better Errors and Refactoring
-
Урок 114.
00:14:55
Catching Errors in Async Functions
-
Урок 115.
00:09:07
Adding 404 Not Found Errors
-
Урок 116.
00:10:31
Errors During Development vs Production
-
Урок 117.
00:09:43
Handling Invalid Database IDs
-
Урок 118.
00:06:05
Handling Duplicate Database Fields
-
Урок 119.
00:08:25
Handling Mongoose Validation Errors
-
Урок 120.
00:08:50
Errors Outside Express: Unhandled Rejections
-
Урок 121.
00:09:17
Catching Uncaught Exceptions
-
Урок 122.
00:00:59
Section Intro
-
Урок 123.
00:10:01
Modelling Users
-
Урок 124.
00:11:20
Creating New Users
-
Урок 125.
00:18:25
Managing Passwords
-
Урок 126.
00:08:47
How Authentication with JWT Works
-
Урок 127.
00:16:02
Signing up Users
-
Урок 128.
00:26:36
Logging in Users
-
Урок 129.
00:14:58
Protecting Tour Routes - Part 1
-
Урок 130.
00:35:15
Protecting Tour Routes - Part 2
-
Урок 131.
00:11:36
Advanced Postman Setup
-
Урок 132.
00:15:55
Authorization: User Roles and Permissions
-
Урок 133.
00:17:04
Password Reset Functionality: Reset Token
-
Урок 134.
00:23:05
Sending Emails with Nodemailer
-
Урок 135.
00:21:34
Password Reset Functionality: Setting New Password
-
Урок 136.
00:16:37
Updating the Current User: Password
-
Урок 137.
00:20:12
Updating the Current User: Data
-
Урок 138.
00:10:29
Deleting the Current User
-
Урок 139.
00:10:14
Security Best Practices
-
Урок 140.
00:09:47
Sending JWT via Cookie
-
Урок 141.
00:07:05
Implementing Rate Limiting
-
Урок 142.
00:05:20
Setting Security HTTP Headers
-
Урок 143.
00:09:16
Data Sanitization
-
Урок 144.
00:08:21
Preventing Parameter Pollution
-
Урок 145.
00:01:03
Section Intro
-
Урок 146.
00:24:40
MongoDB Data Modelling
-
Урок 147.
00:10:58
Designing Our Data Model
-
Урок 148.
00:12:26
Modelling Locations (Geospatial Data)
-
Урок 149.
00:07:49
Modelling Tour Guides: Embedding
-
Урок 150.
00:04:57
Modelling Tour Guides: Child Referencing
-
Урок 151.
00:10:43
Populating Tour Guides
-
Урок 152.
00:08:32
Modelling Reviews: Parent Referencing
-
Урок 153.
00:17:04
Creating and Getting Reviews
-
Урок 154.
00:06:07
Populating Reviews
-
Урок 155.
00:12:03
Virtual Populate: Tours and Reviews
-
Урок 156.
00:13:30
Implementing Simple Nested Routes
-
Урок 157.
00:08:01
Nested Routes with Express
-
Урок 158.
00:05:07
Adding a Nested GET Endpoint
-
Урок 159.
00:14:22
Building Handler Factory Functions: Delete
-
Урок 160.
00:13:23
Factory Functions: Update and Create
-
Урок 161.
00:14:43
Factory Functions: Reading
-
Урок 162.
00:04:43
Adding a /me Endpoint
-
Урок 163.
00:14:45
Adding Missing Authentication and Authorization
-
Урок 164.
00:07:27
Importing Review and User Data
-
Урок 165.
00:16:12
Improving Read Performance with Indexes
-
Урок 166.
00:22:26
Calculating Average Rating on Tours - Part 1
-
Урок 167.
00:15:58
Calculating Average Rating on Tours - Part 2
-
Урок 168.
00:09:30
Preventing Duplicate Reviews
-
Урок 169.
00:29:54
Geospatial Queries: Finding Tours Within Radius
-
Урок 170.
00:16:29
Geospatial Aggregation: Calculating Distances
-
Урок 171.
00:10:38
Creating API Documentation Using Postman
-
Урок 172.
00:00:57
Section Intro
-
Урок 173.
00:05:17
Recap: Server-Side vs Client-Side Rendering
-
Урок 174.
00:10:09
Setting up Pug in Express
-
Урок 175.
00:14:38
First Steps with Pug
-
Урок 176.
00:15:25
Creating Our Base Template
-
Урок 177.
00:04:46
Including Files into Pug Templates
-
Урок 178.
00:10:07
Extending Our Base Template with Blocks
-
Урок 179.
00:05:58
Setting up the Project Structure
-
Урок 180.
00:11:38
Building the Tour Overview - Part 1
-
Урок 181.
00:15:54
Building the Tour Overview - Part 2
-
Урок 182.
00:20:29
Building the Tour Page - Part 1
-
Урок 183.
00:25:51
Building the Tour Page - Part 2
-
Урок 184.
00:11:34
Including a Map with Mapbox - Part 1
-
Урок 185.
00:27:52
Including a Map with Mapbox - Part 2
-
Урок 186.
00:06:31
Building the Login Screen
-
Урок 187.
00:20:54
Logging in Users with Our API - Part 1
-
Урок 188.
00:18:40
Logging in Users with Our API - Part 2
-
Урок 189.
00:28:16
Logging in Users with Our API - Part 3
-
Урок 190.
00:13:57
Logging out Users
-
Урок 191.
00:21:46
Rendering Error Pages
-
Урок 192.
00:16:06
Building the User Account Page
-
Урок 193.
00:17:08
Updating User Data
-
Урок 194.
00:12:35
Updating User Data with Our API
-
Урок 195.
00:14:43
Updating User Password with Our API
-
Урок 196.
00:00:33
Section Intro
-
Урок 197.
00:10:13
Image Uploads Using Multer: Users
-
Урок 198.
00:13:47
Configuring Multer
-
Урок 199.
00:05:33
Saving Image Name to Database
-
Урок 200.
00:13:20
Resizing Images
-
Урок 201.
00:11:34
Adding Image Uploads to Form
-
Урок 202.
00:12:03
Uploading Multiple Images: Tours
-
Урок 203.
00:18:12
Processing Multiple Images
-
Урок 204.
00:19:59
Building a Complex Email Handler
-
Урок 205.
00:15:09
Email Templates with Pug: Welcome Emails
-
Урок 206.
00:07:08
Sending Password Reset Emails
-
Урок 207.
00:09:33
Using Sendgrid for "Real" Emails
-
Урок 208.
00:10:09
Credit Card Payments with Stripe
-
Урок 209.
00:22:35
Integrating Stripe into the Back-End
-
Урок 210.
00:23:05
Processing Payments on the Front-End
-
Урок 211.
00:06:24
Modelling the Bookings
-
Урок 212.
00:19:09
Creating New Bookings on Checkout Success
-
Урок 213.
00:11:17
Rendering a User's Booked Tours
-
Урок 214.
00:07:13
Finishing the Bookings API
-
Урок 215.
00:07:29
Final Considerations
-
Урок 216.
00:00:41
Section Intro
-
Урок 217.
00:04:39
Setting Up Git and GitHub
-
Урок 218.
00:10:34
Git Fundamentals
-
Урок 219.
00:10:29
Pushing to GitHub
-
Урок 220.
00:10:56
Preparing Our App for Deployment
-
Урок 221.
00:26:31
Deploying Our App to Heroku
-
Урок 222.
00:05:53
Testing for Secure HTTPS Connections
-
Урок 223.
00:07:22
Responding to a SIGTERM Signal
-
Урок 224.
00:15:54
Implementing CORS
-
Урок 225.
00:38:09
Finishing Payments with Stripe Webhooks
-
Урок 226.
00:03:40
Where to Go from Here
kllk