파이썬 비동기 라이브러리 Asyncio
비동기 프로그래밍의 지름길 Asyncio
비동기 프로그래밍을 위한 파이썬 라이브러리 Asyncio를 다루는 실용서다. 대규모 동시성 작업과 높은 안전을 보장하는 Asyncio를 다양한 사례로 소개한다. 예제를 통해 파이썬의 기존 방식과 새로운 비동기 방식의 차이점을 실용적인 관점에서 설명하고 async/await 언어의 새로 도입된 문법과 Asyncio와 호환되는 인기 있는 라이브러리를 소개한다.
20년 차 베테랑 파이썬 프로그래머. 화학공학 석사 학위가 있고, 전공 분야에서 모델링부터 데이터 분석까지 다양한 파이썬 프로그램을 작성했다. 파이썬 외에도 고객 관계 관리(CRM)를 비롯해서 의료 재무관리 프로그램 개발이나 GPS 추적 등 다양한 분야의 프로젝트에 참여한 바 있다.
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