Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Working with Concurrency in Go (Golang), а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:06:01
    Introduction
  • Урок 2. 00:01:02
    A bit about me
  • Урок 3. 00:00:52
    Installing Go
  • Урок 4. 00:01:29
    Installing Visual Studio Code
  • Урок 5. 00:01:28
    Installing Make
  • Урок 6. 00:01:15
    Asking for help
  • Урок 7. 00:01:07
    Mistakes. We all make them.
  • Урок 8. 00:01:04
    What we'll cover in this section
  • Урок 9. 00:06:34
    Creating GoRoutines
  • Урок 10. 00:08:40
    WaitGroups to the rescue
  • Урок 11. 00:06:55
    Writing tests with WaitGroups
  • Урок 12. 00:02:26
    Challenge: working with WaitGroup
  • Урок 13. 00:05:01
    Solution to Challenge
  • Урок 14. 00:04:22
    What we'll cover in this section
  • Урок 15. 00:05:11
    Race Conditions: an example
  • Урок 16. 00:03:26
    Adding sync.Mutex to our code
  • Урок 17. 00:03:40
    Testing for race conditions
  • Урок 18. 00:13:15
    A more complex example
  • Урок 19. 00:03:34
    Writing a test for our weekly income project
  • Урок 20. 00:07:37
    Producer/Consumer - Using Channels for the first time
  • Урок 21. 00:09:58
    Getting started with the Producer - the pizzeria function
  • Урок 22. 00:10:47
    Making a pizza: the makePizza function
  • Урок 23. 00:07:30
    Finishing up the Producer code
  • Урок 24. 00:07:22
    Creating and running the consumer: ordering a pizza
  • Урок 25. 00:04:40
    Finishing up our Producer/Consumer project
  • Урок 26. 00:01:55
    What we'll cover in this section
  • Урок 27. 00:17:54
    Getting started with the problem
  • Урок 28. 00:12:46
    Implementing the diningProblem logic
  • Урок 29. 00:01:21
    Challenge: Printing out the order in which the meal is finished
  • Урок 30. 00:02:44
    Solution to challenge
  • Урок 31. 00:06:36
    Writing a test for our program
  • Урок 32. 00:04:06
    What we'll cover in this section
  • Урок 33. 00:13:49
    Introduction to channels
  • Урок 34. 00:12:12
    The select statement
  • Урок 35. 00:06:18
    Buffered Channels
  • Урок 36. 00:05:34
    Getting started with the Sleeping Barber project
  • Урок 37. 00:08:23
    Defining some variables, the barber shop, and getting started with the code
  • Урок 38. 00:13:26
    Adding a Barber
  • Урок 39. 00:06:24
    Starting the barbershop as a GoRoutine
  • Урок 40. 00:07:54
    Sending clients to the shop
  • Урок 41. 00:04:12
    Trying things out
  • Урок 42. 00:01:20
    What we'll cover in this section
  • Урок 43. 00:08:02
    Setting up a simple web application
  • Урок 44. 00:05:21
    Setting up our Docker development environment
  • Урок 45. 00:08:12
    Adding postgres
  • Урок 46. 00:04:20
    Setting up a Makefile
  • Урок 47. 00:04:40
    Adding sessions & Redis
  • Урок 48. 00:04:40
    Setting up the application config
  • Урок 49. 00:06:27
    Setting up a route & handler for the home page, and starting the web server
  • Урок 50. 00:18:33
    Setting up templates and building a render function
  • Урок 51. 00:02:08
    Adding session middleware
  • Урок 52. 00:05:03
    Setting up additional stub handlers and routes
  • Урок 53. 00:06:38
    Implementing graceful shutdown
  • Урок 54. 00:02:39
    Populating the database
  • Урок 55. 00:07:03
    Adding a data package and database models
  • Урок 56. 00:13:53
    Implementing the login/logout functions
  • Урок 57. 00:01:41
    What we'll cover in this section
  • Урок 58. 00:18:28
    Getting started with the mailer code
  • Урок 59. 00:07:11
    Building HTML and Plain Text messages
  • Урок 60. 00:04:28
    Sending a message (synchronously)
  • Урок 61. 00:07:46
    Getting started sending a message (asynchronously)
  • Урок 62. 00:01:53
    Writing a helper function to send email easily
  • Урок 63. 00:02:56
    Sending an email on incorrect login
  • Урок 64. 00:03:02
    Adding cleanup tasks to the shutdown() function
  • Урок 65. 00:01:01
    What we'll cover in this section
  • Урок 66. 00:05:21
    Adding mail templates and URL signer code
  • Урок 67. 00:09:08
    Starting on the handler to create a user
  • Урок 68. 00:06:01
    Activating a user
  • Урок 69. 00:02:42
    Giving user data to our templates
  • Урок 70. 00:12:38
    Displaying the Subscription Plans page
  • Урок 71. 00:06:45
    Adding a route and trying things out for the "Plans" page
  • Урок 72. 00:03:23
    Writing a stub handler for choosing a plan
  • Урок 73. 00:01:02
    What we'll cover in this section
  • Урок 74. 00:07:41
    Getting the plan id, the plan, and the user
  • Урок 75. 00:09:41
    Generating an Invoice
  • Урок 76. 00:21:11
    Generating a manual
  • Урок 77. 00:12:13
    Trying things out, subscribing a user, updating the session, and redirecting
  • Урок 78. 00:00:53
    What we'll cover in this section
  • Урок 79. 00:08:28
    Setting up our tests
  • Урок 80. 00:08:01
    Testing Routes
  • Урок 81. 00:11:41
    Testing the Renderer
  • Урок 82. 00:14:09
    Modifying the data package to make it testable
  • Урок 83. 00:04:27
    Implementing the PlanTest type
  • Урок 84. 00:14:36
    Getting started testing Handlers
  • Урок 85. 00:13:54
    Testing the Login Handler
  • Урок 86. 00:11:07
    Testing a handler that uses concurrency