💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide.
If your software interacts with external APIs, you need to know concurrent programming. I show you how it works in Python and then take it to the next level by showing advanced concurrent features such as using async with generators and comprehensions, show a simple way to turn blocking code into concurrent code, and then I cover how concurrency affects software design and architecture.
The code I worked on in this episode is available here: https://github.com/ArjanCodes/2022-asyncio.
🎓 ArjanCodes Courses: https://www.arjancodes.com/courses.
💬 Join my Discord server: https://discord.arjan.codes.
⌨️ Keyboard I’m using: https://amzn.to/49YM97v.
🔖 Chapters:
0:00 Intro
1:10 Concurrency vs parallelism
2:33 The Global Interpreter Lock
3:06 The benefits of concurrency
4:36 Recap of asyncio in Python
7:13 Using gather to send out multiple requests
9:44 How async and await are integrated into Python's syntax
11:54 Turn blocking code into concurrent code
16:04 Async http requests
16:53 Aiohttp
17:50 Concurrency, design patterns, and architecture
#arjancodes #softwaredesign #python