1. Урок 1. 00:01:08
    How to Get Help
  2. Урок 2. 00:03:48
    Starting With Node Internals
  3. Урок 3. 00:08:24
    Module Implementations
  4. Урок 4. 00:06:34
    Node Backed by C++!
  5. Урок 5. 00:06:30
    The Basics of Threads
  6. Урок 6. 00:06:35
    The Node Event Loop
  7. Урок 7. 00:07:23
    The Event Loop Implementation
  8. Урок 8. 00:06:48
    Event Loop Ticks
  9. Урок 9. 00:05:07
    Is Node Single Threaded?
  10. Урок 10. 00:06:50
    Testing for Single Threads
  11. Урок 11. 00:03:08
    The Libuv Thread Pool
  12. Урок 12. 00:06:07
    Threadpools with Multithreading
  13. Урок 13. 00:05:26
    Changing Threadpool Size
  14. Урок 14. 00:03:17
    Common Threadpool Questions
  15. Урок 15. 00:03:53
    Explaining OS Operations
  16. Урок 16. 00:03:20
    Libuv OS Delegation
  17. Урок 17. 00:02:41
    OS/Async Common Questions
  18. Урок 18. 00:02:49
    Review
  19. Урок 19. 00:07:40
    Crazy Node Behavior
  20. Урок 20. 00:11:24
    Unexpected Event Loop Events
  21. Урок 21. 00:02:19
    Enhancing Performance
  22. Урок 22. 00:03:23
    Express Setup
  23. Урок 23. 00:07:08
    Blocking the Event Loop
  24. Урок 24. 00:05:12
    Clustering in Theory
  25. Урок 25. 00:05:38
    Forking Children
  26. Урок 26. 00:05:34
    Clustering in Action
  27. Урок 27. 00:05:17
    Benchmarking Server Performance
  28. Урок 28. 00:03:56
    Benchmark Refactor
  29. Урок 29. 00:16:43
    Need More Children!
  30. Урок 30. 00:02:54
    PM2 Installation
  31. Урок 31. 00:06:50
    PM2 Configuration
  32. Урок 32. 00:02:28
    Webworker Threads
  33. Урок 33. 00:11:35
    Worker Threads in Action
  34. Урок 34. 00:05:18
    Benchmarking Workers
  35. Урок 35. 00:02:13
    The Next Phase
  36. Урок 36. 00:08:43
    Project Walkthrough
  37. Урок 37. 00:03:12
    Key Customization
  38. Урок 38. 00:06:24
    MongoDB Creation
  39. Урок 39. 00:04:19
    Routes Walkthrough
  40. Урок 40. 00:10:43
    MongoDB Query Performance
  41. Урок 41. 00:07:56
    Query Caching Layer
  42. Урок 42. 00:03:23
    Redis Introduction
  43. Урок 43. 00:03:20
    Installing Redis on MacOS
  44. Урок 44. 00:06:48
    Getting and Setting Basic Values
  45. Урок 45. 00:06:58
    Redis Hashes
  46. Урок 46. 00:02:54
    One Redis Gotcha
  47. Урок 47. 00:07:48
    Cache Keys
  48. Урок 48. 00:08:08
    Promisifying a Function
  49. Урок 49. 00:08:00
    Caching in Action
  50. Урок 50. 00:05:27
    Caching Issues
  51. Урок 51. 00:21:00
    The Ultimate Caching Solution
  52. Урок 52. 00:10:43
    Patching Mongoose's Exec
  53. Урок 53. 00:02:06
    Restoring Blog Routes Handler
  54. Урок 54. 00:06:01
    Unique Keys
  55. Урок 55. 00:03:10
    Key Creation
  56. Урок 56. 00:01:29
    Restoring Redis Config
  57. Урок 57. 00:04:28
    Cache Implementation
  58. Урок 58. 00:05:47
    Resolving Values
  59. Урок 59. 00:06:27
    Hydrating Models
  60. Урок 60. 00:03:28
    Hydrating Arrays
  61. Урок 61. 00:08:42
    Toggleable Cache
  62. Урок 62. 00:02:31
    Cache Expiration
  63. Урок 63. 00:05:16
    Forced Cache Expiration
  64. Урок 64. 00:06:47
    Nested Hashes
  65. Урок 65. 00:04:37
    Clearing Nested hashes
  66. Урок 66. 00:06:40
    Automated Cache Clearing with Middlware
  67. Урок 67. 00:06:39
    Testing Flow
  68. Урок 68. 00:03:26
    Testing Challenges
  69. Урок 69. 00:03:14
    Commands Around Testing
  70. Урок 70. 00:04:27
    First Jest Test
  71. Урок 71. 00:09:51
    Launching Chromium Instances
  72. Урок 72. 00:04:32
    Chromium Navigation
  73. Урок 73. 00:05:04
    Extracting Page Content
  74. Урок 74. 00:04:45
    Puppeteer - Behind the Scenes
  75. Урок 75. 00:03:24
    DRY Tests
  76. Урок 76. 00:01:35
    Browser Termination
  77. Урок 77. 00:07:31
    Asserting OAuth Flow
  78. Урок 78. 00:03:00
    Asserting URL Domain
  79. Урок 79. 00:05:12
    Issues with OAuth
  80. Урок 80. 00:04:37
    Solving Authentication Issues with Automation Testing
  81. Урок 81. 00:07:17
    The Google OAuth Flow
  82. Урок 82. 00:12:07
    Inner Workings of Sessions
  83. Урок 83. 00:08:23
    Sessions From Another Angle
  84. Урок 84. 00:11:34
    Session Signatures
  85. Урок 85. 00:09:04
    Generating Sessions and Signatures
  86. Урок 86. 00:08:08
    Assembling the Pieces
  87. Урок 87. 00:09:18
    WaitFor Statements
  88. Урок 88. 00:05:00
    Factory Functions
  89. Урок 89. 00:08:49
    The Session Factory
  90. Урок 90. 00:03:04
    Assembling the Session Factory
  91. Урок 91. 00:06:23
    Code Separation
  92. Урок 92. 00:07:01
    Global Jest Setup
  93. Урок 93. 00:03:42
    Testing Factory Tests!
  94. Урок 94. 00:05:02
    Adding a Login Method
  95. Урок 95. 00:07:59
    Extending Page
  96. Урок 96. 00:07:47
    Introduction to Proxies
  97. Урок 97. 00:12:11
    Proxies in Action
  98. Урок 98. 00:08:18
    Combining Object Property Access
  99. Урок 99. 00:08:38
    Combining the Page and Browser
  100. Урок 100. 00:04:17
    Custom Page Implementation
  101. Урок 101. 00:04:27
    Function Lookup Priority
  102. Урок 102. 00:05:33
    Gee, I Hope This Works!
  103. Урок 103. 00:05:39
    Reusable Functions on Page
  104. Урок 104. 00:04:54
    Testing Blog Creation
  105. Урок 105. 00:05:32
    Default Navigation
  106. Урок 106. 00:06:00
    Asserting Form Display
  107. Урок 107. 00:05:24
    Test Timeout
  108. Урок 108. 00:05:08
    Common Test Setup
  109. Урок 109. 00:07:01
    Nested Describes for Structure
  110. Урок 110. 00:07:40
    Asserting Validation Errors
  111. Урок 111. 00:06:26
    Asserting Form Confirmation
  112. Урок 112. 00:05:58
    Asserting Blog Creation
  113. Урок 113. 00:03:33
    Options for Testing Prohibited Actions
  114. Урок 114. 00:11:45
    Direct API Requests
  115. Урок 115. 00:03:55
    Executed Arbitrary JS in Chromium
  116. Урок 116. 00:07:25
    Asserting Page Response
  117. Урок 117. 00:02:45
    Get Restrictions
  118. Урок 118. 00:02:57
    A Final 'GET' Test
  119. Урок 119. 00:31:46
    Super Advanced Test Helpers
  120. Урок 120. 00:07:25
    Introduction to CI
  121. Урок 121. 00:06:22
    CI Providers
  122. Урок 122. 00:04:23
    The Basics of YAML Files
  123. Урок 123. 00:10:05
    Travis YAML Setup
  124. Урок 124. 00:05:09
    More Travis YAML
  125. Урок 125. 00:06:38
    Client Builds
  126. Урок 126. 00:06:19
    Script Config
  127. Урок 127. 00:05:45
    Using Travis Documentation
  128. Урок 128. 00:13:27
    More Server Configuration
  129. Урок 129. 00:03:12
    A Touch More Configuration
  130. Урок 130. 00:04:19
    Git Repo Setup
  131. Урок 131. 00:02:16
    Travis CI Setup
  132. Урок 132. 00:02:49
    Triggering CI Builds
  133. Урок 133. 00:01:20
    Build Success
  134. Урок 134. 00:02:16
    Image Upload
  135. Урок 135. 00:04:41
    Big Issues Around Image Upload
  136. Урок 136. 00:03:34
    Alternate Image Upload
  137. Урок 137. 00:04:18
    Chosen Storage Solution
  138. Урок 138. 00:04:27
    Upload Constraints
  139. Урок 139. 00:06:05
    Image File Transport
  140. Урок 140. 00:05:23
    Upload Flow with AWS S3
  141. Урок 141. 00:06:48
    Details of the Presigned URL
  142. Урок 142. 00:04:16
    Security Issues Solved with Presigned URL's
  143. Урок 143. 00:03:32
    Adding an Image Picker
  144. Урок 144. 00:04:40
    Handling File Changes
  145. Урок 145. 00:04:39
    Recording Image Files
  146. Урок 146. 00:03:08
    The SubmitBlog Function
  147. Урок 147. 00:05:09
    AWS Credentials with IAM
  148. Урок 148. 00:03:17
    Creating S3 Buckets
  149. Урок 149. 00:08:18
    Allowing Actions with IAM Policies
  150. Урок 150. 00:04:42
    Creating IAM Users
  151. Урок 151. 00:05:15
    Upload Routes Files
  152. Урок 152. 00:03:19
    Configuring the AWS SDK
  153. Урок 153. 00:10:07
    GetSignedURL Arguments
  154. Урок 154. 00:09:36
    Calling GetSignedURL
  155. Урок 155. 00:02:18
    Viewing the Signed URL
  156. Урок 156. 00:08:00
    Attempting Image Upload
  157. Урок 157. 00:05:21
    Handling CORS Errors
  158. Урок 158. 00:01:40
    Outstanding Issues
  159. Урок 159. 00:05:02
    S3 Bucket Policies
  160. Урок 160. 00:04:19
    Tying Uploads to Blogs
  161. Урок 161. 00:02:02
    Ensuring Images get Tied
  162. Урок 162. 00:04:07
    Displaying Images