처음 시작하는 FastAPI를 읽게 된 이유와 감상에 대한 글입니다.
FastAPI는 인턴 시절 사용해 본 경험이 있었습니다. 하지만 이미 잘 구축된 API 서버이었기에 저는 주로 기존 코드를 참고하여 새로운 기능 추가, 테스트 코드 작성, 오류 수정을 하며 시스템을 처음부터 구축할 경험은 없었습니다. 회사에서 FastAPI를 사용하여 처음부터 시스템을 구축해야 할 일이 생겨 전체 기능을 훑기 위해 읽어보았습니다.
책은 총 18장으로 이루어져 있습니다. 현대 웹과 계층을 시작으로 운영, 부하 테스트까지 넓은 범위를 다루고 있습니다. 상당히 넓은 범위를 얇은 책에서 이야기하므로 구체적인 내용을 다루지는 못합니다. 하지만 큰 흐름과 더 알아보면 좋을 것을 빠르게 파악할 수 있습니다. 예를 들어서 FastAPI와 떨어질 수 없는 Pydantic, 동기/비동기, WSGI, ASGI, Starlette 등이 무엇인지 추상적으로라도 알 수 있고, 파이썬 진영에서 사용하는 DB 드라이버, 지표 도구, 데이터 시각화 도구 등이 무엇이 있는지 소개해 줘서 검색을 용이하게 합니다.
우선 FastAPI에서 어떻게 의존성을 관리하는지를 배웠습니다. 특히 의존성을 함수의 인자로 정의할 수 있고, 정의된 의존성은 FastAPI에 의해 ‘자동’으로 호출되고, 호출 결과로 반환되는 ‘값’을 인자에 전달
하는 방식과 코드가 흥미로웠습니다. 자잘하게는 FastAPI의 응답 유형이나 보통 계층을 어떻게 나누는지 등을 배웠습니다. (Faker 라는 가짜 데이터를 생성하는 모듈을 이 책에서 처음 접했는데 재미있었습니다.)
FastAPI 처음 접하고, 이미 다른 웹 프레임워크를 가볍게 사용해 보았거나 웹에 대해 사전 지식이 있는 분에게 추천하고 싶습니다. 웹이나 파이썬을 이 책으로 배우기에는 너무 생략된 내용이 많아 온전한 이해가 힘들 수 있습니다. 또한 이 책으로 FastAPI 전체를 배우기는 힘듭니다. 일례로 Middle ware, Background Tasks 등을 다루지 않습니다. 물론 이는 공식 문서에 잘 나와 있습니다.
긴 글 읽어주셔서 감사합니다 :)