Урок 1.
00:29:44
1.1. Course Overview
Урок 2.
00:49:41
1.2. Setting Up - For Windows Users Only
Урок 3.
00:59:57
1.3. Setting Up - For Mac Users Only
Урок 4.
00:53:06
1.4. Setting Up - For Linux Users Only
Урок 5.
00:40:47
1.5. Introduction to the Command Line
Урок 6.
00:15:24
1.6. Learning NVM & Node.js Versions
Урок 7.
01:36:02
1.7. Node.js Under the Hood
Урок 8.
00:34:06
2.1. Understanding EventEmitter
Урок 9.
00:06:48
3.1. Introdcution
Урок 10.
00:13:32
3.2. Understanding Binary Numbers
Урок 11.
00:21:10
3.3. Understanding Hexadecimal Numbers
Урок 12.
00:11:49
3.4. Using a Programming Calculator
Урок 13.
00:25:21
3.5. Understanding Character Encodings
Урок 14.
00:07:35
3.6. The Concept of Buffers
Урок 15.
00:38:47
3.7. Buffers in Action
Урок 16.
00:18:15
3.8. Allocating Huge Buffers
Урок 17.
00:20:59
3.9. Fastest Way of Allocating Buffers
Урок 18.
00:14:02
3.10. Reading the Node.js Docs
Урок 19.
00:02:09
3.11. Outro
Урок 20.
00:11:19
4.1. Introduction
Урок 21.
00:07:32
4.2. What Exactly Is a File
Урок 22.
00:04:06
4.3. How Node.js Deals with Files
Урок 23.
00:14:43
4.4. Three Different Ways of Doing the Same Thing
Урок 24.
00:13:33
4.6. Watching the Command File for Changes
Урок 25.
00:18:41
4.7. Reading the Content of the Command File
Урок 26.
00:04:23
4.8. Cleaning Up the Code using EventEmitter
Урок 27.
00:03:54
4.9. Making Sense Out of the Read Data
Урок 28.
00:15:37
4.10. Implementing the Create File Command
Урок 29.
00:15:21
4.11. Defining the Rest of the Commands
Урок 30.
00:11:07
4.12. Solution - Implementing the deleteFile Function
Урок 31.
00:03:39
4.13. Solution - Implementing the renameFile Function
Урок 32.
00:11:07
4.14. Solution - Implementing the addToFile Function
Урок 33.
00:01:07
4.15. Outro
Урок 34.
00:04:52
5.1. Introduction
Урок 35.
00:26:26
5.2. Benchmarking Writing a Million Times to a File
Урок 36.
00:07:58
5.3. Using Streams Naively in Our Solution
Урок 37.
00:08:59
5.4. So What Exactly Are Streams
Урок 38.
00:17:53
5.5. Understanding Different Types of Streams
Урок 39.
00:36:55
5.6. Fixing the Memory Issue in Our Program
Урок 40.
00:09:49
5.7. Reading Writable Streams Node.js Docs and Recap
Урок 41.
00:21:36
5.8. Readable Streams in Action
Урок 42.
00:09:18
5.9. Selectively Writing Our Data from the Readable Stream
Урок 43.
00:16:57
5.10. Understanding the Splitting Issue
Урок 44.
00:16:28
5.11. Implementing the Solution and Resolving the Splitting Issue
Урок 45.
00:08:04
5.12. Reading Node.js Docs and Recap
Урок 46.
00:23:31
5.13. Building Our Own Streaming Solution Using Buffers
Урок 47.
00:25:43
5.14. Understanding Piping
Урок 48.
00:42:29
5.15. Implementing Our Own Writable Stream
Урок 49.
00:20:02
5.16. Implementing Our Own Readable Stream
Урок 50.
00:17:27
5.17. Understanding Duplex and Transform Streams
Урок 51.
00:39:03
5.18. Creating an EncryptionDecryption Application
Урок 52.
00:26:05
5.19. Final Notes
Урок 53.
00:12:00
6.1. Introduction
Урок 54.
00:15:03
6.2. Understanding MAC Addresses and Switches
Урок 55.
00:15:16
6.3. Understanding Routers and How the Internet Works
Урок 56.
00:16:29
6.4. Understanding Networking Layers
Урок 57.
00:24:44
6.6. Creating a Simple TCP Application in Node.js
Урок 58.
00:13:03
6.7. Understanding the Transport Layer - TCPUDP
Урок 59.
00:25:19
6.8. A Networking Scenario in Action
Урок 60.
00:12:03
6.9. Understanding Port Numbers
Урок 61.
00:29:47
6.11. Creating a Chat Application PART 1
Урок 62.
00:34:19
6.12. Creating a Chat Application PART 2
Урок 63.
00:21:35
6.13. Improving the UI of our Chat App
Урок 64.
00:18:47
6.14. Identifying Users in the Chat App
Урок 65.
00:04:10
6.15. Notifying Everyone When Somebody JoinsLeaves the Chat
Урок 66.
00:15:27
6.17. Some Final Notes About the Chat App
Урок 67.
00:34:31
6.18. Deploying our Chat App to AWS
Урок 68.
00:40:10
6.20. Understanding IPv4 Addresses
Урок 69.
00:31:37
6.21. Understanding DNS
Урок 70.
00:26:45
6.22. Understanding IPv6 Addresses
Урок 71.
00:26:03
6.24. Creating an Uploader Application
Урок 72.
00:33:16
6.25. Taking Care of Backpressures in the Uploader App
Урок 73.
00:20:44
6.26. Getting the File Names Dynamically in the Uploader App
Урок 74.
00:16:03
6.27. Displaying the Upload Progress in Our Uploader App
Урок 75.
00:20:06
6.28. Deploying our Uploader App
Урок 76.
00:32:38
6.30. Understanding UDP and the Dgram Module
Урок 77.
00:01:31
6.31. Outro
Урок 78.
00:10:39
7.1. Introduction
Урок 79.
00:07:01
7.2. The Idea of HTTP
Урок 80.
00:15:10
7.3. Creating a Simple HTTP Server in Node
Урок 81.
00:12:52
7.4. Understanding HTTP Messages, Requests & Responses
Урок 82.
00:16:13
7.5. Understanding Connection Types
Урок 83.
00:21:11
7.6. Building our Client and Sending a Request
Урок 84.
00:12:44
7.7. Sending a Response to the Client
Урок 85.
00:25:36
7.8. Learning Postman & Testing Our Server with It
Урок 86.
00:28:34
7.9. Reading Some Docs
Урок 87.
00:20:06
7.10. Sending an HTTP Request Directly on Top of TCP! PART 1
Урок 88.
00:22:06
7.11. Sending an HTTP Request Directly on Top of TCP! PART 2
Урок 89.
00:11:20
7.12. Emulating our HTTP Server Using the Net Module
Урок 90.
00:16:52
7.13. Understanding Media Types (MIME Types)
Урок 91.
00:21:37
7.14. Understanding HTTP Methods
Урок 92.
00:15:05
7.15. Understanding HTTP status codes
Урок 93.
00:18:23
7.16. Creating a Simple Web Server in Node
Урок 94.
00:22:06
7.17. Serving a CSS and JavaScript File
Урок 95.
00:07:55
7.18. Adding Some JSON Routes
Урок 96.
00:13:02
7.19. Adding a File Upload Route
Урок 97.
00:23:19
7.20. Creating our Own Little Mini-Express Framework!
Урок 98.
00:15:05
7.21. Making our Framework More Robust
Урок 99.
00:11:26
7.22. Getting Ready for Our Next Project
Урок 100.
00:16:16
7.23. Using Our Framework to Create a Web App
Урок 101.
00:21:16
7.24. Adding the Login Route
Урок 102.
00:18:19
7.25. Understanding HTTP Proxies
Урок 103.
00:12:58
7.26. HTTP is Stateless
Урок 104.
00:13:08
7.27. Understanding Cookies
Урок 105.
00:18:16
7.28. Recognizing Users for Future Requests after Logging In
Урок 106.
00:09:15
7.29. Sending the User’s Info in Profile
Урок 107.
00:23:05
7.30. Enhancing Our Framework with Middleware Support
Урок 108.
00:18:08
7.31. Defining the Middleware Functions
Урок 109.
00:25:03
7.32. Implementing the Create Post, Update User, and Logout Routes
Урок 110.
00:02:54
7.33. Outro
Урок 111.
00:13:10
8.1. Introduction
Урок 112.
00:10:50
8.2. What Is Unix
Урок 113.
00:04:41
8.3. Why Should We Care About Unix
Урок 114.
00:20:18
8.4. Setting Up Unix on Windows (WSL) - For Windows Users Only
Урок 115.
00:16:07
8.5. A First Look at the Child Process Module
Урок 116.
00:40:07
8.6. Understanding Unix Shells
Урок 117.
00:27:03
8.7. Demystifying Bash Execution Order Aliases, Functions, Built-ins, and Path
Урок 118.
00:14:20
8.8. A Few Notes about Unix File Permissions
Урок 119.
00:05:12
8.9. Sourcing in Bash
Урок 120.
00:38:09
8.10. Understanding Shell Config Files
Урок 121.
00:24:09
8.11. What Exactly is a Child Process
Урок 122.
00:14:10
8.12. Understanding Environment Variables
Урок 123.
00:49:07
8.13. Understanding Unix File System, Paths & CWD
Урок 124.
00:33:03
8.14. Understanding Stdout, Stdin, and Stderr
Урок 125.
00:12:09
8.15. Understanding Pipes and Output Redirection in Bash
Урок 126.
00:17:08
8.16. Building a Command Line Utility with Node.js
Урок 127.
00:18:30
8.17. Building Massive Communication App - Node Part
Урок 128.
00:11:06
8.18. Intro to the C Part
Урок 129.
00:12:33
8.19. Learning C - Our First App
Урок 130.
00:42:34
8.20. Learning C - Static Types & Our Memory
Урок 131.
00:31:15
8.21. Learning C - Memory Allocation
Урок 132.
00:04:37
8.22. Learning C - Reading the Arguments
Урок 133.
00:50:40
8.23. Building Massive Communication App - C Part
Урок 134.
00:09:49
8.24. Only Watch if You Skipped the C Part
Урок 135.
00:21:30
8.25. Another Way of IPC - Unix Domain Sockets
Урок 136.
00:32:59
8.26. Understanding Clustering
Урок 137.
00:45:33
8.27. Clustering in Action
Урок 138.
00:12:12
8.28. Installing & Building FFmpeg from Source Code
Урок 139.
00:38:00
8.29. Video Editor App - Setup & Walkthrough
Урок 140.
00:35:48
8.30. Adding the Upload Route
Урок 141.
00:20:03
8.31. Quick Intro to FFmpeg and Video Files
Урок 142.
00:00:19
8.31. River
Урок 143.
00:25:16
8.32. Making a Thumbnail and Getting the Dimensions After an Upload
Урок 144.
00:04:16
8.33. Returning the List of Uploaded Videos
Урок 145.
00:23:58
8.34. Adding a Route for Returning the Video Assets
Урок 146.
00:15:50
8.35. Adding a Route to Extract the Audio of a Video File
Урок 147.
00:19:21
8.36. Adding the Resize Route
Урок 148.
00:25:28
8.37. Scheduling the Resizes
Урок 149.
00:16:32
8.38. More on Queue-based Processing
Урок 150.
00:19:28
8.39. Resuming Scheduled Resize Operations Upon App Restart
Урок 151.
00:31:17
8.40. Running Our Application in Cluster Mode
Урок 152.
00:07:41
8.41. Refactor from Cpeak to Express in Less than 20 Minutes!
Урок 153.
00:22:43
8.42. Outro
Урок 154.
00:24:04
9.1. Introduction
Урок 155.
00:29:40
9.2. How Does a Lossless Compression Work
Урок 156.
00:21:01
9.3. Lossy Compression
Урок 157.
00:30:50
9.4. Gzip, Brotli and Deflate
Урок 158.
00:18:12
9.5. Compression in HTTP
Урок 159.
00:06:00
9.6. Compression vs. Minification
Урок 160.
00:24:13
9.7. Deploying Compression onto Our Apps
Урок 161.
00:11:38
9.8. Final Notes
Урок 162.
00:12:23
10.1. Introduction
Урок 163.
00:11:16
10.2. Guide for Skilled Multi-Threaded Developers
Урок 164.
00:39:59
10.3. What Exactly Is a Thread
Урок 165.
00:07:50
10.4. How to Monitor Threads on Your Operating System
Урок 166.
00:09:00
10.5. Understanding CPU Usage
Урок 167.
00:23:25
10.6. Spawning Threads
Урок 168.
00:33:28
10.7. Thread Communication through Message-Passing
Урок 169.
00:11:58
10.8. Introduction to Our CPU-Intensive Program
Урок 170.
00:23:03
10.9. Enhancing Performance with Multi-Threading
Урок 171.
00:30:41
10.10. Handling CPU-Intensive Operations in an HTTP Server
Урок 172.
00:06:19
10.11. isMainThread
Урок 173.
00:10:41
10.12. CPU-Intensive vs. IO-Intensive
Урок 174.
00:18:47
10.13. Examining a Crypto-Heavy Multi-Threaded App
Урок 175.
00:17:46
10.14. Node.js Thread Pool
Урок 176.
00:30:52
10.15. Developing a Thread Pool From Scratch
Урок 177.
00:11:46
10.16. Event Loop Utilization and Main Thread
Урок 178.
00:21:47
10.17. Keep the Main Thread Light with Batch Processing
Урок 179.
00:06:01
10.18. Effortlessly Expanding Our Thread Pool Capabilities
Урок 180.
00:07:39
10.19. Don’t Block the Worker Pool!
Урок 181.
00:35:11
10.20. Handling Billions of HTTP Requests
Урок 182.
00:19:29
10.21. Communication Through Shared Memory
Урок 183.
00:16:50
10.22. ArrayBuffers, SharedArrayBuffers, and TypedArrays
Урок 184.
00:17:26
10.23. Race Conditions
Урок 185.
00:18:11
10.24. Understanding Atomic Operations
Урок 186.
00:22:48
10.25. Understanding Mutual Exclusion
Урок 187.
00:21:03
10.26. Deadlocks
Урок 188.
00:21:03
10.27. Enhancing Performance Through Shared Memory
Урок 189.
00:43:33
10.28. Native Multi-Threading with CC++ Addons
Урок 190.
00:37:12
10.29. A Deeper Look at the Event Loop PART 1
Урок 191.
00:34:19
10.30. A Deeper Look at the Event Loop PART 2
Урок 192.
00:03:00
10.31. Outro
Урок 193.
00:39:47
11.1. Introduction
Урок 194.
00:12:08
11.2. Introduction to Symmetric Encryption
Урок 195.
00:26:47
11.3. The Unbreakable Encryption - OTP From Scratch
Урок 196.
00:32:02
11.4. How AES Encryption Works
Урок 197.
00:42:47
11.5. Understanding AES Modes
Урок 198.
00:17:14
11.6. What It Takes to Break AES
Урок 199.
00:07:05
11.7. What About Brute-Forcing OTP
Урок 200.
00:07:49
11.8. History of AES
Урок 201.
00:44:10
11.9. Understanding Hashing
Урок 202.
00:10:53
11.10. SHA-256 From Scratch
Урок 203.
00:22:23
11.11. What It Takes to Break SHA-256
Урок 204.
00:30:30
11.12. Message Authentication Codes
Урок 205.
00:23:56
11.13. Understanding Key Derivation Functions
Урок 206.
00:40:06
11.14. Building a File Encryption Application
Урок 207.
00:17:30
11.15. Introduction to Asymmetric Cryptography
Урок 208.
00:08:30
11.16. A Note about OpenSSL & Setup
Урок 209.
00:28:53
11.18. RSA in Action
Урок 210.
00:33:20
11.19. Understanding RSA
Урок 211.
00:33:39
11.20. Implementing RSA From Scratch
Урок 212.
00:18:21
11.21. Understanding Digital Signatures
Урок 213.
00:25:28
11.22. Digital Certificates
Урок 214.
00:27:31
11.23. Manually Verifying an HTTPS Certificate
Урок 215.
00:32:53
11.24. Setting Up HTTPS from Scratch
Урок 216.
00:39:55
11.25. Understanding TLS
Урок 217.
00:31:38
11.26. Diffie-Hellman and Elliptic Curve Key Exchange
Урок 218.
00:18:04
11.27. Elliptic Curve Digital Signatures
Урок 219.
00:12:12
11.28. RSA, DH and EC Security
Урок 220.
00:11:00
11.30. Outro
Урок 221.
00:28:43
12.2. How to Securely Store User Passwords