이전

리뷰 (6)

한줄평
평점 분포
  • 리뷰 총점10 50%
  • 리뷰 총점8 33%
  • 리뷰 총점6 17%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 6.0
  • 30대 10.0
  • 40대 8.0
  • 50대 10.0
리뷰 총점 종이책
선택 안됨 파이썬 비동기 라이브러리 Asyncio 를 읽고 나서
"선택 안됨 파이썬 비동기 라이브러리 Asyncio 를 읽고 나서" 내용보기
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 예전에 한 과제를 할 일이 있었다. 이 과제에서 점수가 책정되는 방식 중에서 전체 처리시간도 들어가있었는데, 파일 I/O (Input, Output)에서 병목이 발생해서 multiprocessing 라이브러리를 이용하여 해결해보려 했던 적이 있었다. 인터넷에 있던 여러 예제 코드들과 도큐먼트들을 참고해서 코드를
"선택 안됨 파이썬 비동기 라이브러리 Asyncio 를 읽고 나서" 내용보기

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


예전에 한 과제를 할 일이 있었다.
이 과제에서 점수가 책정되는 방식 중에서 전체 처리시간도 들어가있었는데, 파일 I/O (Input, Output)에서 병목이 발생해서 multiprocessing 라이브러리를 이용하여 해결해보려 했던 적이 있었다. 인터넷에 있던 여러 예제 코드들과 도큐먼트들을 참고해서 코드를 만들었는데.. 이전과 달라진 점들이 하나도 없었다. 그래서 직접 확인해보니, 분명히 동시에 처리는 하고 있었는데, 이상하게 속도가 1/n으로 줄어들어있었다. 결국 디버깅하지 못하고 그대로 과제를 제출했던 기억이 있다.

 

최근에 회사에서 업무를 진행하면서 비동기 프로그래밍이란 것에 대해 알게 되었는데, 비동기 프로그래밍을 적용하면 I/O를 좀 더 효율적으로 처리할 수 있을 것이란 기대에 언젠가 해봐야지 생각하고 있던 찰나에 파이썬 비동기 라이브러리 Asyncio 를 읽게 되었다. 책 자체는 두께가 얇기 때문에 읽는 데에는 많은 시간이 걸리지 않았다. 또한 책 안에 다양한 예제를 제공해서 읽는 데에도 크게 어려움이 없었다. 

 

책에서 다루는 내용들은 크게 다음과 같다.

1. Asyncio 소개

2. Asyncio와 다른 라이브러리 비교

3. 코루틴, 태스크 등 async / wait 기능 소개

4. Asyncio와 관련된 서드파티 라이브러리 소개

책 내용 자체는 Asyncio에 대해 알고 익히기에 부족함이 없었지만, 라이브러리 사용법이 어렵다기보단.. 개념자체를 완벽하게 이해하고 적용하기 어려운 부분이어서.. 다양한 상황에서 많이 사용해봐야 숙달될 것 같다.

I/O를 다루면서 스트레스 받았던 적이 많은 분들에게 추천드리고 싶다.
그리고 번역을 읽음에도 불편함이 없었다. 이것은 내용과는 별개의 강점 같다.

z****d 2021.05.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
파이썬 비동기 라이브러리 Asyncio
"파이썬 비동기 라이브러리 Asyncio" 내용보기
Using Asyncio in Python 파이썬 비동기 라이브러리 Asyncio     파이썬의 버전업을 살펴보면 파이썬 3.4에 asyncio 라이브러리가 도입되었고, 파이썬 3.5에사는 더 쉽게 사용할 수 있도록 async와 await 키워드가 도입되었다. 세롭게 추가된 기능을 통해 소위 비동기 프로그래밍이 가능해졌다. 파이썬 커뮤니티는 이러한 새로운 기능인 Asyncio를 조심스럽게 받아들였다. 일부
"파이썬 비동기 라이브러리 Asyncio" 내용보기

Using Asyncio in Python

파이썬 비동기 라이브러리 Asyncio

 

 

