Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Master Deno, React, Mongo, NGINX running with Docker-Compose, а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:20:13
    Creating the Docker compose file
  • Урок 2. 00:07:30
    Creating the frontend Dockerfile
  • Урок 3. 00:05:43
    Creating the API Dockerfile
  • Урок 4. 00:07:49
    Creating our React app in a Docker container
  • Урок 5. 00:06:09
    Hello from Deno from Docker
  • Урок 6. 00:07:47
    Importing our first module Oak
  • Урок 7. 00:09:27
    Exporting our routes
  • Урок 8. 00:07:58
    Creating our first Controller
  • Урок 9. 00:15:53
    Connecting Deno to Mongo
  • Урок 10. 00:05:12
    Saving our first value into MongoDB
  • Урок 11. 00:18:03
    Refactoring for a Singleton our first Design Pattern
  • Урок 12. 00:15:16
    Creating our Model and Schema
  • Урок 13. 00:08:40
    Validating our post request
  • Урок 14. 00:12:33
    GetAll Endpoint with Mongo
  • Урок 15. 00:07:38
    Get the query parameters from URL and request one item
  • Урок 16. 00:03:07
    Return a 404 when no to-do is found
  • Урок 17. 00:04:11
    Delete a to-do from Mongo
  • Урок 18. 00:14:33
    Updating a record in Mongo
  • Урок 19. 00:11:48
    Validating the Update
  • Урок 20. 00:11:00
    Creating our custom validator using Validasaur
  • Урок 21. 00:05:15
    Validasaur limitations notNull and requiredWhen and Optional
  • Урок 22. 00:07:55
    Creating our first Interface
  • Урок 23. 00:19:22
    Creating our first Mongo Repository
  • Урок 24. 00:03:11
    Testing all endpoints with postman
  • Урок 25. 00:02:05
    How to add headers to one of our endpoints
  • Урок 26. 00:06:16
    Implement our first middleware
  • Урок 27. 00:02:41
    Creating Content Type Json responses without need to set the headers
  • Урок 28. 00:06:48
    Creating a not found middle-ware
  • Урок 29. 00:05:58
    Cleaning up the Any types - RouterContext type
  • Урок 30. 00:02:50
    Cleaning up Response type and Importing Status Enum to define our Not Found
  • Урок 31. 00:01:34
    Cleaning up the Application type
  • Урок 32. 00:02:47
    Cleaning up the Next type
  • Урок 33. 00:03:46
    Finally a type we can choose
  • Урок 34. 00:11:37
    Creating the order to- do router
  • Урок 35. 00:11:25
    Creating a more standard router URL using Docker to keep the API version
  • Урок 36. 00:07:14
    Reusing our new router creator to create the new to-do order endpoints
  • Урок 37. 00:03:57
    Data shape in MongoDB
  • Урок 38. 00:08:50
    Validating the MongoID
  • Урок 39. 00:04:47
    Creating Lookups and more Projections in MongoDB
  • Урок 40. 00:08:51
    Creating projections in MongoDB
  • Урок 41. 00:06:34
    Implementing our projections in Deno
  • Урок 42. 00:04:34
    Saving our order to-do into MongoDB
  • Урок 43. 00:02:52
    Understanding why we should always respect the SIG Family
  • Урок 44. 00:08:06
    Implement the Deno listeners for your Docker termination signals
  • Урок 45. 00:02:18
    Deno is listening but nothing happens, is Docker really saying something?
  • Урок 46. 00:04:30
    Passing the termination signal from Deno to Oak
  • Урок 47. 00:03:24
    Refactoring the code to a Signal Manager function
  • Урок 48. 00:05:11
    Deno, CORS. What and why?
  • Урок 49. 00:02:17
    Pre-Fligth, when options are not always a option
  • Урок 50. 00:01:55
    Inserting the ID into your new todo response (trust me we will need that later)
  • Урок 51. 00:03:27
    Review and clean up
  • Урок 52. 00:09:34
    Installing ans setting up UIkit
  • Урок 53. 00:04:46
    Creating the Navbar and the Logo
  • Урок 54. 00:06:00
    Adding the search bar on the Navbar
  • Урок 55. 00:03:33
    Refactoring the Navbar to its on component
  • Урок 56. 00:02:47
    Let's make it Sticky to the top
  • Урок 57. 00:05:46
    Creating the card
  • Урок 58. 00:02:12
    Refactoring the card component
  • Урок 59. 00:05:11
    Creating our groups
  • Урок 60. 00:04:05
    Making it Drag'n'drop
  • Урок 61. 00:06:18
    Refactoring group and grouping items
  • Урок 62. 00:07:35
    Creating a floating action button
  • Урок 63. 00:01:20
    Refactoring the float action button
  • Урок 64. 00:05:46
    Creating and triggering our modal
  • Урок 65. 00:04:42
    Creating the body of our modal
  • Урок 66. 00:08:31
    Adding a Input field, a text area and a select area on our modal
  • Урок 67. 00:06:35
    Adding a footer to the modal
  • Урок 68. 00:02:25
    Refactoring the modal to its own component
  • Урок 69. 00:06:06
    Creating our first Hook use State
  • Урок 70. 00:08:50
    Create use State for our text area and option
  • Урок 71. 00:01:20
    Renaming the groups
  • Урок 72. 00:17:18
    Installing and using Immer to help us control the state
  • Урок 73. 00:03:12
    Cleaning up the code, adding keys to components and default value to options
  • Урок 74. 00:09:47
    Looping multidimensional arrays
  • Урок 75. 00:09:04
    ?? Looping multidimensional arrays
  • Урок 76. 00:02:01
    Passing props to To-do Card and creating its ID
  • Урок 77. 00:08:34
    Listening to events using useEffect Hook
  • Урок 78. 00:02:56
    Refactoring our Drag'n'drop hook
  • Урок 79. 00:03:37
    Creating our first custom hook
  • Урок 80. 00:04:50
    Passing Parameters and Functions to our custom hooks
  • Урок 81. 00:05:51
    Creating a new custom hook useGroupHook that uses our previous custom hook
  • Урок 82. 00:05:04
    Making our custom hook more reusable
  • Урок 83. 00:05:37
    Adding proper names to our group containers
  • Урок 84. 00:08:47
    Start to use hooks on our search bar
  • Урок 85. 00:09:17
    Let's explore a new hook use Ref to compare closure values with current values
  • Урок 86. 00:03:32
    Using use Effect cleanup to remove our timers
  • Урок 87. 00:12:06
    Keeping our to-dos safe in local storage using hooks
  • Урок 88. 00:10:32
    Deleting elements in a multidimensional array
  • Урок 89. 00:03:31
    Passing props, and re-passing, and passing again... it must have a better way
  • Урок 90. 00:07:30
    Passing values and functions from one side to another using use Context
  • Урок 91. 00:01:39
    Refactoring our use Context to its own file
  • Урок 92. 00:04:31
    Persisting our to-do in local storage
  • Урок 93. 00:11:20
    Adding a new to-do to local storage
  • Урок 94. 00:05:06
    Close the modal and cleaning up the fields for a new entry
  • Урок 95. 00:03:46
    Passing the Edit Function using use Context
  • Урок 96. 00:04:51
    Editing our list of to-dos
  • Урок 97. 00:05:22
    Pre-populating the modal before open
  • Урок 98. 00:17:40
    Re-utilizing the Add modal to Edit
  • Урок 99. 00:04:59
    Moving an edit to-do from one group to another
  • Урок 100. 00:06:42
    Implement the duplicate functionality
  • Урок 101. 00:15:30
    Refactoring to-do management to a massive new custom hook
  • Урок 102. 00:08:35
    Understand per value and per reference
  • Урок 103. 00:10:33
    Finally use Reducer
  • Урок 104. 00:06:21
    From exporting 8 functions and states to export only state and dispatch
  • Урок 105. 00:12:04
    Refactoring to-dos to a use Reducer hook
  • Урок 106. 00:10:04
    Using dispatch to change the state
  • Урок 107. 00:06:20
    Using our new massive new hook
  • Урок 108. 00:06:49
    Fixing the modal to use state and dispatch
  • Урок 109. 00:06:24
    Calling functions inside our Reducer
  • Урок 110. 00:05:14
    The satisfaction of the victory
  • Урок 111. 00:00:53
    Quick clean up
  • Урок 112. 00:06:49
    Refactoring the search bar into a custom hook
  • Урок 113. 00:04:35
    Creating a local storage hook for our to-dos
  • Урок 114. 00:05:46
    Making our use Local Storage very generic using callback functions
  • Урок 115. 00:04:53
    Introduction to Drag'n'drop
  • Урок 116. 00:06:13
    Finding the element we need to delete
  • Урок 117. 00:04:22
    Dispatching a new action to remove the to-do from the group
  • Урок 118. 00:06:18
    Removing the element from the local storage and UI... but then...
  • Урок 119. 00:03:09
    React vs UIkit who will win the DOM manipulation?
  • Урок 120. 00:05:52
    Finding the correct to-do to add
  • Урок 121. 00:07:25
    Adding to-do to local storage, but wait
  • Урок 122. 00:03:51
    Finish our Drag'n'Drop between groups
  • Урок 123. 00:06:43
    Taking care of the moving event
  • Урок 124. 00:10:23
    Implementing the move reducer
  • Урок 125. 00:06:42
    The art of debugging
  • Урок 126. 00:12:06
    Keep our to-dos safe in local storage using hooks
  • Урок 127. 00:10:32
    Deleting elements in a multidimensional array
  • Урок 128. 00:03:31
    Passing props, and re-passing, and passing again... It must have a better way
  • Урок 129. 00:07:30
    Passing values and functions from one side to another using use Context
  • Урок 130. 00:01:39
    Refactoring our use Context to its own file
  • Урок 131. 00:04:31
    Persisting our to-do in local storage
  • Урок 132. 00:11:20
    Adding a new to-do in local storage
  • Урок 133. 00:05:06
    Closing the modal and cleaning up the fields for a new entry
  • Урок 134. 00:03:46
    Passing the Edit function using use Context
  • Урок 135. 00:04:51
    Editing our list of to-dos
  • Урок 136. 00:05:22
    Pre populating the modal before open
  • Урок 137. 00:17:40
    Re-utilizing the Add modal to Edit
  • Урок 138. 00:04:59
    Moving an edit to-do from one group to another
  • Урок 139. 00:06:42
    Implementing the duplicate functionality
  • Урок 140. 00:15:30
    Refactoring to-do management to a massive new custom hook
  • Урок 141. 00:08:35
    Understand per value and per reference
  • Урок 142. 00:10:33
    Finally use Reducer
  • Урок 143. 00:12:04
    Refactoring to-dos to a use Reducer hook
  • Урок 144. 00:06:21
    From exporting 8 functions and states to export only state and dispatch
  • Урок 145. 00:06:20
    Using our new massive new hook
  • Урок 146. 00:10:04
    Using dispatch to change the state
  • Урок 147. 00:06:49
    Fixing the modal to use state and dispatch
  • Урок 148. 00:06:24
    Calling functions inside our Reducer
  • Урок 149. 00:05:14
    The satisfaction of the victory
  • Урок 150. 00:00:53
    Quick clean up
  • Урок 151. 00:06:49
    Refactoring the search bar into a custom hook
  • Урок 152. 00:04:35
    Creating a local storage hook for our to-dos
  • Урок 153. 00:05:46
    Making our useLocalStorage very generic using callback functions
  • Урок 154. 00:04:53
    Introduction to Drag'n'Drop
  • Урок 155. 00:06:13
    Finding the element we need to delete
  • Урок 156. 00:04:22
    Dispatching a new action to remove the to-do from the group
  • Урок 157. 00:03:09
    ?Removing the element from the local storage and UI... but then...
  • Урок 158. 00:03:09
    React vs UIkit who will win with the DOM manipulation?
  • Урок 159. 00:05:55
    Finding the correct to-do to add
  • Урок 160. 00:07:25
    Adding to-do to local storage, but wait
  • Урок 161. 00:03:51
    Finishing our Drag'n'Drop between groups
  • Урок 162. 00:06:43
    Taking care of the moving event
  • Урок 163. 00:10:23
    Implementing the move reducer
  • Урок 164. 00:06:42
    The art of debugging
  • Урок 165. 00:07:34
    Use Callback, solving some of our warnings with use Callback
  • Урок 166. 00:06:07
    Code clean up, removing all warnings and using use Callback to do so
  • Урок 167. 00:01:29
    Installing Axios
  • Урок 168. 00:07:57
    Using Axios to make a GET request to our endpoint
  • Урок 169. 00:04:00
    From Deno to our Local Storage
  • Урок 170. 00:12:51
    Reconstructing our flattened array to a 3 Dimensional array
  • Урок 171. 00:03:53
    Fixing the new error that happened when you started using the new data
  • Урок 172. 00:10:49
    Fixing issues with different types of ID's
  • Урок 173. 00:05:37
    More use Callback, it is like someone called it back again (got it?)
  • Урок 174. 00:07:48
    Creating a useReact Middleware httpDispatchMiddlware
  • Урок 175. 00:06:19
    Enriching the delete todo dispatch payload
  • Урок 176. 00:03:53
    Removing unnecessary data from the duplicate todo before post it
  • Урок 177. 00:06:35
    Our first post to our Deno API
  • Урок 178. 00:05:53
    Adding the new Todo in local storage as well
  • Урок 179. 00:03:00
    Understanding NGINX
  • Урок 180. 00:05:29
    Creating the NGINX container
  • Урок 181. 00:04:53
    Proxying the react app using NGINX
  • Урок 182. 00:02:14
    Proxying the requests to the Backend using NGINX
  • Урок 183. 00:01:27
    Fixing the frontend requests to the backend
  • Урок 184. 00:03:34
    Removing external connections and CORS to make our application safer
  • Урок 185. 00:02:52
    Configuring VSCode Prettier
  • Урок 186. 00:04:21
    Emmet and speed up coding
  • Урок 187. 00:01:45
    Add extension tools for chrome
  • Урок 188. 00:01:11
    Installing Docker Extension
  • Урок 189. 00:02:18
    Connecting to MongoDB inside Docker using Compass
  • Урок 190. 00:02:08
    Using MongoDB Compass - Update, Delete, Clone, Drop Collections and Databases
  • Урок 191. 00:01:34
    Installing Brew on Mac
  • Урок 192. 00:02:27
    Installing Docker
  • Урок 193. 00:04:41
    Installing Deno and Denon on Mac
  • Урок 194. 00:04:11
    Installing Node, Chrome, VSCode, Yarn
  • Урок 195. 00:01:36
    MongoDB Compass
  • Урок 196. 00:01:32
    Install Postman
  • Урок 197. 00:10:57
    Installing VSCode modules
  • Урок 198. 00:02:02
    Installing Docker
  • Урок 199. 00:01:48
    Installing Hyper-V for Docker (optional)
  • Урок 200. 00:01:36
    Installing Linux Kernel Update Package (WSL 2) on windows for Docker (optional)
  • Урок 201. 00:03:45
    Installing Node
  • Урок 202. 00:01:53
    Installing Visual Code Insiders
  • Урок 203. 00:01:18
    Installing Postman
  • Урок 204. 00:01:51
    Installing Compass
  • Урок 205. 00:00:56
    Installing Chrome Canary