1. Урок 1. 00:01:27
    Course introduction
  2. Урок 2. 00:01:52
    Async for taking full advantage of modern CPUs
  3. Урок 3. 00:04:53
    Topics covered
  4. Урок 4. 00:00:45
    Student prerequisites
  5. Урок 5. 00:00:49
    Meet your instructor
  6. Урок 6. 00:02:05
    Video player: A quick feature tour
  7. Урок 7. 00:01:40
    Do you have Python 3?
  8. Урок 8. 00:00:39
    Getting Python 3
  9. Урок 9. 00:00:54
    Recommended text editor
  10. Урок 10. 00:01:14
    Hardware requirements
  11. Урок 11. 00:01:02
    Get the source code
  12. Урок 12. 00:03:43
    Async for computational speed
  13. Урок 13. 00:03:55
    Demo: Why you need async for speed
  14. Урок 14. 00:03:53
    An upper bound for async speed improvement
  15. Урок 15. 00:01:50
    Async for scalability
  16. Урок 16. 00:03:34
    Concept: Visualizing a synchronous request
  17. Урок 17. 00:02:15
    Concept: Visualizing an asynchronous request
  18. Урок 18. 00:04:25
    Python's async landscape
  19. Урок 19. 00:02:53
    Why threads don't perform in Python
  20. Урок 20. 00:01:16
    Python async landscape: asyncio
  21. Урок 21. 00:03:51
    I/O-driven concurrency
  22. Урок 22. 00:09:05
    Demo: Understanding basic generators
  23. Урок 23. 00:03:08
    Demo: The producer-consumer app
  24. Урок 24. 00:05:36
    Demo: Make the producer-consumer async
  25. Урок 25. 00:07:17
    Demo: Make the producer-consumer async (methods)
  26. Урок 26. 00:01:18
    Concept: asyncio
  27. Урок 27. 00:01:47
    Performance improvements of producer consumer with asyncio
  28. Урок 28. 00:04:38
    Faster asyncio loops with uvloop
  29. Урок 29. 00:01:07
    Let's do some real work
  30. Урок 30. 00:03:09
    Synchronous web scraping
  31. Урок 31. 00:09:17
    async web scraping
  32. Урок 32. 00:01:25
    Concept: async web scraping
  33. Урок 33. 00:03:42
    Other async-enabled libraries
  34. Урок 34. 00:01:07
    Python async landscape: Threads
  35. Урок 35. 00:01:13
    Visual of thread execution
  36. Урок 36. 00:02:34
    How to choose between asyncio and threads
  37. Урок 37. 00:05:00
    Demo: hello threads
  38. Урок 38. 00:03:53
    Demo: Waiting on more than one thread
  39. Урок 39. 00:03:10
    Demo: Something productive with threads
  40. Урок 40. 00:01:42
    Concept: Thread API
  41. Урок 41. 00:00:42
    Concept: Tips for multiple threads
  42. Урок 42. 00:06:02
    Cancelling threads with user input
  43. Урок 43. 00:01:22
    Concept: Timeouts
  44. Урок 44. 00:05:46
    Demo: Attempting to leverage multiple cores with threads
  45. Урок 45. 00:00:47
    Python async landscape: Thread Safety landscape
  46. Урок 46. 00:01:28
    Threads are dangerous
  47. Урок 47. 00:03:35
    Visualizing the need for thread safety
  48. Урок 48. 00:05:05
    Demo: An unsafe bank
  49. Урок 49. 00:04:35
    Demo: Make the bank safe (global)
  50. Урок 50. 00:01:45
    Demo: A missed lock in our bank (global)
  51. Урок 51. 00:05:50
    Demo: Make the bank safe (fine-grained)
  52. Урок 52. 00:03:45
    Demo: Breaking a deadlock
  53. Урок 53. 00:01:43
    Concept: Basic thread safety
  54. Урок 54. 00:01:03
    Python async landscape: multiprocessing
  55. Урок 55. 00:01:52
    Introduction to scaling CPU-bound operations
  56. Урок 56. 00:04:56
    Demo: Scaling CPU-bound operations with multiprocessing
  57. Урок 57. 00:01:22
    Concept: Scaling CPU-bound operations
  58. Урок 58. 00:02:19
    Multiprocessing return values
  59. Урок 59. 00:01:00
    Concept: Return values
  60. Урок 60. 00:01:51
    Python async landscape: Execution pools
  61. Урок 61. 00:02:22
    Demo: Executor app introduction
  62. Урок 62. 00:06:45
    Demo: Executor app (threaded-edition)
  63. Урок 63. 00:01:47
    Demo: Executor app (process-edition)
  64. Урок 64. 00:01:43
    Concept: Execution pools
  65. Урок 65. 00:01:32
    Python async landscape: asyncio derivatives
  66. Урок 66. 00:04:32
    Why do we need more libraries?
  67. Урок 67. 00:02:22
    Introducing unsync
  68. Урок 68. 00:04:22
    Demo: unsync app introduction
  69. Урок 69. 00:05:55
    Demo: unsync app for mixed-mode parallelism
  70. Урок 70. 00:03:11
    Concept: Mixed-mode parallelism with unsync
  71. Урок 71. 00:01:11
    Introducing Trio
  72. Урок 72. 00:01:02
    Demo: Starter code for Trio app
  73. Урок 73. 00:04:54
    Demo: Converting from asyncio to Trio
  74. Урок 74. 00:01:57
    Demo: Cancellation with Trio
  75. Урок 75. 00:01:17
    Concept: Trio nurseries
  76. Урок 76. 00:00:56
    The trio-async package
  77. Урок 77. 00:01:21
    Python async landscape: Async web
  78. Урок 78. 00:01:32
    Review: Request latency again
  79. Урок 79. 00:05:02
    Demo: Introducing our Flask API
  80. Урок 80. 00:01:51
    There is no async support for Flask
  81. Урок 81. 00:01:06
    Demo: Introducing Quart for async Flask
  82. Урок 82. 00:01:30
    Demo: Converting from Flask to Quart
  83. Урок 83. 00:04:39
    Demo: Making our API async
  84. Урок 84. 00:01:34
    Demo: An async weather endpoint
  85. Урок 85. 00:02:37
    Concept: Flask to Quart
  86. Урок 86. 00:02:01
    Load testing web apps with wrk
  87. Урок 87. 00:03:17
    A note about rate limiting with external services
  88. Урок 88. 00:03:33
    Performance results
  89. Урок 89. 00:01:42
    Remember to run on an ASGI server
  90. Урок 90. 00:01:32
    Python async landscape: Cython
  91. Урок 91. 00:01:45
    C and Python are friends
  92. Урок 92. 00:03:00
    Why Cython
  93. Урок 93. 00:02:27
    Cython syntax compared
  94. Урок 94. 00:05:37
    Demo: Hello Cython
  95. Урок 95. 00:01:12
    Concept: Getting started with Cython
  96. Урок 96. 00:02:47
    Demo: Fast threading with cython (app review)
  97. Урок 97. 00:01:40
    Demo: Fast threading with Cython (hotspot)
  98. Урок 98. 00:02:20
    Demo: Fast threading with Cython (conversion)
  99. Урок 99. 00:04:06
    Demo: Fast threading with Cython (GIL-less)
  100. Урок 100. 00:02:53
    Demo: Fast threading with Cython (int overflow issues)
  101. Урок 101. 00:01:25
    Concept: Cython's nogil
  102. Урок 102. 00:00:35
    The finish line
  103. Урок 103. 00:02:01
    Review: Why async?
  104. Урок 104. 00:01:04
    Review: asyncio
  105. Урок 105. 00:01:19
    Review: Threads
  106. Урок 106. 00:02:17
    Review: Thread safety
  107. Урок 107. 00:02:14
    Review: multiprocessing
  108. Урок 108. 00:01:45
    Review: Execution pools
  109. Урок 109. 00:01:59
    Review: Mixed-mode parallelism
  110. Урок 110. 00:01:35
    Review: Coordination with Trio
  111. Урок 111. 00:01:18
    Review: Async Flask
  112. Урок 112. 00:01:39
    Review: Cython
  113. Урок 113. 00:00:17
    Thanks and goodbye