구체적인 발표의 목차는 다음과 같이 구성하고자합니다:
0. asyncio에 대한 개괄적인 설명 (event loop를 중심으로 설명)
1. 파이썬으로 구성된 웹 서비스에서 asyncio는 필요한지에 대한 논의
> 데이터베이스의 값을 받아오는 것(io bound) 보다 값을 처리(cpu bound)하는 부분이 문제가 될 수 있음
> cpu bound 작업을 해소하기 위한 노력들 (muffin 등)
> asyncio를 지원하는 웹 프레임워크를 설명하며 왜 회사에서 aiohttp를 선택하게 되었는지에 대한 의견
2. aiohttp에 대한 설명
> 프레임워크 전체 디자인 방식에 대한 설명 (core 아키텍처와 이를 사용하는 개발자가 경험할 수 있는 프레임워크 디자인 등을 code snippet을 이용하여 설명)
> asyncio 기반의 wsgi application을 배포하는 방법과 원리에 대해 설명 (aiohttp가 지원하는 gunicorn worker를 중심으로)
> uvloop 소개 및 원리에 대해 설명
> aiohttp 코어 레벨의 cpu bound 작업의 성능 개선 노하우 공유
> aiohttp 생태계에서 사용할 수 있는 유용한 라이브러리 소개
3. aiohttp를 사용하기 전에 고려해야할 점들
> asyncio를 지원하는 데이터베이스가 한정적이며 커뮤니티가 아직 작은 점
> 실제로 개발하며 발생하는 어려운 점들과 선택한 해결 방법들 (asyncio 기반의 테스트 작성, asyncio 디버깅의 어려움 등)
4. 요약 정리