파이썬의 버전업을 살펴보면

파이썬 3.4에 asyncio 라이브러리가 도입되었고, 파이썬 3.5에사는 더 쉽게 사용할 수 있도록 async와 await 키워드가 도입되었다. 세롭게 추가된 기능을 통해 소위 비동기 프로그래밍이 가능해졌다.

파이썬 커뮤니티는 이러한 새로운 기능인 Asyncio를 조심스럽게 받아들였다. 일부 개발자들은 복잡하고 어려운 것으로 생각했다. 파이썬 커뮤니티에서 유명한 일부 기여자도 파이썬의 Asyncio API의 복잡성에 대해 의구심을 표했다. 커뮤니티 내의 교육자들은 학생들에게 Asyncio를 과연 잘 가르칠 수 있을지 우려하기도 했다

저자 케일럽 해팅은 20년차 베테랑 파이썬 프로그래머로서 위의 걱정을 불식시키기에 충분한 파이썬 비동기 라이브러리 Asyncio를 직접 활용 예를 들어 이 책을 저술하였다

 

이 책에서는 새로운 기능들이 도입된 이유와 사용 방법에 대한 기본적인 부분을 설명한다.

?      병행 네트워크 프로그래밍에서 asyncio 라이브러리와 threding 라이브러리 비교

?      새로 도입된 async / wait 문법 이해

?      파이썬 기본 라이브러리로 새로 도입된 asyncio 라이브러리 개요

?      Asyncio와 호환되고 인기 많은 서드파티 라이브러리에 대한 사례 연구

 

역자 동동구는 20년차 프로그래머로서 경험에서 우러난 용어 선택으로 독자들이 이해도를 높였다.  

 

이 책은 ThreadBot 식당 이야기로 시작된다. 흥미롭게 멀티스레드 프로그래밍의 어려움을 설명하고 있다. 컴퓨터 프로그래머로서 가장 고통스러운 부분 중 하나이다.

 

이 책을 읽어야 할 독자는

최종 사용자 개발자

응용프로그램을 개발할 때 asyncio를 사용하길 원하는 사람들이다.

 

프레임워크 개발자 혹은 설계자

최종 사용자 개발자들이 응용프로그램을 개발할 때 사용하는 프레임워크와 라이브러리를 만드는 사람들로, 해당 프레임워크와 라이브러리 내부에서 asyncio를 사용하길 원하는 사람들이다,

 

이 책을 통하여 어려운 부분을 하나하나 해결해 나갈 수 있는 방법을 터득하고 파이썬 비동기 라이브러리 Asyncio를 필요한 업무에 잘 적용할 수 있는 개발자로 성장하기를 기원한다.

 

 

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

 

y****1 2021.05.22. 신고 공감 0 댓글 0
리뷰 총점 종이책
문외한에게는 어려웠던 내용
"문외한에게는 어려웠던 내용" 내용보기
주로 사용하는 언어가 파이썬이고, 파이썬에 대한 이해를 높이기 위해 읽었습니다.   파이썬이라고 해도 하는 일이 데이터 분석이라 opencv, pandas 같은 필요 라이브러리를 가져다 쓰는 것이 주된 일이고, 개발을 하더라도, 비동기가 필요한 개발이 아니여서, 솔직하게 이 책의 많은 부분을 이해하지 못했습니다.   사실 차후에도 제가 하는 일을 바꾸지 않는 이상에는 Asycino를
"문외한에게는 어려웠던 내용" 내용보기

주로 사용하는 언어가 파이썬이고, 파이썬에 대한 이해를 높이기 위해 읽었습니다.

 

파이썬이라고 해도 하는 일이 데이터 분석이라 opencv, pandas 같은 필요 라이브러리를 가져다 쓰는 것이 주된 일이고,

개발을 하더라도, 비동기가 필요한 개발이 아니여서, 솔직하게 이 책의 많은 부분을 이해하지 못했습니다.

 

사실 차후에도 제가 하는 일을 바꾸지 않는 이상에는 Asycino를 볼 일이 없을 것 같기도 합니다.

 

