-
Урок 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