1. Урок 1. 00:03:48
    1.1. Welcome To The Course!
  2. Урок 2. 00:04:13
    1.3. Curriculum Walkthrough
  3. Урок 3. 00:02:18
    1.4. When Was The Course Last Updated
  4. Урок 4. 00:05:46
    1.6. Will I Get A Job
  5. Урок 5. 00:02:24
    1.7. Accessing Course Code & Slides
  6. Урок 6. 00:03:26
    1.8. Tips On The Interactive Coding Exercises
  7. Урок 7. 00:08:08
    1.10. Migrating From The Old Version Of This Course
  8. Урок 8. 00:03:29
    2.1. What Matters In This Section
  9. Урок 9. 00:05:43
    2.2. The Internet in 5 Minutes
  10. Урок 10. 00:06:02
    2.3. Intro to the Web
  11. Урок 11. 00:04:22
    2.4. The RequestResponse Cycle
  12. Урок 12. 00:04:00
    2.5. Front-End and Back-End
  13. Урок 13. 00:05:37
    2.6. What do HTMLCSSJS do
  14. Урок 14. 00:06:00
    2.7. Setting Up Our Developer Environment
  15. Урок 15. 00:02:13
    3.1. What Matters In This Section
  16. Урок 16. 00:06:56
    3.2. Introduction to HTML
  17. Урок 17. 00:05:34
    3.3. Our Very First HTML Page
  18. Урок 18. 00:02:42
    3.4. TIP Mozilla Developer Network
  19. Урок 19. 00:03:15
    3.5. Paragraph Elements
  20. Урок 20. 00:06:35
    3.6. Heading Elements
  21. Урок 21. 00:03:08
    3.8. Introduction to the Chrome Inspector
  22. Урок 22. 00:07:26
    3.9. HTML Boilerplate
  23. Урок 23. 00:02:38
    3.10. VSCode Tip Auto-format
  24. Урок 24. 00:06:40
    3.11. List Elements
  25. Урок 25. 00:07:08
    3.13. Anchor Tags
  26. Урок 26. 00:06:27
    3.14. Images
  27. Урок 27. 00:02:32
    3.15. Comments
  28. Урок 28. 00:02:28
    4.1. What Matters In This Section
  29. Урок 29. 00:06:28
    4.2. What Exactly Is HTML5
  30. Урок 30. 00:08:43
    4.3. Block vs. Inline Elements - Divs and Spans
  31. Урок 31. 00:06:19
    4.4. An Odd Assortment of Elements HR, BR, Sup, & Sub
  32. Урок 32. 00:06:02
    4.5. Entity Codes
  33. Урок 33. 00:09:02
    4.7. Intro to Semantic Markup
  34. Урок 34. 00:12:19
    4.8. Playing With Semantic Elements
  35. Урок 35. 00:03:34
    4.9. Screen Reader Demonstration
  36. Урок 36. 00:06:13
    4.10. VSCode Tip Emmet
  37. Урок 37. 00:02:54
    5.1. What Matters In This Section
  38. Урок 38. 00:01:10
    5.2. Unit Goals
  39. Урок 39. 00:04:09
    5.3. Introducing HTML Tables
  40. Урок 40. 00:09:12
    5.4. Tables TR, TD, and TH Elements
  41. Урок 41. 00:02:17
    5.5. Tables Thead, Tbody, and Tfoot Elements
  42. Урок 42. 00:04:15
    5.6. Tables Colspan & Rowspan
  43. Урок 43. 00:09:19
    5.8. The Form Element
  44. Урок 44. 00:05:28
    5.9. Common Input Types
  45. Урок 45. 00:06:53
    5.10. The All-Important Label
  46. Урок 46. 00:05:18
    5.11. HTML Buttons
  47. Урок 47. 00:05:27
    5.12. The Name Attribute
  48. Урок 48. 00:06:26
    5.13. Hijacking Google & Reddit's Search
  49. Урок 49. 00:10:55
    5.14. Radio Buttons, Checkboxes, & Selects
  50. Урок 50. 00:07:03
    5.15. Range & Text Area
  51. Урок 51. 00:09:28
    5.17. HTML5 Form Validations
  52. Урок 52. 00:02:46
    5.18. Creating A Marathon Registration Form Intro
  53. Урок 53. 00:12:21
    5.19. Creating A Marathon Registration Form Solution
  54. Урок 54. 00:02:53
    6.1. What Matters In This Section
  55. Урок 55. 00:04:56
    6.2. What is CSS
  56. Урок 56. 00:04:04
    6.3. CSS is Huge, Don't Panic!
  57. Урок 57. 00:06:16
    6.4. Including Styles Correctly
  58. Урок 58. 00:05:16
    6.5. Color & Background-Color Properties
  59. Урок 59. 00:07:22
    6.7. Colors Systems RGB & Named Colors
  60. Урок 60. 00:07:40
    6.8. Colors Systems Hexadecimal
  61. Урок 61. 00:01:13
    6.10. A Reminder On Semicolons & CSS
  62. Урок 62. 00:11:17
    6.11. Common Text Properties
  63. Урок 63. 00:03:07
    6.12. Font Size Basics With Pixels
  64. Урок 64. 00:06:02
    6.13. The Font Family Property
  65. Урок 65. 00:02:39
    7.1. What Matters In This Section
  66. Урок 66. 00:04:58
    7.2. Universal & Element Selectors
  67. Урок 67. 00:05:25
    7.3. The ID Selector
  68. Урок 68. 00:04:44
    7.4. The Class Selector
  69. Урок 69. 00:05:12
    7.6. The Descendant Selector
  70. Урок 70. 00:05:04
    7.8. The Adjacent & Direct-Descendant Selectors
  71. Урок 71. 00:05:31
    7.9. The Attribute Selector
  72. Урок 72. 00:08:48
    7.10. Pseudo Classes
  73. Урок 73. 00:04:24
    7.12. Pseudo Elements
  74. Урок 74. 00:02:22
    7.13. The CSS Cascade
  75. Урок 75. 00:08:01
    7.14. WTF is Specificity
  76. Урок 76. 00:03:58
    7.16. TIP Chrome Dev Tools & CSS
  77. Урок 77. 00:03:50
    7.17. Inline Styles & Important
  78. Урок 78. 00:05:11
    7.18. CSS Inheritance
  79. Урок 79. 00:02:43
    8.1. What Matters In This Section
  80. Урок 80. 00:05:41
    8.2. Box Model Width & Height
  81. Урок 81. 00:12:09
    8.3. Box Model Border & Border-Radius
  82. Урок 82. 00:07:46
    8.5. Box Model Padding
  83. Урок 83. 00:06:12
    8.6. Box Model Margin
  84. Урок 84. 00:11:47
    8.7. The Display Property
  85. Урок 85. 00:05:40
    8.8. CSS Units Revisited
  86. Урок 86. 00:08:21
    8.9. CSS Units ems
  87. Урок 87. 00:07:44
    8.10. CSS Units rems
  88. Урок 88. 00:03:05
    9.1. What Matters In This Section
  89. Урок 89. 00:06:33
    9.2. Opacity & The Alpha Channel
  90. Урок 90. 00:09:41
    9.3. The Position Property
  91. Урок 91. 00:11:18
    9.4. CSS Transitions (yay!)
  92. Урок 92. 00:13:15
    9.5. The Power of CSS Transforms
  93. Урок 93. 00:10:23
    9.6. Fancy Button Hover Effect CodeAlong
  94. Урок 94. 00:08:46
    9.7. The Truth About Background
  95. Урок 95. 00:07:48
    9.8. Google Fonts is Amazing
  96. Урок 96. 00:08:45
    9.10. Photo Blog CodeAlong Pt. 1
  97. Урок 97. 00:08:39
    9.11. Photo Blog CodeAlong Pt. 2
  98. Урок 98. 00:03:12
    10.1. What Matters In This Section
  99. Урок 99. 00:04:25
    10.2. What on Earth Is Flexbox
  100. Урок 100. 00:05:59
    10.3. Flex-Direction
  101. Урок 101. 00:05:08
    10.4. Justify-Content
  102. Урок 102. 00:03:43
    10.5. Flex-Wrap
  103. Урок 103. 00:07:48
    10.6. Align-Items
  104. Урок 104. 00:05:19
    10.7. Align-Content & Align-Self
  105. Урок 105. 00:07:53
    10.8. Flex-Basis, Grow, & Shrink
  106. Урок 106. 00:05:40
    10.9. Flex Shorthand
  107. Урок 107. 00:07:19
    10.10. Responsive Design & Media Queries Intro
  108. Урок 108. 00:09:26
    10.11. The Power of Media Queries
  109. Урок 109. 00:08:43
    10.13. Building a Responsive Nav
  110. Урок 110. 00:03:56
    11.1. Pricing Panel CodeAlong Pt. 1
  111. Урок 111. 00:03:47
    11.2. Pricing Panel CodeAlong Pt. 2
  112. Урок 112. 00:03:46
    11.3. Pricing Panel CodeAlong Pt. 3
  113. Урок 113. 00:04:44
    11.4. Pricing Panel CodeAlong Pt. 4
  114. Урок 114. 00:03:48
    11.5. Pricing Panel CodeAlong Pt. 5
  115. Урок 115. 00:03:25
    11.6. Pricing Panel CodeAlong Pt. 6
  116. Урок 116. 00:03:04
    12.1. What Matters In This Section
  117. Урок 117. 00:08:02
    12.3. WTF Is Bootstrap
  118. Урок 118. 00:09:40
    12.4. Including Bootstrap & Containers
  119. Урок 119. 00:09:35
    12.5. Bootstrap Buttons
  120. Урок 120. 00:08:02
    12.6. Bootstrap Typography & Utilities
  121. Урок 121. 00:11:31
    12.7. Badges, Alerts, & Button Groups
  122. Урок 122. 00:08:06
    12.9. Intro to the Bootstrap Grid
  123. Урок 123. 00:11:18
    12.11. Responsive Bootstrap Grids
  124. Урок 124. 00:08:18
    12.12. Useful Grid Utilities
  125. Урок 125. 00:13:18
    12.13. Bootstrap & Forms
  126. Урок 126. 00:13:57
    12.14. Bootstrap Navbars
  127. Урок 127. 00:07:54
    12.15. Bootstrap Icons!
  128. Урок 128. 00:11:18
    12.16. Other Bootstrap Utilities
  129. Урок 129. 00:03:47
    12.17. A Mixed Bag of Other Bootstrap Stuff
  130. Урок 130. 00:01:11
    13.1. Watch This First! (it's short)
  131. Урок 131. 00:05:17
    13.3. Museum of Candy Project Part 1
  132. Урок 132. 00:14:02
    13.5. Museum of Candy Project Part 2
  133. Урок 133. 00:12:42
    13.6. Museum of Candy Project Part 3
  134. Урок 134. 00:16:40
    13.7. Museum of Candy Project Part 4
  135. Урок 135. 00:09:42
    13.8. Museum of Candy Project Part 5
  136. Урок 136. 00:02:28
    14.1. What Matters In This Section
  137. Урок 137. 00:08:10
    14.2. Why JavaScript is Awesome
  138. Урок 138. 00:06:39
    14.3. Primitives & The Console
  139. Урок 139. 00:07:44
    14.4. JavaScript Numbers
  140. Урок 140. 00:02:57
    14.5. WTF is NaN
  141. Урок 141. 00:01:58
    14.6. Quick Numbers Quiz
  142. Урок 142. 00:06:32
    14.7. Variables & Let
  143. Урок 143. 00:05:18
    14.9. Updating Variables
  144. Урок 144. 00:03:51
    14.10. Increment Operator Explanation i++ vs ++i
  145. Урок 145. 00:04:55
    14.11. Const & Var
  146. Урок 146. 00:04:38
    14.14. Booleans
  147. Урок 147. 00:05:32
    14.15. Variable Naming and Conventions
  148. Урок 148. 00:01:46
    15.1. What Matters In This Section
  149. Урок 149. 00:04:17
    15.2. Introducing Strings
  150. Урок 150. 00:08:26
    15.4. Indices & Length
  151. Урок 151. 00:07:36
    15.6. String Methods
  152. Урок 152. 00:10:28
    15.8. String Methods With Arguments
  153. Урок 153. 00:07:02
    15.10. String Template Literals -SUPER USEFUL
  154. Урок 154. 00:03:07
    15.11. Undefined & Null
  155. Урок 155. 00:07:33
    15.12. Random Numbers & The Math Object
  156. Урок 156. 00:01:42
    16.1. What Matters In This Section
  157. Урок 157. 00:02:02
    16.2. Decision Making With Code
  158. Урок 158. 00:05:20
    16.3. Comparison Operators
  159. Урок 159. 00:05:40
    16.4. Equality Triple Vs. Double Equals
  160. Урок 160. 00:05:04
    16.6. Console, Alert, & Prompt
  161. Урок 161. 00:05:47
    16.7. Running JavaScript From A Script!
  162. Урок 162. 00:06:26
    16.8. If Statements
  163. Урок 163. 00:08:34
    16.10. Else-If
  164. Урок 164. 00:08:49
    16.11. Else
  165. Урок 165. 00:05:56
    16.13. Nesting Conditionals
  166. Урок 166. 00:05:17
    16.15. Truth-y & False-y Values
  167. Урок 167. 00:05:01
    16.16. Logical AND
  168. Урок 168. 00:09:08
    16.18. Logical OR
  169. Урок 169. 00:05:41
    16.19. Logical NOT
  170. Урок 170. 00:09:32
    16.20. The Switch Statement Is...A Lot
  171. Урок 171. 00:01:42
    17.1. What Matters In This Section
  172. Урок 172. 00:07:38
    17.2. Introducing Arrays
  173. Урок 173. 00:07:51
    17.4. Array Random Access
  174. Урок 174. 00:07:38
    17.6. Push & Pop
  175. Урок 175. 00:04:21
    17.7. Shift & Unshift
  176. Урок 176. 00:05:58
    17.9. Concat, indexOf, includes & reverse
  177. Урок 177. 00:13:02
    17.10. Slice & Splice
  178. Урок 178. 00:05:36
    17.11. Reference Types & Equality Testing
  179. Урок 179. 00:04:26
    17.12. Arrays + Const
  180. Урок 180. 00:03:58
    17.13. Multi-Dimensional Arrays
  181. Урок 181. 00:01:42
    18.1. What Matters In This Section
  182. Урок 182. 00:04:47
    18.2. Introducing Object Literals
  183. Урок 183. 00:03:57
    18.3. Creating Object Literals
  184. Урок 184. 00:07:19
    18.5. Accessing Data Out Of Objects
  185. Урок 185. 00:04:32
    18.7. Modifying Objects
  186. Урок 186. 00:06:30
    18.8. Nesting Arrays & Objects
  187. Урок 187. 00:02:38
    19.1. What Matters In This Section
  188. Урок 188. 00:07:11
    19.2. Intro to For Loops
  189. Урок 189. 00:05:30
    19.4. More For Loops Examples
  190. Урок 190. 00:05:40
    19.6. The Perils Of Infinite Loops (
  191. Урок 191. 00:06:00
    19.7. Looping Over Arrays
  192. Урок 192. 00:08:40
    19.9. Nested Loops
  193. Урок 193. 00:06:17
    19.10. Another Loop The While Loop
  194. Урок 194. 00:04:20
    19.11. The Break Keyword
  195. Урок 195. 00:11:21
    19.12. Writing a Guessing Game
  196. Урок 196. 00:15:40
    19.13. Guessing Game Explanation And Bug Fixes
  197. Урок 197. 00:06:22
    19.14. The Lovely For...Of Loop
  198. Урок 198. 00:06:00
    19.16. Iterating Over Objects
  199. Урок 199. 00:05:15
    19.17. Todo List Project Intro
  200. Урок 200. 00:19:01
    19.18. Todo List Project CodeAlong
  201. Урок 201. 00:02:39
    20.1. What Matters In This Section
  202. Урок 202. 00:04:06
    20.2. Intro to Functions
  203. Урок 203. 00:06:03
    20.3. Our Very First Function
  204. Урок 204. 00:08:08
    20.5. Arguments Intro
  205. Урок 205. 00:07:58
    20.7. Functions With Multiple Arguments
  206. Урок 206. 00:06:53
    20.9. The Return Keyword
  207. Урок 207. 00:03:41
    21.1. What Matters In This Section
  208. Урок 208. 00:05:57
    21.2. Function Scope
  209. Урок 209. 00:04:53
    21.4. Block Scope
  210. Урок 210. 00:03:44
    21.5. Lexical Scope
  211. Урок 211. 00:03:35
    21.6. Function Expressions
  212. Урок 212. 00:05:01
    21.8. Higher Order Functions
  213. Урок 213. 00:10:44
    21.9. Returning Functions
  214. Урок 214. 00:05:46
    21.10. Defining Methods
  215. Урок 215. 00:09:58
    21.12. The Mysterious Keyword 'this'
  216. Урок 216. 00:06:10
    21.14. Using TryCatch
  217. Урок 217. 00:03:12
    22.1. What Matters In This Section
  218. Урок 218. 00:01:44
    22.2. What Is This Section Even About!
  219. Урок 219. 00:05:26
    22.3. The forEach Method
  220. Урок 220. 00:03:50
    22.4. The map Method
  221. Урок 221. 00:05:16
    22.6. Intro to Arrow Functions
  222. Урок 222. 00:04:24
    22.8. Arrow Function Implicit Returns
  223. Урок 223. 00:02:36
    22.9. Arrow Functions Wrapup
  224. Урок 224. 00:06:51
    22.10. setTimeout and setInterval
  225. Урок 225. 00:06:34
    22.11. The filter Method
  226. Урок 226. 00:03:23
    22.13. Some & Every Methods
  227. Урок 227. 00:10:54
    22.15. The Notorious Reduce Method
  228. Урок 228. 00:06:30
    22.16. Arrow Functions & 'this'
  229. Урок 229. 00:02:07
    23.1. What Matters In This Section
  230. Урок 230. 00:06:00
    23.2. Default Params
  231. Урок 231. 00:05:02
    23.3. Spread in Function Calls
  232. Урок 232. 00:03:01
    23.4. Spread with Array Literals
  233. Урок 233. 00:05:20
    23.5. Spread with Objects
  234. Урок 234. 00:07:00
    23.6. Rest Params
  235. Урок 235. 00:03:23
    23.7. Destructuring Arrays
  236. Урок 236. 00:05:39
    23.8. Destructuring Objects
  237. Урок 237. 00:04:59
    23.9. Destructuring Params
  238. Урок 238. 00:02:09
    24.1. What Matters In This Section
  239. Урок 239. 00:03:45
    24.2. Introducing the DOM
  240. Урок 240. 00:09:53
    24.3. The Document Object
  241. Урок 241. 00:06:52
    24.4. getElementById
  242. Урок 242. 00:08:16
    24.6. getElementsByTagName & className
  243. Урок 243. 00:07:17
    24.7. querySelector & querySelectorAll
  244. Урок 244. 00:12:55
    24.9. innerHTML, textContent, & innerText
  245. Урок 245. 00:07:04
    24.11. Attributes
  246. Урок 246. 00:11:43
    24.13. Changing Styles
  247. Урок 247. 00:07:28
    24.16. ClassList
  248. Урок 248. 00:07:27
    24.18. Traversing ParentChildSibling
  249. Урок 249. 00:11:32
    24.19. Append & AppendChild
  250. Урок 250. 00:03:40
    24.21. removeChild & remove
  251. Урок 251. 00:10:03
    24.22. Pokemon Sprites Demo
  252. Урок 252. 00:02:11
    25.1. What Matters In This Section
  253. Урок 253. 00:06:01
    25.2. Intro to Events
  254. Урок 254. 00:05:45
    25.3. Inline Events
  255. Урок 255. 00:08:55
    25.5. The Onclick Property
  256. Урок 256. 00:09:23
    25.6. addEventListener
  257. Урок 257. 00:08:34
    25.8. Random Color Exercise
  258. Урок 258. 00:08:00
    25.9. Events & The Keyword This
  259. Урок 259. 00:11:44
    25.10. Keyboard Events & Event Objects
  260. Урок 260. 00:08:10
    25.11. NEW VERSION Form Events & PreventDefault
  261. Урок 261. 00:08:58
    25.12. NEW VERSION Practice With Form Events & PreventDefault
  262. Урок 262. 00:18:43
    25.13. ORIGINAL VERSION Form Events & PreventDefault
  263. Урок 263. 00:05:28
    25.15. Input & Change Events
  264. Урок 264. 00:07:23
    25.17. Event Bubbling
  265. Урок 265. 00:07:50
    25.18. Event Delegation
  266. Урок 266. 00:13:04
    26.1. Score Keeper Pt. 1
  267. Урок 267. 00:10:30
    26.2. Score Keeper Pt. 2
  268. Урок 268. 00:13:35
    26.3. Score Keeper Pt. 3 With Bulma
  269. Урок 269. 00:10:12
    26.4. Score Keeper Pt. 4 Refactoring
  270. Урок 270. 00:01:59
    27.1. What Matters In This Section
  271. Урок 271. 00:11:31
    27.2. The Call Stack
  272. Урок 272. 00:09:44
    27.3. WebAPIs & Single Threaded
  273. Урок 273. 00:11:59
    27.4. Callback Hell (
  274. Урок 274. 00:09:47
    27.5. Demo fakeRequest Using Callbacks
  275. Урок 275. 00:12:37
    27.6. Demo fakeRequest Using Promises
  276. Урок 276. 00:07:39
    27.7. The Magic Of Promises
  277. Урок 277. 00:10:36
    27.8. Creating Our Own Promises
  278. Урок 278. 00:10:32
    27.9. The Async Keyword
  279. Урок 279. 00:08:12
    27.10. The Await Keyword
  280. Урок 280. 00:04:30
    27.11. Handling Errors In Async Functions
  281. Урок 281. 00:02:31
    28.1. What Matters In This Section
  282. Урок 282. 00:07:51
    28.2. Intro to AJAX
  283. Урок 283. 00:10:27
    28.3. Intro to APIs
  284. Урок 284. 00:07:46
    28.4. What is JSON
  285. Урок 285. 00:07:03
    28.5. Using Hoppscotch (or Postman)
  286. Урок 286. 00:03:03
    28.6. HTTP Verbs
  287. Урок 287. 00:04:31
    28.7. HTTP Status Codes
  288. Урок 288. 00:08:43
    28.8. Understanding Query Strings
  289. Урок 289. 00:04:01
    28.9. HTTP Headers
  290. Урок 290. 00:05:40
    28.11. Making XHRs
  291. Урок 291. 00:11:50
    28.12. Using The Fetch API
  292. Урок 292. 00:06:28
    28.13. Introducing Axios
  293. Урок 293. 00:11:25
    28.14. Setting Headers With Axios
  294. Урок 294. 00:16:02
    28.15. TV Show Search App
  295. Урок 295. 00:04:44
    29.1. What Matters In This Section
  296. Урок 296. 00:12:24
    29.2. What On Earth Are Prototypes
  297. Урок 297. 00:07:14
    29.3. Intro to Object Oriented Programming
  298. Урок 298. 00:09:01
    29.4. Factory Functions
  299. Урок 299. 00:17:00
    29.5. Constructor Functions
  300. Урок 300. 00:15:05
    29.6. JavaScript Classes
  301. Урок 301. 00:10:19
    29.7. More Classes Practice
  302. Урок 302. 00:10:06
    29.8. Extends and Super Keywords
  303. Урок 303. 00:03:52
    30.1. What Matters In This Section
  304. Урок 304. 00:03:39
    30.2. Backend Overview
  305. Урок 305. 00:03:32
    30.3. A Pep Talk On Terminal
  306. Урок 306. 00:08:33
    30.4. Why Do We Need To Know Terminal Commands
  307. Урок 307. 00:05:13
    30.6. The Basics LS & PWD
  308. Урок 308. 00:04:34
    30.7. Changing Directories
  309. Урок 309. 00:05:32
    30.8. Relative Vs. Absolute Paths
  310. Урок 310. 00:03:01
    30.9. Making Directories
  311. Урок 311. 00:06:20
    30.10. Man Pages & Flags
  312. Урок 312. 00:04:30
    30.11. The Touch Command
  313. Урок 313. 00:05:46
    30.12. Removing Files & Folders
  314. Урок 314. 00:02:54
    31.1. What Matters In This Section
  315. Урок 315. 00:05:36
    31.2. Introducing Node JS
  316. Урок 316. 00:04:45
    31.3. What Is Node Used For
  317. Урок 317. 00:01:54
    31.4. Installing Node
  318. Урок 318. 00:04:59
    31.6. The Node REPL
  319. Урок 319. 00:02:49
    31.7. Running Node Files
  320. Урок 320. 00:07:43
    31.8. Process & Argv
  321. Урок 321. 00:14:52
    31.10. File System Module Crash Course
  322. Урок 322. 00:02:53
    32.1. What Matters In This Section
  323. Урок 323. 00:09:54
    32.2. Working With module.exports
  324. Урок 324. 00:05:32
    32.3. Requiring A Directory
  325. Урок 325. 00:03:05
    32.4. Introducing NPM
  326. Урок 326. 00:08:09
    32.5. Installing Packages - Jokes & Rainbow
  327. Урок 327. 00:05:39
    32.6. Adding Global Packages
  328. Урок 328. 00:07:56
    32.7. The All-Important Package.json
  329. Урок 329. 00:05:39
    32.8. Installing All Dependencies For A Project
  330. Урок 330. 00:10:05
    32.10. Language Guesser Challenge
  331. Урок 331. 00:02:49
    33.1. What Matters In This Section
  332. Урок 332. 00:05:45
    33.2. Introducing Express
  333. Урок 333. 00:09:56
    33.3. Our Very First Express App
  334. Урок 334. 00:07:45
    33.4. The Request & Response Objects
  335. Урок 335. 00:09:58
    33.6. Express Routing Basics
  336. Урок 336. 00:09:16
    33.7. Express Path Parameters
  337. Урок 337. 00:04:57
    33.8. Working With Query Strings
  338. Урок 338. 00:03:52
    33.9. Auto-Restart With Nodemon
  339. Урок 339. 00:02:39
    34.1. What Matters In This Section
  340. Урок 340. 00:06:25
    34.2. What is Templating
  341. Урок 341. 00:05:47
    34.3. Configuring Express For EJS
  342. Урок 342. 00:04:33
    34.4. Setting The Views Directory
  343. Урок 343. 00:03:30
    34.5. EJS Interpolation Syntax
  344. Урок 344. 00:04:22
    34.6. Passing Data To Templates
  345. Урок 345. 00:02:52
    34.7. Subreddit Template Demo
  346. Урок 346. 00:07:13
    34.8. Conditionals in EJS
  347. Урок 347. 00:06:25
    34.9. Loops In EJS
  348. Урок 348. 00:10:53
    34.10. A More Complex Subreddit Demo
  349. Урок 349. 00:06:41
    34.11. Serving Static Assets In Express
  350. Урок 350. 00:08:05
    34.12. Bootstrap + Express
  351. Урок 351. 00:09:59
    34.13. EJS & Partials
  352. Урок 352. 00:04:06
    35.1. What Matters In This Section
  353. Урок 353. 00:06:34
    35.2. Get Vs. Post Requests
  354. Урок 354. 00:04:04
    35.3. Defining Express Post Routes
  355. Урок 355. 00:06:29
    35.4. Parsing The Request Body
  356. Урок 356. 00:08:28
    35.5. Intro to REST
  357. Урок 357. 00:05:24
    35.6. RESTful Comments Overview
  358. Урок 358. 00:06:40
    35.7. RESTful Comments Index
  359. Урок 359. 00:08:14
    35.8. RESTful Comments New
  360. Урок 360. 00:05:44
    35.9. Express Redirects
  361. Урок 361. 00:12:11
    35.10. RESTful Comments Show
  362. Урок 362. 00:05:13
    35.11. The UUID Package
  363. Урок 363. 00:10:34
    35.12. RESTful Comments Update
  364. Урок 364. 00:11:49
    35.13. Express Method Override
  365. Урок 365. 00:10:19
    35.14. RESTful Comments Delete
  366. Урок 366. 00:03:19
    36.1. What Matters In This Section
  367. Урок 367. 00:04:37
    36.2. Introduction to Databases
  368. Урок 368. 00:08:51
    36.3. SQL Vs. NoSQL Databases
  369. Урок 369. 00:06:47
    36.4. Why We're Learning Mongo
  370. Урок 370. 00:02:50
    36.5. Installing Mongo MacOS
  371. Урок 371. 00:05:29
    36.8. The Mongo Shell
  372. Урок 372. 00:03:08
    36.9. What On Earth Is BSON
  373. Урок 373. 00:11:20
    36.10. Inserting With Mongo
  374. Урок 374. 00:08:02
    36.11. Finding With Mongo
  375. Урок 375. 00:10:23
    36.12. Updating With Mongo
  376. Урок 376. 00:04:28
    36.13. Deleting With Mongo
  377. Урок 377. 00:11:01
    36.14. Additional Mongo Operators
  378. Урок 378. 00:02:49
    37.1. What Matters In This Section
  379. Урок 379. 00:04:08
    37.2. What is Mongoose
  380. Урок 380. 00:08:09
    37.4. Connecting Mongoose to Mongo
  381. Урок 381. 00:10:21
    37.6. Our First Mongoose Model
  382. Урок 382. 00:04:21
    37.7. Insert Many
  383. Урок 383. 00:09:24
    37.8. Finding With Mongoose
  384. Урок 384. 00:10:10
    37.9. Updating With Mongoose
  385. Урок 385. 00:04:57
    37.11. Deleting With Mongoose!
  386. Урок 386. 00:08:40
    37.12. Mongoose Schema Validations
  387. Урок 387. 00:08:13
    37.13. Additional Schema Constraints
  388. Урок 388. 00:03:56
    37.14. Validating Mongoose Updates
  389. Урок 389. 00:03:26
    37.15. Mongoose Validation Errors
  390. Урок 390. 00:12:13
    37.16. Model Instance Methods
  391. Урок 391. 00:05:01
    37.17. Adding Model Static Methods
  392. Урок 392. 00:06:58
    37.18. Mongoose Virtuals
  393. Урок 393. 00:07:14
    37.19. Defining Mongoose Middleware
  394. Урок 394. 00:02:45
    38.1. What Matters In This Section
  395. Урок 395. 00:03:56
    38.2. Express + Mongoose Basic Setup
  396. Урок 396. 00:11:17
    38.3. Creating Our Model
  397. Урок 397. 00:05:19
    38.4. Products Index
  398. Урок 398. 00:08:14
    38.5. Product Details
  399. Урок 399. 00:09:28
    38.6. Creating Products
  400. Урок 400. 00:14:02
    38.7. Updating Products
  401. Урок 401. 00:08:13
    38.8. Tangent On Category Selector
  402. Урок 402. 00:04:54
    38.9. Deleting Products
  403. Урок 403. 00:08:20
    38.10. BONUS Filtering By Category
  404. Урок 404. 00:06:47
    39.1. Introducing YelpCamp Our Massive Project
  405. Урок 405. 00:03:13
    39.2. How to Access YelpCamp Code
  406. Урок 406. 00:03:31
    39.3. Creating the Basic Express App
  407. Урок 407. 00:07:10
    39.4. Campground Model Basics
  408. Урок 408. 00:10:36
    39.5. Seeding Campgrounds
  409. Урок 409. 00:03:37
    39.6. Campground Index
  410. Урок 410. 00:03:55
    39.7. Campground Show
  411. Урок 411. 00:07:38
    39.8. Campground New & Create
  412. Урок 412. 00:08:58
    39.9. Campground Edit & Update
  413. Урок 413. 00:03:23
    39.10. Campground Delete
  414. Урок 414. 00:01:21
    40.1. What Matters In This Section
  415. Урок 415. 00:03:41
    40.2. Intro to Express Middleware
  416. Урок 416. 00:07:09
    40.3. Using Morgan - Logger Middleware
  417. Урок 417. 00:08:14
    40.4. Defining Our Own Middleware
  418. Урок 418. 00:08:12
    40.5. More Middleware Practice
  419. Урок 419. 00:05:19
    40.6. Setting Up A 404 Route
  420. Урок 420. 00:04:41
    40.7. Password Middleware Demo (NOT REAL AUTH)
  421. Урок 421. 00:05:17
    40.8. Protecting Specific Routes
  422. Урок 422. 00:06:30
    41.1. A New EJS Tool For Layouts
  423. Урок 423. 00:03:25
    41.2. Bootstrap5! Boilerplate
  424. Урок 424. 00:04:46
    41.3. Navbar Partial
  425. Урок 425. 00:04:18
    41.4. Footer Partial
  426. Урок 426. 00:06:01
    41.6. Adding Images
  427. Урок 427. 00:04:47
    41.7. Styling Campgrounds Index
  428. Урок 428. 00:09:01
    41.8. Styling The New Form
  429. Урок 429. 00:03:14
    41.9. Styling Edit Form
  430. Урок 430. 00:07:40
    41.10. Styling Show Page
  431. Урок 431. 00:01:52
    42.1. What Matters In This Section
  432. Урок 432. 00:08:02
    42.2. Express' Built-In Error Handler
  433. Урок 433. 00:08:50
    42.3. Defining Custom Error Handlers
  434. Урок 434. 00:12:41
    42.4. Our Custom Error Class
  435. Урок 435. 00:11:42
    42.5. Handling Async Errors
  436. Урок 436. 00:07:37
    42.6. Handling More Async Errors!
  437. Урок 437. 00:07:51
    42.7. Defining An Async Utility
  438. Урок 438. 00:08:50
    42.8. Differentiating Mongoose Errors
  439. Урок 439. 00:02:21
    43.1. Where To Next With YelpCamp
  440. Урок 440. 00:10:20
    43.2. Client-Side Form Validations
  441. Урок 441. 00:03:04
    43.3. Basic Error Handler
  442. Урок 442. 00:07:07
    43.4. Defining ExpressError Class
  443. Урок 443. 00:07:43
    43.6. More Errors
  444. Урок 444. 00:05:10
    43.7. Defining Error Template
  445. Урок 445. 00:11:17
    43.8. JOI Schema Validations
  446. Урок 446. 00:10:50
    43.9. JOI Validation Middleware
  447. Урок 447. 00:03:45
    44.1. What Matters In This Section
  448. Урок 448. 00:04:14
    44.2. Introduction to Mongo Relationships
  449. Урок 449. 00:08:26
    44.3. SQL Relationships Overview
  450. Урок 450. 00:12:38
    44.5. One to Few
  451. Урок 451. 00:13:28
    44.6. One to Many
  452. Урок 452. 00:03:33
    44.7. Mongoose Populate
  453. Урок 453. 00:14:00
    44.8. One to Bajillions
  454. Урок 454. 00:08:22
    44.9. Mongo Schema Design
  455. Урок 455. 00:02:22
    45.1. What Matters In This Section
  456. Урок 456. 00:06:27
    45.2. Defining Our Farm & Product Models
  457. Урок 457. 00:08:56
    45.4. Creating New Farms
  458. Урок 458. 00:04:36
    45.5. Farms Show Page
  459. Урок 459. 00:10:45
    45.6. Creating Products For A Farm
  460. Урок 460. 00:10:59
    45.7. Finishing Touches
  461. Урок 461. 00:13:32
    45.8. Deletion Mongoose Middleware
  462. Урок 462. 00:05:16
    46.1. Defining The Review Model
  463. Урок 463. 00:05:21
    46.2. Adding The Review Form
  464. Урок 464. 00:06:33
    46.3. Creating Reviews
  465. Урок 465. 00:09:07
    46.4. Validating Reviews
  466. Урок 466. 00:06:07
    46.5. Displaying Reviews
  467. Урок 467. 00:04:53
    46.6. Styling Reviews
  468. Урок 468. 00:08:17
    46.7. Deleting Reviews
  469. Урок 469. 00:09:28
    46.8. Campground Delete Middleware
  470. Урок 470. 00:02:21
    47.1. What Matters In This Section
  471. Урок 471. 00:10:44
    47.2. Express Router Intro
  472. Урок 472. 00:04:54
    47.3. Express Router & Middleware
  473. Урок 473. 00:07:57
    47.4. Introducing Cookies
  474. Урок 474. 00:06:43
    47.5. Sending Cookies
  475. Урок 475. 00:05:26
    47.6. Cookie Parser Middleware
  476. Урок 476. 00:10:13
    47.7. Signing Cookies
  477. Урок 477. 00:06:27
    47.8. OPTIONAL HMAC Signing
  478. Урок 478. 00:01:31
    48.1. What Matters In This Section
  479. Урок 479. 00:05:21
    48.2. Introduction to Sessions
  480. Урок 480. 00:11:40
    48.3. Express Session
  481. Урок 481. 00:07:52
    48.4. More Express Session
  482. Урок 482. 00:06:43
    48.5. Intro to Flash
  483. Урок 483. 00:03:23
    48.6. Res.locals & Flash
  484. Урок 484. 00:06:02
    49.1. Breaking Out Campground Routes
  485. Урок 485. 00:05:35
    49.2. Breaking Out Review Routes
  486. Урок 486. 00:05:49
    49.3. Serving Static Assets
  487. Урок 487. 00:06:49
    49.4. Configuring Session
  488. Урок 488. 00:05:23
    49.5. Setting Up Flash
  489. Урок 489. 00:07:04
    49.6. Flash Success Partial
  490. Урок 490. 00:04:07
    49.7. Flash Errors Partial
  491. Урок 491. 00:04:35
    50.1. What Matters In This Section
  492. Урок 492. 00:03:32
    50.2. Authentication Vs. Authorization
  493. Урок 493. 00:05:03
    50.3. How to (not) Store Passwords
  494. Урок 494. 00:07:06
    50.4. Cryptographic Hashing Functions
  495. Урок 495. 00:11:30
    50.5. Password Salts
  496. Урок 496. 00:13:02
    50.6. Intro to Bcrypt
  497. Урок 497. 00:07:26
    50.7. Auth Demo Setup
  498. Урок 498. 00:06:15
    50.8. Auth Demo Registering
  499. Урок 499. 00:07:22
    50.9. Auth Demo Login
  500. Урок 500. 00:07:33
    50.10. Auth Demo Staying Logged In With Session
  501. Урок 501. 00:05:59
    50.11. Auth Demo Logout
  502. Урок 502. 00:03:23
    50.12. Auth Demo Require Login Middleware
  503. Урок 503. 00:13:49
    50.13. Auth Demo Refactoring To Model Methods
  504. Урок 504. 00:04:44
    51.1. Introduction to Passport
  505. Урок 505. 00:04:08
    51.2. Creating Our User Model
  506. Урок 506. 00:09:16
    51.3. Configuring Passport
  507. Урок 507. 00:07:02
    51.4. Register Form
  508. Урок 508. 00:06:21
    51.5. Register Route Logic
  509. Урок 509. 00:05:42
    51.6. Login Routes
  510. Урок 510. 00:08:56
    51.7. isLoggedIn Middleware
  511. Урок 511. 00:04:00
    51.9. Adding Logout
  512. Урок 512. 00:04:55
    51.10. currentUser Helper
  513. Урок 513. 00:03:43
    51.11. Fixing Register Route
  514. Урок 514. 00:04:53
    51.13. ReturnTo Behavior
  515. Урок 515. 00:07:21
    52.1. Adding an Author to Campground
  516. Урок 516. 00:03:02
    52.2. Showing and Hiding EditDelete
  517. Урок 517. 00:06:59
    52.3. Campground Permissions
  518. Урок 518. 00:08:43
    52.4. Authorization Middleware
  519. Урок 519. 00:05:45
    52.5. Reviews Permissions
  520. Урок 520. 00:12:50
    52.6. More Reviews Authorization
  521. Урок 521. 00:09:51
    53.1. Refactoring To Campgrounds Controller
  522. Урок 522. 00:06:09
    53.2. Adding a Reviews Controller
  523. Урок 523. 00:05:58
    53.3. A Fancy Way To Restructure Routes
  524. Урок 524. 00:08:02
    53.4. Displaying Star Ratings
  525. Урок 525. 00:05:00
    53.5. Star Rating Form
  526. Урок 526. 00:03:33
    54.1. Intro To Image Upload Process
  527. Урок 527. 00:09:59
    54.2. The Multer Middleware
  528. Урок 528. 00:02:35
    54.3. Cloudinary Registration
  529. Урок 529. 00:06:22
    54.4. Environment Variables with dotenv
  530. Урок 530. 00:09:02
    54.6. Uploading To Cloudinary Basics
  531. Урок 531. 00:11:30
    54.7. Storing Uploaded Image Links In Mongo
  532. Урок 532. 00:08:40
    54.8. Displaying Images In A Carousel
  533. Урок 533. 00:02:44
    54.9. Fixing Our Seeds
  534. Урок 534. 00:06:00
    54.10. Adding Upload to Edit Page
  535. Урок 535. 00:08:42
    54.11. Customizing File Input
  536. Урок 536. 00:02:51
    54.12. A Word Of Warning!
  537. Урок 537. 00:06:52
    54.13. Deleting Images Form
  538. Урок 538. 00:06:09
    54.14. Deleting Images Backend
  539. Урок 539. 00:10:49
    54.15. Adding a Thumbnail Virtual Property
  540. Урок 540. 00:04:37
    55.2. Registering For Mapbox
  541. Урок 541. 00:10:52
    55.3. Geocoding Our Locations
  542. Урок 542. 00:06:28
    55.4. Working With GeoJSON
  543. Урок 543. 00:08:12
    55.5. Displaying A Map
  544. Урок 544. 00:08:12
    55.6. Centering The Map On A Campground
  545. Урок 545. 00:06:18
    55.7. Fixing Our Seeds Bug
  546. Урок 546. 00:04:22
    55.8. Customizing Map Popup
  547. Урок 547. 00:02:34
    56.1. Intro To Our Cluster Map
  548. Урок 548. 00:05:49
    56.2. Adding Earthquake Cluster Map
  549. Урок 549. 00:02:43
    56.3. Reseeding Our Database (again)
  550. Урок 550. 00:07:30
    56.4. Basic Clustering Campgrounds
  551. Урок 551. 00:07:04
    56.5. Tweaking Clustering Code
  552. Урок 552. 00:07:12
    56.6. Changing Cluster Size and Color
  553. Урок 553. 00:15:40
    56.7. Adding Custom Popups
  554. Урок 554. 00:09:22
    57.1. Styling Home Page
  555. Урок 555. 00:06:32
    57.2. Additional Home Page Styling
  556. Урок 556. 00:03:49
    57.3. Styling Login Form
  557. Урок 557. 00:03:42
    57.4. Styling Register Form
  558. Урок 558. 00:00:29
    57.5. Spacing Campgrounds
  559. Урок 559. 00:02:55
    57.6. Removing Inline Map Styles
  560. Урок 560. 00:03:15
    57.7. Adding Map Controls
  561. Урок 561. 00:07:47
    58.2. Mongo Injection
  562. Урок 562. 00:06:00
    58.3. Cross Site Scripting (XSS)
  563. Урок 563. 00:11:28
    58.4. Sanitizing HTML w JOI
  564. Урок 564. 00:03:27
    58.5. Minor Changes to SessionCookies
  565. Урок 565. 00:02:18
    58.6. Hiding Errors
  566. Урок 566. 00:05:37
    58.8. Using Helmet
  567. Урок 567. 00:08:26
    58.10. Content Security Policy Fun
  568. Урок 568. 00:09:54
    59.1. Setting Up Mongo Atlas
  569. Урок 569. 00:07:00
    59.3. Using Mongo For Our Session Store
  570. Урок 570. 00:03:43
    59.5. Heroku Setup
  571. Урок 571. 00:05:35
    59.7. Pushing to Heroku
  572. Урок 572. 00:04:37
    59.8. Fixing Heroku Errors
  573. Урок 573. 00:06:45
    59.9. Configuring Heroku Env Variables
  574. Урок 574. 00:02:50
    60.1. How The React Content Works
  575. Урок 575. 00:07:07
    60.3. Introducing React
  576. Урок 576. 00:05:19
    60.4. Setting Up Code Sand Box
  577. Урок 577. 00:04:17
    60.5. The Basics of JSX
  578. Урок 578. 00:03:11
    60.6. Basic React App Structure
  579. Урок 579. 00:04:59
    60.7. Our First React Component
  580. Урок 580. 00:08:03
    61.1. Importing and Exporting Components
  581. Урок 581. 00:04:52
    61.2. The Rules of JSX
  582. Урок 582. 00:02:10
    61.3. React Fragments
  583. Урок 583. 00:03:21
    61.4. Evaluating JS Expressions in JSX
  584. Урок 584. 00:02:49
    61.5. Creating. a Die Component
  585. Урок 585. 00:05:56
    61.6. Component Decomposition
  586. Урок 586. 00:08:21
    61.7. Styling Components
  587. Урок 587. 00:09:16
    61.8. Random PokeCard Exercise
  588. Урок 588. 00:05:59
    62.1. Creating React Apps With Vite
  589. Урок 589. 00:01:30
    62.2. A Note About Create React App
  590. Урок 590. 00:06:25
    62.3. A Tour of A Vite App
  591. Урок 591. 00:05:57
    63.1. Introducing Props
  592. Урок 592. 00:06:02
    63.2. Non-String Props
  593. Урок 593. 00:01:35
    63.3. Setting Default Prop Values
  594. Урок 594. 00:04:23
    63.4. Passing Arrays and Objects
  595. Урок 595. 00:09:43
    63.5. React Conditionals
  596. Урок 596. 00:03:39
    63.6. The React Developer Tools
  597. Урок 597. 00:08:30
    63.7. Adding Dynamic Component Styles
  598. Урок 598. 00:08:37
    63.8. Rendering Arrays With Map
  599. Урок 599. 00:06:17
    63.9. Slot Machine Exercise
  600. Урок 600. 00:08:02
    64.1. Creating A Shopping List Component
  601. Урок 601. 00:04:00
    64.2. The Key Prop
  602. Урок 602. 00:11:01
    64.3. The Shopping List Item Component
  603. Урок 603. 00:07:11
    64.4. Rental Property Exercise
  604. Урок 604. 00:03:36
    64.6. Configuring ESLint
  605. Урок 605. 00:04:41
    64.7. PropTypes Library Crash Course
  606. Урок 606. 00:05:20
    65.1. Intro to React Events
  607. Урок 607. 00:02:50
    65.2. Non-Click Events
  608. Урок 608. 00:03:44
    65.3. Working With The Event Object
  609. Урок 609. 00:02:48
    65.4. Clicker Exercise
  610. Урок 610. 00:08:51
    67.1. Introducing State
  611. Урок 611. 00:10:52
    67.1. Setting State With An Updater Function
  612. Урок 612. 00:06:22
    67.2. State Initializer Functions
  613. Урок 613. 00:08:34
    67.2. Working With The useState() Hook
  614. Урок 614. 00:08:01
    67.3. Creating a Toggler Component
  615. Урок 615. 00:02:55
    67.3. When Does React Re-Render
  616. Урок 616. 00:03:40
    67.4. Multiple Pieces of State In A Component
  617. Урок 617. 00:10:36
    67.4. Working With Objects In State
  618. Урок 618. 00:07:43
    67.5. Arrays In State
  619. Урок 619. 00:07:17
    67.5. useState() and Rendering
  620. Урок 620. 00:02:00
    67.6. Color Box Exercise INTRO
  621. Урок 621. 00:04:04
    67.6. Generating Ids with UUID
  622. Урок 622. 00:15:38
    67.7. Color Box Exercise SOLUTION
  623. Урок 623. 00:07:38
    67.7. Deleting From Arrays The React Way
  624. Урок 624. 00:09:03
    67.8. Common Array Updating Patterns
  625. Урок 625. 00:04:22
    67.9. Updating All Elements In An Array
  626. Урок 626. 00:12:26
    67.10. Score Keeper Exercise
  627. Урок 627. 00:06:25
    68.1. Introducing The Lucky7 Game
  628. Урок 628. 00:05:37
    68.2. Formulating Our Component Gameplan
  629. Урок 629. 00:07:30
    68.3. Building Die and Dice Components
  630. Урок 630. 00:10:02
    68.4. The LuckyN Component
  631. Урок 631. 00:01:35
    68.5. State As Props
  632. Урок 632. 00:07:43
    68.6. Passing Functions As Props
  633. Урок 633. 00:09:01
    68.7. Passing Functions That Update State
  634. Урок 634. 00:14:57
    68.8. Practice Passing State Updating Functions
  635. Урок 635. 00:09:15
    69.1. Controlled Components
  636. Урок 636. 00:02:08
    69.2. The htmlFor Property
  637. Урок 637. 00:04:33
    69.3. Working With Multiple Inputs
  638. Урок 638. 00:08:10
    69.4. A Better Signup Form
  639. Урок 639. 00:03:38
    69.5. Computed Property Names in HandleChange()
  640. Урок 640. 00:06:36
    69.6. Creating a Shopping List Form
  641. Урок 641. 00:09:39
    69.7. Shopping List Component
  642. Урок 642. 00:05:18
    69.8. Finishing The Shopping List Component
  643. Урок 643. 00:09:56
    69.9. Form Validation From Scratch
  644. Урок 644. 00:11:49
    69.10. Validations using React Hook Form
  645. Урок 645. 00:01:34
    70.1. Introducing Effects
  646. Урок 646. 00:04:15
    70.2. The useEffect Hook
  647. Урок 647. 00:04:35
    70.3. useEffect Dependencies
  648. Урок 648. 00:10:30
    70.4. Fetching Initial Data From an API
  649. Урок 649. 00:06:12
    70.5. Adding a Loader
  650. Урок 650. 00:04:25
    70.6. Github Profile Search
  651. Урок 651. 00:01:50
    71.1. Introducing Material UI
  652. Урок 652. 00:08:30
    71.2. Installing Material UI
  653. Урок 653. 00:04:03
    71.3. The Rating Component
  654. Урок 654. 00:06:34
    71.4. Material Forms
  655. Урок 655. 00:08:00
    71.5. The SX Prop and Custom Styles
  656. Урок 656. 00:04:01
    72.1. Creating The Application
  657. Урок 657. 00:08:29
    72.2. The TodoList Component
  658. Урок 658. 00:07:16
    72.3. Removing Todos
  659. Урок 659. 00:03:34
    72.4. Toggling Todos
  660. Урок 660. 00:11:19
    72.5. The New Todo Form
  661. Урок 661. 00:04:27
    72.6. Adding LocalStorage
  662. Урок 662. 00:02:58
    72.7. Tweaking the Todo Icons and Ids
  663. Урок 663. 00:05:48
    72.8. Final Styles
  664. Урок 664. 00:03:10
    73.1. Check Out This Fancy Todo List
  665. Урок 665. 00:09:43
    74.1. What's Next and Goodbye!