그래서, 이 책이 필요한 사람들의 입장에서 좋은 책인지는 평가하기 어렵습니다.

 

 

설명11.jpg

 

 

그럼에도 이 책의 장점을 말하자면, 예시가 좋다고 생각합니다.

 

실제 복잡한 현실이 아닌 로봇이 모든 업무를 맡는 로봇 레스토랑의 예시를 들고 있습니다.

 

그렇기 때문에 어디에서 비동기가 필요한지, 비동기가 안 쓰이면 어떻게 되는 지 쉽게 이해가 갑니다.

 

 

 

 

코드설명11.jpg

 

또한 코드 하나 하나의 의미를 최대한 상세하게 설명하는 것도 특징입니다.

 

일일히 숫자를 적어가면서 어떤 식으로 작동하고 있는 지에 대해 적어놓았습니다.

 

 

이 점에서 비동기를 쓰지 않아본 사람에게도 어찌어찌 노력하면 내용의 4~50%는 이해할 정도가 된 것 같습니다.

 

 

사실 다른 주제를 다루는 책들은 결과가 명확하기 때문에 그렇게 하는 것이고 이 책은 어려우니 어쩔 수 없는 것인가라는 생각도 듭니다만.....

 

역으로 생각해보면, 일런 예시나 개념 설명이 없었다면,

 

비동기를 굳이 사용할 필요가 없는 사람의 입장에서, 계속해서 읽기에 힘들은 내용이었다고 생각합니다.

 

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

YES마니아 : 로얄 o*****0 2021.05.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
한 번에 10000개의 웹 페이지를 긁어올 수 있는 기술을 익혀보자
"한 번에 10000개의 웹 페이지를 긁어올 수 있는 기술을 익혀보자" 내용보기
[서론]   이 책의 부제는 "대규모 병행성 작업을 위한 비동기 프로그래밍"이다.    사실 멀티스레드 프로그래밍은 프로그래밍을 통틀어 가장 고통스러운 부분 중 하나이다.    이를 해결하기 위해 다양한 방법론이 있어왔다.    파이썬도 3.4부터 asyncio 라이브러리가 도입되고, 3.5부터는 asunc, await 키워드가 도입되었다.      [Asyncio와 비동기 프로그래밍이란?]   사실 코딩에
"한 번에 10000개의 웹 페이지를 긁어올 수 있는 기술을 익혀보자" 내용보기

 

[서론]
 
이 책의 부제는 "대규모 병행성 작업을 위한 비동기 프로그래밍"이다. 
 
사실 멀티스레드 프로그래밍은 프로그래밍을 통틀어 가장 고통스러운 부분 중 하나이다. 
 
이를 해결하기 위해 다양한 방법론이 있어왔다. 
 
파이썬도 3.4부터 asyncio 라이브러리가 도입되고, 3.5부터는 asunc, await 키워드가 도입되었다. 
 
 
[Asyncio와 비동기 프로그래밍이란?]
 
사실 코딩에 꽤나 익숙하지 않다면 멀티스레드/비동기작업이 필요한 때를 쉽게 떠올릴 수가 없다.
 
대표적으로 병렬 작업 또는 비동기 작업이 필요할 때는, 예를 들어 다수의 웹페이지를 한 번에 긁어올 때이다. 
 
멀티스레드 또는 비동기 작업을 이용해서 한 번에 하나씩이 아니라, 동시에 다수의 http 요청을 병행하여 실행할 수 있다. 
 
일반적으로 CPU는 하나의 작업을 처리한 후 네트워크 I/O의 완료를 기다린다. 
 
그래서 보통은 requests.get() 등을 사용하여 큰 규모의 웹 페이지를 긁어온다면 순간적으로 프로그램이 멈칫하는 현상이 발생할 것이다. 

이것이 바로 비동기작업이 아닌 경우에 발생하는 블로킹 현상이다. 
 
