도서/IT 도서

[도서 리뷰] 파이썬 비동기 라이브러리 Asyncio (Using Asyncio in Python)

Chipmunks 2021. 5. 24.
728x90

한빛미디어의 파이썬 비동기 라이브러리 Asyncio 도서를 읽었습니다.

파이썬 비동기 개념과 관련 라이브러리 동작이 어떠한 지 알아보기 위해서 읽게 되었습니다.

 

첫 번째 챕터로는 파이썬에서 Asyncio 라이브러리로 비동기 처리를 하면 해결할 수 있는 점과 여러 오해들을 깔끔하게 정리해줍니다.

비동기를 소개하기 전에 스레드를 사용하는 어플리케이션의 소개와 문제점을 간단한 ThreadsBot 식당 예제로 서두를 엽니다.

스레드의 단점을 해결할 수 있는 비동기 Asyncio 를 소개합니다.

비동기 Asyncio 로 해결할 수 있는 점과 해결할 수 없는 점을 소개하며 독자에게 정확한 개념을 심어줍니다.

 

두 번째 챕터는 스레드를 소개합니다. 이전 챕터에선 비유를 곁들인 예제로 스레드를 소개했다면 이론으로 장단점을 소개합니다.

특히 파이썬 스레드는 어떻게 동작하는지 간단한 예제 코드와 함께 설명을 이어갑니다.

코드 예제에 번호로 상세 설명이 달려 있어서 이해하기가 편했습니다.

예제로 스레드의 문제점을 눈으로 확인해보고 비동기 Asyncio 가 왜 필요한지 자연스레 논리 흐름을 이어갑니다.

 

세 번째 챕터는 Asyncio 를 소개합니다.

Ayncio 를 처음부터 소개하기 보다는 비동기 프레임워크를 제작하는 입장에서 Asyncio 패키지를 어떻게 사용해야 하고 어떤 원리로 돌아가는지 알려줍니다.

파이썬 신규 버전에 추가된 코루틴과 async def, await 구문을 소개하며 기존 언어에서 어떻게 비동기 기능이 추가됐는지 알려줘서 유익했습니다.

 

네 번째 챕터는 각종 서드파티 비동기 라이브러리를 알아봅니다.

책 절반에 가까운 분량이기도 해서 메인 챕터이기도 합니다.

메시지 대기열, 소켓, PostgreSQL 데이터베이스 클라이언트 등의 라이브러리에서 비동기 기능을 어떻게 지원하는지 각 소챕터마다 예제 코드를 중심으로 진행합니다.

CS 이론, 도커, API 서버, 클라우드 등의 종합적인 사전 지식이 필요해서 컴퓨터 과학에 입문한 분들에겐 매우 생소할 수 있어보입니다.

사용해보지 않은 라이브러리가 많아 따로 공식 문서를 참고하여 부족한 지식을 채우면서 읽었습니다.

따로 테스트하는 방법이 불친절한 감이 없지 않아, 비동기 처리를 중심으로 봤었네요.

 

Asyncio 의 A부터 Z까지 차근차근 소개하는 책은 아니어서 어느정도 비동기 지식이 있는 분들께 추천드리고 싶습니다.

 


한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

댓글