python/동시성 프로그래밍

파이썬 동시성 프로그래밍 개요

kimjy 2022. 3. 8. 20:52

이전에는 파이썬 웹 프레임워크로 Django 혹은 Flask가 주로 사용되었다. 하지만 두 프레임워크는 생산성이 높다는 장점이 있으나, 속도가 느리다는 단점이 있다. 따라서 국내에서는 파이썬 기반의 웹개발이 비교적 많지 않은 상태였다. 그러나, 속도 문제를 해결하면서도 생산성은 높인 Python 기반의 웹프레임워크인 FastAPI가 탄생하였고, 이벤트 기반 비동기 방식으로 인하여 속도 문제를 해결해주었다. 한 벤치마크에서는 FastAPI가 Node.js, Go와 비슷하거나 더 높은 성능을 보인다고 발표한 바가 있다.

 따라서 FastAPI에 대해 공부해보기로 하였다. 위에서 언급했던 것과 같이 FastAPI는 비동기 방식으로 진행되므로 FastAPI를 먼저 공부하는 것보다 Python 기반의 동시성 프로그래밍에 대해 공부해보기로 한다. 다행히도 대학원 시절에 GPU 컴퓨팅을 통하여 병렬/동시성 프로그래밍에 대한 깊은 이해를 한 바가 있으므로 이론에 대한 공부는 크게 필요하지지 않을 것 같다. 아마 Python 동시성 프로그래밍 스킬만 익히면 되지 않을 까 싶다.

이를 위하여 인프런 강의 중 파이썬 동시성 프로그래밍 강의를 수강하고 이를 통해 코루틴, 크롤링, FastAPI 등 파이썬 동시성 프로그래밍 사용 방법 및 활용 방안에 대해 익히고자 한다.