파이썬의 asyncio 라이브러리는 멀티 스레드가 아니면서도 더 나은 방식으로 동시에 여러가지 일을 수행하고, 완료되면 응답을 받는 비동기 처리를 지원한다. 

네트워크 I/O 위주 작업에 스레드 기반 병행 처리보다 비동기 기반 병행 처리를 적용해야 하는 두 가지 이유는 다음과 같다. 
 
이유 1. 스레드를 사용하는 선점형 멀티태스킹보다 안전하다 : 오류, 경합 조건, 비결정론적 위험 요소가 발생하지 않는다.
 
이유 2. 동시에 수천 개의 소켓 연결을 간단히 처리할 수 있다 : 웹 소켓이나 사물인터넷을 위한 MQTT같은 수명이 긴 연결도 처리할 수 있다. 
 
결국 Asyncio는 실행 제어가 코루틴 간에 전이 되는 부분을 쉽게 확인할 수 있기 때문에, 관련된 자원들이 어떻게 사용되고 있는 지 훨씬 쉽게 확인할 수 있다는 점이 매력적이었다. 

물론, Asyncio는 명목상으로 단일 스레드이기 때문에, 멀티 스레드에만 영향을 미치는 전역 인터프리터 락(GIL: global Interpreter Lock)의 영향을 받지 않지만, 여러 CPU 코어의 장점도 얻을 수 없다는 단점도 있지만 말이다.
 
 
[결론]
 
사실 asyncio 라이브러리는 워낙 난이도가 높아서, 처음 도입될 때부터 파이썬 커뮤니티 내에서도 논쟁이 있었던 기능이다. 
 
개인적으로도 비동기 프로그래밍에 그다지 익숙하지가 않아서, 처음에는 asyncio가 간단한 예약어와 몇가지 클래스의 추가인 줄 알았다. 
 
그런데 공부하다보니 제대로 된 비동기 지원을 위해서는 프로그램 설계와 구조의 변화가 반드시 따르게 된다는 것을 깨달았다. 
 
결국 asyncio는 여러 개의 작업을 동시에 수행하는 것이고, 하나의 작업이 완료되기까지 대기하는 동안 다른 작업을 수행할 수 있도록 하는 것이기 때문이다. 
 
이 책은 파이썬으로 멀티 스레드 프로그래밍을 해본 적 없는 사람은 조금 어려울 것이다. 
 
특히 비동기에 대해서 제대로 생각해보거나 충분히 활용해보지 않은 사람이라면 혼동이 많이 올 것이다. 
 
그래도 이 책은 얇고 가벼워서 공부하고 싶은 생각이 절로 나게 되어있다. 

편집도 깔끔하다.
 
쉬운 내용은 아니었지만, 이 책을 통해 스크립트 언어로서의 한계를 넘어 도전하고 있는 파이썬의 발전을 볼 수 있어서 좋았다. 

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

