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