CHAPTER 1 Asyncio 소개
1.1 ThreadsBot 식당 이야기
1.2 에필로그
1.3 Asyncio로 해결할 수 있는 것은?
CHAPTER 2 스레드에 관한 진실
2.1 스레딩의 장점
2.2 스레딩의 단점
2.3 사례 연구: 로봇과 식기
CHAPTER 3 Asyncio 공략
3.1 퀵스타트
3.2 Asyncio의 탑
3.3 코루틴
3.4 이벤트 루프
3.5 Task와 Future
3.6 비동기 콘텍스트 관리자들: async with
3.7 비동기 이터레이터 async for
3.8 비동기 제너레이터를 사용한 더 간단한 코드
3.9 비동기 컴프리헨션
3.10 시작과 종료(부드럽게!
CHAPTER 4 여러분이 사용하지 않는 Asyncio 라이브러리 20개
4.1 표준 라이브러리
4.2 트위스티드
4.3 The Janus 대기열
4.4 aiohttp
4.5 ØMQ(ZeroMQ
4.6 asyncpg와 Sanic
4.7 그 외 라이브러리와 자료
CHAPTER 5 마치며
APPENDIX A 파이썬의 비동기 지원에 대한 역사
A.1 태초에 asyncore가 있었다
A.2 네이티브 코루틴으로 가는 길
APPENDIX B 보충 자료
B.1 Asyncio를 사용하는 식기 예제
B.2 새로운 웹사이트 스크레이퍼에 대한 보충 자료
B.3 ZeroMQ 사례 연구를 위한 보충 자료
B.4 asyncpg 사례 연구를 위한 데이터베이스 트리거 처리
B.5 Sanic 예제를 위한 보충 자료: aelapsed와 aprofiler
Asyncio, 파이썬 비동기 프로그래밍의 이해
파이썬 Asyncio 라이브러리는 많은 개발자가 어려워하는 비동기 프로그래밍의 복잡성을 개선하기 위해 탄생했다. 20년 차 베테랑 파이썬 프로그래머인 저자는 다양한 분야에서 파이썬을 활용한 경험을 살려 파이썬 관련 도서 여러 권을 집필했다.
로봇을 활용하여 식당을 운영하는 가게의 이야기를 본문 앞에 배치해 비동기 프로그래밍의 필요성을 흥미롭게 설명한다. 또한, 파이썬에서 기존에 사용하던 스레드 라이브러리와 새로운 Asyncio 라이브러리를 다양한 예제와 함께 비교 설명한다. async/await 언어의 새로운 문법과 Asyncio와 호환되는 서드파티 라이브러리도 소개하며 실전에서 활용할 수 있도록 돕는다.
책의 내용을 따라 차근차근 Asyncio를 활용해보면 기존 파이썬 작성 방식에서 크게 벗어나지 않으면서도 특정한 상황에서 효율적으로 작업할 수 있게 될 것이다. 나아가 기존의 스레드 프로그래밍에 머물러 있는 사고를 비동기 프로그래밍적인 사고로 전환할 수도 있을 것이다.
주요 내용
파이썬의 새로운 라이브러리 Asyncio 소개
병행 네트워크 프로그래밍에서 Asyncio 라이브러리와 스레드 라이브러리 비교
최종 개발자를 위한 Asyncio 기능과 프레임워크 개발자를 위한 Asyncio 기능의 차이점 비교
코루틴, 태스크 및 API를 포함한 async/await 언어의 새로 도입된 문법 소개
Asyncio와 호환되는 서드파티 라이브러리 사례 소개