Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Working with React and Go (Golang), а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:06:13
    Welcome
  • Урок 2. 00:01:02
    A bit about me
  • Урок 3. 00:01:15
    Asking for help
  • Урок 4. 00:01:07
    Mistakes: we all make them.
  • Урок 5. 00:01:02
    Installing Node
  • Урок 6. 00:01:28
    Installing Go
  • Урок 7. 00:01:57
    Installing Visual Studio Code
  • Урок 8. 00:00:52
    Installing Docker
  • Урок 9. 00:13:42
    How React works
  • Урок 10. 00:05:00
    Hello world with React using Classes
  • Урок 11. 00:06:43
    Hello world with React using functional components
  • Урок 12. 00:03:52
    Styling Components
  • Урок 13. 00:03:09
    Using Bootstrap CSS
  • Урок 14. 00:04:58
    Using props: passing data to components
  • Урок 15. 00:09:20
    React and State I
  • Урок 16. 00:06:48
    React and State II
  • Урок 17. 00:09:24
    React and State III
  • Урок 18. 00:06:19
    React and State IV
  • Урок 19. 00:06:46
    React and State V
  • Урок 20. 00:03:22
    Intercepting form submissions with onSubmit()
  • Урок 21. 00:05:53
    handleSubmit() continued
  • Урок 22. 00:03:30
    Ref: using references in React
  • Урок 23. 00:03:21
    References with components: forwardRef()
  • Урок 24. 00:14:00
    Class Lifecycle
  • Урок 25. 00:02:49
    Getting started with our project
  • Урок 26. 00:11:38
    Setting up the application layout
  • Урок 27. 00:03:58
    Getting started with React Router v6
  • Урок 28. 00:07:15
    Configuring React Router
  • Урок 29. 00:10:24
    Using React Router's Link
  • Урок 30. 00:07:49
    Working on the Movies component
  • Урок 31. 00:02:23
    Routing from the Movies component to individual movies
  • Урок 32. 00:05:30
    Displaying an individual movie
  • Урок 33. 00:05:12
    Working on the Login button
  • Урок 34. 00:12:46
    Creating the login form
  • Урок 35. 00:04:27
    Giving the Login component access to setJWT
  • Урок 36. 00:09:02
    Adding error messages and redirects to the Login component
  • Урок 37. 00:02:35
    Logging out
  • Урок 38. 00:09:56
    Starting the back end API
  • Урок 39. 00:06:56
    Adding handlers and routes to our API
  • Урок 40. 00:04:12
    Installing a routing package
  • Урок 41. 00:02:43
    Adding a route to our handlers
  • Урок 42. 00:06:03
    Returning JSON from our API
  • Урок 43. 00:10:52
    Returning a list of movies as JSON
  • Урок 44. 00:04:47
    Connecting the front end to the back end API
  • Урок 45. 00:07:05
    Enabling CORS middleware
  • Урок 46. 00:02:51
    Enabling React's proxy to the back end API
  • Урок 47. 00:06:13
    Setting up our database using Docker
  • Урок 48. 00:03:25
    Getting started connecting our API to Postgres
  • Урок 49. 00:09:03
    Installing a database driver and connecting to Postgres
  • Урок 50. 00:16:00
    Setting up a database repository I
  • Урок 51. 00:05:40
    Setting up a database repository II
  • Урок 52. 00:03:07
    Improving the allMovies handler to use our database
  • Урок 53. 00:07:11
    Setting up utils.go and a writeJSON helper function
  • Урок 54. 00:06:20
    Adding a readJSON helper function
  • Урок 55. 00:02:23
    Adding an errorJSON helper function
  • Урок 56. 00:01:32
    Using our errorJSON helper function
  • Урок 57. 00:08:10
    Installing a JWT package
  • Урок 58. 00:13:12
    Generating tokens
  • Урок 59. 00:06:10
    Setting default values for JWT tokens
  • Урок 60. 00:03:43
    Creating a handler to generate a JWT
  • Урок 61. 00:02:14
    Trying out our handler
  • Урок 62. 00:05:47
    Generate refresh token cookie
  • Урок 63. 00:02:08
    Reading a JSON payload in the authenticate handler
  • Урок 64. 00:07:46
    Looking up a user by email
  • Урок 65. 00:06:42
    Validating a password
  • Урок 66. 00:08:46
    Updating the Login component on the front end
  • Урок 67. 00:10:12
    Refresh tokens I
  • Урок 68. 00:04:19
    Refresh tokens II
  • Урок 69. 00:05:32
    Refresh tokens III
  • Урок 70. 00:09:00
    Refresh tokens IV
  • Урок 71. 00:09:34
    Refresh tokens V
  • Урок 72. 00:13:43
    Protecting routes using JWT tokens
  • Урок 73. 00:02:44
    Authentication middleware
  • Урок 74. 00:03:10
    Adding our middleware to routes
  • Урок 75. 00:09:13
    Trying our our protected routes
  • Урок 76. 00:04:13
    Starting on the Add/Edit movie component
  • Урок 77. 00:05:31
    Creating a select component
  • Урок 78. 00:03:04
    Creating a checkbox component
  • Урок 79. 00:13:52
    Using our input controls to create the edit movie form
  • Урок 80. 00:09:01
    Continuing to work on the EditMovie component
  • Урок 81. 00:19:34
    Getting a movie and Genres from the database
  • Урок 82. 00:08:37
    Creating handlers to get movies for public and admin
  • Урок 83. 00:08:52
    Displaying a movie to the public on the front end
  • Урок 84. 00:07:30
    Getting started with showing genres on the Add/Edit movie component
  • Урок 85. 00:18:32
    Adding checkboxes for genres to the front end form
  • Урок 86. 00:04:59
    Enabling checkbox clicks on the EditMovie component
  • Урок 87. 00:05:48
    Validation I
  • Урок 88. 00:06:17
    Validation II
  • Урок 89. 00:04:18
    Creating a database method to insert a movie
  • Урок 90. 00:03:04
    Creating a handler to insert a movie
  • Урок 91. 00:12:35
    Getting a movie image from a remote API I
  • Урок 92. 00:02:36
    Getting a movie image from a remote API II
  • Урок 93. 00:05:52
    Handling genres when inserting a movie
  • Урок 94. 00:07:38
    Inserting a movie from the front end
  • Урок 95. 00:02:36
    Trying out adding a movie
  • Урок 96. 00:10:02
    Editing an existing movie I
  • Урок 97. 00:01:52
    Editing an existing movie II
  • Урок 98. 00:03:19
    Editing an existing movie III
  • Урок 99. 00:05:26
    Writing the handler to update a movie
  • Урок 100. 00:03:32
    Trying out editing a movie from the front end
  • Урок 101. 00:06:20
    Getting started with deleting a movie
  • Урок 102. 00:02:02
    Deleting a movie II
  • Урок 103. 00:02:37
    Deleting a movie III
  • Урок 104. 00:01:44
    Deleting a movie IV
  • Урок 105. 00:04:25
    Getting started with listing movies by Genre
  • Урок 106. 00:03:15
    Creating a handler to list movies by Genre
  • Урок 107. 00:08:41
    Modifying the front end to list movies by Genre
  • Урок 108. 00:10:50
    Creating the OneGenre component
  • Урок 109. 00:09:29
    Getting started with GraphQL
  • Урок 110. 00:11:43
    GraphQL II
  • Урок 111. 00:04:36
    GraphQL III
  • Урок 112. 00:05:38
    Creating a handler for GraphQL
  • Урок 113. 00:15:59
    Connecting to our GraphQL endpoint from the front end
  • Урок 114. 00:07:14
    Adding search functionality
  • Урок 115. 00:07:11
    Configuring environment variables with .env
  • Урок 116. 00:03:36
    Preparing the back end for deployment
  • Урок 117. 00:02:16
    Dumping our database for the live server
  • Урок 118. 00:05:46
    Copying files to the server for deployment
  • Урок 119. 00:06:28
    Populating the database on the live server
  • Урок 120. 00:07:44
    Starting our back end with Supervisor
  • Урок 121. 00:07:46
    Configuring Caddy
  • Урок 122. 00:02:27
    Trying out our live application
  • Урок 123. 00:03:23
    Fixing the Genres component
  • Урок 124. 00:04:03
    Introduction
  • Урок 125. 00:00:53
    A bit about me
  • Урок 126. 00:01:45
    How to ask for help
  • Урок 127. 00:01:30
    Installing node.js and an IDE
  • Урок 128. 00:02:53
    Installing Postgres
  • Урок 129. 00:00:51
    Installing Go
  • Урок 130. 00:03:36
    How React Works
  • Урок 131. 00:01:09
    How to use the downloadable code
  • Урок 132. 00:02:34
    Our first React app
  • Урок 133. 00:10:53
    The obligatory "Hello, world" app
  • Урок 134. 00:07:10
    Working with components
  • Урок 135. 00:05:03
    Styling components
  • Урок 136. 00:04:38
    Using a CSS Framework
  • Урок 137. 00:03:18
    More about the CSS Framework
  • Урок 138. 00:04:16
    Components and props
  • Урок 139. 00:02:40
    More about props
  • Урок 140. 00:06:32
    React Events
  • Урок 141. 00:04:31
    More events
  • Урок 142. 00:05:19
    Refs
  • Урок 143. 00:08:25
    Simplifying things with state
  • Урок 144. 00:09:39
    More about state: lifting state to share data between components
  • Урок 145. 00:06:08
    Functional components
  • Урок 146. 00:02:09
    Cleaning things up
  • Урок 147. 00:02:24
    What are we going to create?
  • Урок 148. 00:15:14
    Creating our front end application and introducting the React Router
  • Урок 149. 00:02:25
    Routing to a component
  • Урок 150. 00:01:14
    Challenge: Route to components
  • Урок 151. 00:02:53
    Solution to Challenge
  • Урок 152. 00:07:41
    More about routing (and a bit about the React lifecycle)
  • Урок 153. 00:05:15
    More about routing Part II
  • Урок 154. 00:10:57
    More about routing Part III
  • Урок 155. 00:06:29
    Displaying one movie
  • Урок 156. 00:02:07
    Installing the necessary software
  • Урок 157. 00:12:17
    Setting up the Go project
  • Урок 158. 00:14:14
    Installing a router and creating better handlers
  • Урок 159. 00:05:19
    Models
  • Урок 160. 00:11:44
    Setting up a simple API route
  • Урок 161. 00:03:32
    Improved error handling
  • Урок 162. 00:01:41
    Creating the database
  • Урок 163. 00:08:01
    Creating our connection pool and connecting to the database
  • Урок 164. 00:12:13
    Database functions & a challenge
  • Урок 165. 00:08:50
    Solution to challenge
  • Урок 166. 00:02:33
    An aside: cleaning up our JSON feed
  • Урок 167. 00:09:27
    Getting all movies as JSON
  • Урок 168. 00:02:00
    Next Steps
  • Урок 169. 00:03:47
    Setting up CORS middleware
  • Урок 170. 00:05:05
    Getting the list of movies
  • Урок 171. 00:05:55
    Checking for errors
  • Урок 172. 00:08:11
    Displaying one movie
  • Урок 173. 00:07:40
    Getting started with Movies by Genre
  • Урок 174. 00:05:52
    Getting Genres from back end
  • Урок 175. 00:03:19
    Displaying the list of Genres
  • Урок 176. 00:06:11
    Getting movies by Genre
  • Урок 177. 00:06:24
    Displaying movies by Genre
  • Урок 178. 00:03:50
    Showing Genre name - an alternative to lifting state
  • Урок 179. 00:02:57
    Code clean up
  • Урок 180. 00:11:59
    Building a form in React
  • Урок 181. 00:10:57
    Making our form a controlled component, and binding it to state
  • Урок 182. 00:07:33
    Making form inputs reusable components and a Challenge
  • Урок 183. 00:01:09
    Solution to Challenge
  • Урок 184. 00:07:24
    Creating a reusable select component
  • Урок 185. 00:08:09
    Prepopulating the form with an existing movie
  • Урок 186. 00:07:49
    Sending data to the REST back end
  • Урок 187. 00:07:06
    Client side form validation
  • Урок 188. 00:16:49
    Receiving data on the REST back end
  • Урок 189. 00:09:10
    Providing feedback with a reusable alert
  • Урок 190. 00:06:12
    Editing an existing movie
  • Урок 191. 00:05:02
    Deleting a movie
  • Урок 192. 00:06:01
    Adding a confirmation step when deleting movies
  • Урок 193. 00:03:31
    Implementing delete on the back end
  • Урок 194. 00:06:11
    Connecting our delete button to the REST back end
  • Урок 195. 00:02:29
    Challenge: displaying list of movies to edit
  • Урок 196. 00:01:12
    Solution to challenge
  • Урок 197. 00:15:34
    Generating JSON Web Tokens on the back end
  • Урок 198. 00:19:25
    Changing App to a component, and setting up state
  • Урок 199. 00:06:15
    Getting the JSON Web Token from the back end
  • Урок 200. 00:04:01
    Handling a successful login
  • Урок 201. 00:18:14
    Adding middleware to check for a valid token
  • Урок 202. 00:07:30
    Protecting the route on our front end
  • Урок 203. 00:02:59
    Adding redirects for protected components
  • Урок 204. 00:01:39
    Challenge
  • Урок 205. 00:02:27
    Solution to Challenge
  • Урок 206. 00:06:28
    Saving our token when the user leaves the site
  • Урок 207. 00:04:37
    Making better error responses from our back end
  • Урок 208. 00:05:07
    Adding images
  • Урок 209. 00:01:33
    What is GraphQL?
  • Урок 210. 00:15:33
    Setting up a schema and REST endpoint for GraphQL
  • Урок 211. 00:05:58
    Handling the GraphQL request
  • Урок 212. 00:11:38
    Implementing GraphQL requests for all movies
  • Урок 213. 00:05:33
    Adding a search endpoint
  • Урок 214. 00:08:58
    Implementing GraphQL requests for search on front end
  • Урок 215. 00:02:57
    Displaying one movie using GraphQL
  • Урок 216. 00:06:56
    Updating the front end
  • Урок 217. 00:12:53
    Modifying the back end to handle poster images
  • Урок 218. 00:04:56
    Updating the front end to display the poster image
  • Урок 219. 00:02:53
    Cleaning things up
  • Урок 220. 00:04:05
    Getting the React application ready for deployment
  • Урок 221. 00:02:45
    Building the production ready React application
  • Урок 222. 00:03:04
    Getting the Go project ready for deployment
  • Урок 223. 00:01:30
    Building the Go back end for our remote server
  • Урок 224. 00:02:21
    Copying files to the server
  • Урок 225. 00:03:35
    Setting up the production database
  • Урок 226. 00:10:03
    Setting up the web server
  • Урок 227. 00:04:53
    Running the Go back end with supervisor
  • Урок 228. 00:08:59
    About this section
  • Урок 229. 00:10:28
    Converting the Movies.js component to a function with hooks
  • Урок 230. 00:04:47
    Coverting the Genres.js component to a function with hooks
  • Урок 231. 00:05:25
    Converting the OneMovie.js component to a function
  • Урок 232. 00:07:15
    Converting the OneGenre.js component to a function
  • Урок 233. 00:20:16
    Converting the EditMovie.js component to a function
  • Урок 234. 00:01:45
    Challenge: convert Admin.js to a function
  • Урок 235. 00:02:17
    Solution to challenge
  • Урок 236. 00:10:07
    Convert Login.js to a function
  • Урок 237. 00:07:42
    Convert App.js to a function
  • Урок 238. 00:01:58
    React and Redux