t****e 2021.05.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
[파이썬 비동기 라이브러리 Asyncio] (케일럽 해팅 著, 동동구 譯, 2021)
"[파이썬 비동기 라이브러리 Asyncio] (케일럽 해팅 著, 동동구 譯, 2021)" 내용보기
비동기 프로그래밍 "한 회사원이 있다. 전화도 받아야 하고 결재 올려 승인을 받아야 하고 메일도 보내야 하고 고객과 만나 업무도 처리해야 한다. 가끔 바쁠 때 "몸이 열 개면 좋겠다"라고 말한다." "멀티 스레드는 실제 몸이 열 개이다. 그래서 전화 받는 공무원, 메일 보내는 공무원, 민원 처리하는 공무원이 각각 존재한다. 당연히 빠르다. 하지만 전화를 끊은 공무원은 시간
"[파이썬 비동기 라이브러리 Asyncio] (케일럽 해팅 著, 동동구 譯, 2021)" 내용보기
  • 비동기 프로그래밍
    • "한 회사원이 있다. 전화도 받아야 하고 결재 올려 승인을 받아야 하고 메일도 보내야 하고 고객과 만나 업무도 처리해야 한다. 가끔 바쁠 때 "몸이 열 개면 좋겠다"라고 말한다."
    • "멀티 스레드는 실제 몸이 열 개이다. 그래서 전화 받는 공무원, 메일 보내는 공무원, 민원 처리하는 공무원이 각각 존재한다. 당연히 빠르다. 하지만 전화를 끊은 공무원은 시간이 남아도 다른 일을 도와주지 않는다. 그냥 논다."
    • "비동기식 프로그래밍은 '몸이 열 개면 좋겠다'라고 생각만 하고 결국 혼자 모든 일을 다 한다. 대신 엄청나게 똑똑하고 몸이 빠르다. 상사에게 결재 올려 승인이 날 때까지 기다리지 않고 전화도 받고 메일도 보낸다. 이 분은 '일머리'를 안다. 똑똑하고 체계적이고 계획적이다. 열 명의 공무원 부럽지 않다."
    • 어떤 블로그의 글을 옮긴 것인데, 내가 본 비동기 프로그래밍에 대한 설명 중 가장 직관적이다.
    • 이 글에 있는 예시처럼 비동기 프로그래밍은 일을 던지고 기다리고 받으며 굉장히 효율적으로 처리한다.
    • 입력(input)과 출력(output)이 업무의 대부분일 경우에 진가를 발휘하기 때문에 네트워크 프로그래밍이라는 이름으로 불리는 경우도 있다.

 

  • Asyncio
    • 이름 그대로 비동기 입출력(asyncronous input/output) 라이브러리.
    • 파이썬은 상당히 최근인 버전 3.4에 asyncio 라이브러리가 도입되었고, 버전 3.5에 async와 await 키워드가 도입되어 기존에 비해 상당히 효율적으로 비동기 프로그래밍을 수행할 수 있게 되었다.
    • 그러나 책의 맨 끝에 언급되어 있듯 이것이 파이썬의 첫 시도는 아니었다. 무려 1996년 파이썬 버전 1.5.2에 asyncore가 있었다.
    • 못 쓸 물건이라는 말을 듣던 asyncore에 수천 명의 기여자들이 노고를 보태어 현재의 asyncio가 탄생했고, 상당히 편해졌다고는 하나 코루틴블로킹콘텍스트 전환익스큐터 이런 말들이 익숙하지 않은 나같은 사람에게는 서로 차분히 알아가는 과정이 조금은 반드시 필요하다.

 

  • 솔직히, 책을 잘못 골랐다.
    • 5월 리뷰도서로 가장 원했던 책은 이 책이 아니었다.
    • 그러나 한편으로 현재 진행중인 업무에서 시간이 많이 소모되는 부분이 분명히 있기에 어디선가 주워들은 asyncio를 배워볼 생각에 함께 골랐는데, 내가 소화할 수준의 책은 아니다.
    • 책은 잘못이 없다. 오히려 피상적으로만 알고 지나갈 수 있는 부분을 적절한 예제 코드와 함께 설명해주고 있고, 170 페이지의 1cm가 안 되는 얇은 두께에서 asyncio의 계층적 구조까지 친절하게 설명해주고 있다.
    • 내가 너무 준비가 안 돼있었다. 비동기 방식을 사용해서 웹크롤링이라도 몇 번 해봤으면 훨씬 나았을텐데 기본적인 용어와 개념 탑재가 미비했고 기초를 차근차근 알려주는 것은 이 책의 목적이 아니다 보니 나와 책 사이의 간극이 빠져서야 알게 되는 크레바스처럼 다가왔다.
    • 대체 어떻길래 그러나 궁금하는 분들을 위해 잠시 설명하면, 스레딩 방식의 문제점을 설명한 2장이 끝나고 Asyncio 공략이라는 제목이 붙은 3장이 들어가자마자 저자의 인용문이 등장한다.

