처음부터 만드는 마이크로 비동기 이벤트 루프 라이브러리
2025-02-28

이 프로젝트는 교육 목적으로 최소한의 기능을 갖춘 마이크로 비동기 이벤트 루프 라이브러리를 처음부터 구현합니다. 비동기 프로그래밍의 핵심 개념인 작업 스케줄링 및 관리, 논블로킹 소켓을 사용한 I/O 멀티플렉싱, 타임아웃 및 sleep 기능, 작업 취소, 코루틴 기반의 동시성을 보여줍니다. 이 라이브러리는 Python의 제너레이터 기반 코루틴과 `select` 모듈을 I/O 멀티플렉싱에 사용하여 `asyncio`와 같은 최신 비동기 프레임워크가 내부적으로 어떻게 작동하는지에 대한 간소화된 모델을 제공합니다. `await`의 마법, `yield from`의 작동 방식, 코루틴과 이벤트 루프 간의 통신 방법을 배울 수 있습니다.