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