"Asyncio는 일곱 가지 기능만 알면 충분하다 (일반적 용도로 가정할 때)" - 유리 셀리바노프

 

    • 그리고 단 6 페이지에 일반적 용도에 대한 설명이 완료된다.
    • 그 뒤에 코루틴, async, await에 대한 상세한 설명이 이어지지만 원리부터 알려주는 친절한 설명에 일반적 용도가 묻힌다. 구글링을 해서 관련 글을 너댓개쯤 읽어보고 유튜브 영상을 총 한시간 남짓 보고 나니 감이 좀 잡혔다. 이 책 정도로 근본부터 설명해주는 자료는 파이콘 발표영상 몇 개를 빼고는 찾지 못했다.
    • 거듭 말하지만, 독자에게 적당한 수준의 경험이 있었다면 피와 살이 될 친절한 설명이다. 

 

  • 여러분이 사용하지 않는 Asyncio 라이브러리 20개
    • 책의 중반부를 시작하는 4장의 제목이다.
    • 짧지 않은 예제 코드와 함께 Asyncio 라이브러리, 그리고 Twisted나 Janus와 같은 다른 비동기 라이브러리를 소개한다.
    • 예제 코드도 뉴스 스크레이핑, 다중 소켓, 어플리케이션 성능 모니터링 등 나와는 거리가 제법 멀지만 사용자에 따라 매우 유용할 수 있는 것들이다.
    • 비동기 프로그래밍 경험이 충분한 이라면 여기서 충분한 과실을 수확할 수 있을 것이라 생각한다.
          
  • 부족한 경험이지만 욕심이 난다.
    • 이 책에 실린 대다수 예시도 그렇고, 인터넷에서 찾은 예시도 그렇고 웹이나 데이터베이스에서 데이터를 가져오는 데 asyncio가 유용해보인다.
    • 주 업무가 크롤링인 분들도 제법 계시는 것으로 알지만, 내게 이런 식의 작업이 유용했던 적은 단 한번이었고 그나마 지시도 받지 않은 일을 만들어 했던 것이었다 - 특정 분야의 8년치 논문을 긁어 분석한 적이 있다.
    • 하지만 이 책의 맨 처음과 끝에 나오는 예시처럼, 컴퓨터에 일을 시키는데도 asyncio가 유용해 보인다.
    • 멀티스레딩, 멀티프로세싱과 함께 사용하면 상당히 효율적으로 일을 할 수 있을 것 같은데 날카롭게 도끼를 가는데 시간을 쓰는 나머지 정작 장작을 팰 시간이 없을까 걱정이다.
    • 일단 한 차례 완독을 하고 예제 코드를 손 끝에서 실행해봤다는데 만족하려고 한다. 
    • 이 기억을 언젠가는 살릴 좋은 기회가 있으리라 믿고, 도끼 날을 바짝 세울 그 날을 기다려본다.

※ 한빛미디어 2021 도서 서평단 "나는 리뷰어다"의 일원으로 도서를 제공받아 작성한 리뷰입니다.

YES마니아 : 골드 v******9 2021.05.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
[도서 리뷰] 파이썬 비동기 라이브러리 Asyncio (Using Asyncio in Python)
"[도서 리뷰] 파이썬 비동기 라이브러리 Asyncio (Using Asyncio in Python)" 내용보기
한빛미디어의 파이썬 비동기 라이브러리 Asyncio 도서를 읽었습니다. 파이썬 비동기 개념과 관련 라이브러리 동작이 어떠한 지 알아보기 위해서 읽게 되었습니다.       첫 번째 챕터로는 파이썬에서 Asyncio 라이브러리로 비동기 처리를 하면 해결할 수 있는 점과 여러 오해들을 깔끔하게 정리해줍니다. 비동기를 소개하기 전에 스레드를 사용하는 어플리케이션의 소개와
"[도서 리뷰] 파이썬 비동기 라이브러리 Asyncio (Using Asyncio in Python)" 내용보기

 

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

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

 

 

 

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

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

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

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

 

 

 

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

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

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

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

 

 

 

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

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

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

 

 

 

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

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

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

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

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

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

 

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

 


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

r*****2 2021.05.24. 신고 공감 0 댓글 0