Урок 1.00:01:27
Course introduction
Урок 2.00:01:52
Async for taking full advantage of modern CPUs
Урок 3.00:04:53
Topics covered
Урок 4.00:00:45
Student prerequisites
Урок 5.00:00:49
Meet your instructor
Урок 6.00:02:05
Video player: A quick feature tour
Урок 7.00:01:40
Do you have Python 3?
Урок 8.00:00:39
Getting Python 3
Урок 9.00:00:54
Recommended text editor
Урок 10.00:01:14
Hardware requirements
Урок 11.00:01:02
Get the source code
Урок 12.00:03:43
Async for computational speed
Урок 13.00:03:55
Demo: Why you need async for speed
Урок 14.00:03:53
An upper bound for async speed improvement
Урок 15.00:01:50
Async for scalability
Урок 16.00:03:34
Concept: Visualizing a synchronous request
Урок 17.00:02:15
Concept: Visualizing an asynchronous request
Урок 18.00:04:25
Python's async landscape
Урок 19.00:02:53
Why threads don't perform in Python
Урок 20.00:01:16
Python async landscape: asyncio
Урок 21.00:03:51
I/O-driven concurrency
Урок 22.00:09:05
Demo: Understanding basic generators
Урок 23.00:03:08
Demo: The producer-consumer app
Урок 24.00:05:36
Demo: Make the producer-consumer async
Урок 25.00:07:17
Demo: Make the producer-consumer async (methods)
Урок 26.00:01:18
Concept: asyncio
Урок 27.00:01:47
Performance improvements of producer consumer with asyncio
Урок 28.00:04:38
Faster asyncio loops with uvloop
Урок 29.00:01:07
Let's do some real work
Урок 30.00:03:09
Synchronous web scraping
Урок 31.00:09:17
async web scraping
Урок 32.00:01:25
Concept: async web scraping
Урок 33.00:03:42
Other async-enabled libraries
Урок 34.00:01:07
Python async landscape: Threads
Урок 35.00:01:13
Visual of thread execution
Урок 36.00:02:34
How to choose between asyncio and threads
Урок 37.00:05:00
Demo: hello threads
Урок 38.00:03:53
Demo: Waiting on more than one thread
Урок 39.00:03:10
Demo: Something productive with threads
Урок 40.00:01:42
Concept: Thread API
Урок 41.00:00:42
Concept: Tips for multiple threads
Урок 42.00:06:02
Cancelling threads with user input
Урок 43.00:01:22
Concept: Timeouts
Урок 44.00:05:46
Demo: Attempting to leverage multiple cores with threads
Урок 45.00:00:47
Python async landscape: Thread Safety landscape
Урок 46.00:01:28
Threads are dangerous
Урок 47.00:03:35
Visualizing the need for thread safety
Урок 48.00:05:05
Demo: An unsafe bank
Урок 49.00:04:35
Demo: Make the bank safe (global)
Урок 50.00:01:45
Demo: A missed lock in our bank (global)
Урок 51.00:05:50
Demo: Make the bank safe (fine-grained)
Урок 52.00:03:45
Demo: Breaking a deadlock
Урок 53.00:01:43
Concept: Basic thread safety
Урок 54.00:01:03
Python async landscape: multiprocessing
Урок 55.00:01:52
Introduction to scaling CPU-bound operations
Урок 56.00:04:56
Demo: Scaling CPU-bound operations with multiprocessing
Урок 57.00:01:22
Concept: Scaling CPU-bound operations
Урок 58.00:02:19
Multiprocessing return values
Урок 59.00:01:00
Concept: Return values
Урок 60.00:01:51
Python async landscape: Execution pools
Урок 61.00:02:22
Demo: Executor app introduction
Урок 62.00:06:45
Demo: Executor app (threaded-edition)
Урок 63.00:01:47
Demo: Executor app (process-edition)
Урок 64.00:01:43
Concept: Execution pools
Урок 65.00:01:32
Python async landscape: asyncio derivatives
Урок 66.00:04:32
Why do we need more libraries?
Урок 67.00:02:22
Introducing unsync
Урок 68.00:04:22
Demo: unsync app introduction
Урок 69.00:05:55
Demo: unsync app for mixed-mode parallelism
Урок 70.00:03:11
Concept: Mixed-mode parallelism with unsync
Урок 71.00:01:11
Introducing Trio
Урок 72.00:01:02
Demo: Starter code for Trio app
Урок 73.00:04:54
Demo: Converting from asyncio to Trio
Урок 74.00:01:57
Demo: Cancellation with Trio
Урок 75.00:01:17
Concept: Trio nurseries
Урок 76.00:00:56
The trio-async package
Урок 77.00:01:21
Python async landscape: Async web
Урок 78.00:01:32
Review: Request latency again
Урок 79.00:05:02
Demo: Introducing our Flask API
Урок 80.00:01:51
There is no async support for Flask
Урок 81.00:01:06
Demo: Introducing Quart for async Flask
Урок 82.00:01:30
Demo: Converting from Flask to Quart
Урок 83.00:04:39
Demo: Making our API async
Урок 84.00:01:34
Demo: An async weather endpoint
Урок 85.00:02:37
Concept: Flask to Quart
Урок 86.00:02:01
Load testing web apps with wrk
Урок 87.00:03:17
A note about rate limiting with external services
Урок 88.00:03:33
Performance results
Урок 89.00:01:42
Remember to run on an ASGI server
Урок 90.00:01:32
Python async landscape: Cython
Урок 91.00:01:45
C and Python are friends
Урок 92.00:03:00
Why Cython
Урок 93.00:02:27
Cython syntax compared
Урок 94.00:05:37
Demo: Hello Cython
Урок 95.00:01:12
Concept: Getting started with Cython
Урок 96.00:02:47
Demo: Fast threading with cython (app review)
Урок 97.00:01:40
Demo: Fast threading with Cython (hotspot)
Урок 98.00:02:20
Demo: Fast threading with Cython (conversion)
Урок 99.00:04:06
Demo: Fast threading with Cython (GIL-less)
Урок 100.00:02:53
Demo: Fast threading with Cython (int overflow issues)
Урок 101.00:01:25
Concept: Cython's nogil
Урок 102.00:00:35
The finish line
Урок 103.00:02:01
Review: Why async?
Урок 104.00:01:04
Review: asyncio
Урок 105.00:01:19
Review: Threads
Урок 106.00:02:17
Review: Thread safety
Урок 107.00:02:14
Review: multiprocessing
Урок 108.00:01:45
Review: Execution pools
Урок 109.00:01:59
Review: Mixed-mode parallelism
Урок 110.00:01:35
Review: Coordination with Trio
Урок 111.00:01:18
Review: Async Flask
Урок 112.00:01:39
Review: Cython
Урок 113.00:00:17
Thanks and goodbye