jrcfore***
2024-07-27

더 빠른, 더 쉬운 웹 서비스 구축을 위한 FastAPI 핵심 안내서!
'간결한 코드로 빠른 프로토를 만들어내고 싶을 때는 이에 맞는 도구를 사용해야 한다.'
필자는 평소 파이썬과 같은 스크립트 언어는 단순한 테스트를 구성하거나 (API 용 테스트) 아니면 shell 기반으로 자동화된 처리 프로세스를 구성할 때 애용하는 편이였다.
그런데, 이번에 리뷰하게 된 FastAPI는 파이썬 기반의 'dJango'와는 다른 훨씬 단순화되었지만 강력한 기능들을 제공해 주는 백엔드용 프레임 워크였다.
무엇보다 프로젝트 멘토링을 진행하고 있는 상황에서 해당 팀에서 위의 기술을 사용한다고 하여 상당히 반가운 마음이 큰 책이었다.
【책의 구성】 "처음 시작하는 FastAPI"의 구성은?
위 책은 총 4개의 파트로 구성되어 있으며 각각의 파트는 총 18개의 챕터로 구성되어 있다. 이외로 2개의 읽어볼 거리를 추가로 제공해 주고 있어서, 독자로 하여금 FastAPI와 관련된 자료를 보다 효과적으로 찾을 수 있는 팁을 제공하고 있다. (관련 사이트에 대해서 열거하고 있음)
이 책은 여느 IT 전문서와 비슷하게 개념에 대해서 정리하여 소개한 후, 최종에는 해당 내용을 정리하는 순으로 구성되어 있다
챕터 7 : 프레임워크 비교
이 장에서는 Flask와 Django와 같은 python 기반의 웹 프레임워크와 FastAPI의 차이점을 비교한 내용이 정리되어 있다.
본문의 예시로 든 코드로 보건대 같은 기능을 구현하더라도 확실히 Flask보다 FastAPI의 코드가 훨씬 간결하였고 가독력 면에서도 뛰어났다.
그만큼 FastAPI를 사용하는 개발자에게 공개된 interface가 상당히 추상화되고 간결화됨을 의미했으며, 많은 면에서 개발자가 몰라도 될 부분들은 철저히 캡슐화 혹은 하이딩 하였음을 알 수 있었다.
챕터 11 : 인증 및 인가
이 장에서는 인증 (oauth)에 관한 구현 법이 설명되어 있다.
FastAPI를 사용하여 인증 기능을 도입하기 위해 필요한 최소한의 모델 설계 법과 인증 정보 관리를 위한 DB 설계 법 등이 수록되어 있으므로 인증 관련 구현에 대해서는 이 부분만 어느 정도 들여다보아도 그 Flow를 충분히 이해할 수 있을 것이라 보였다.
챕터 18 : 게임
지금까지 학습한 내용을 기반으로 간단한 게임을 만드는 방법을 소개한 챕터이다. 책의 전반과 중반에 소개하였던 내용들을 심도 있게 학습하였다면 위 실습을 따라 하기에 어려움이 없으므로 꼭 이 책을 전부 학습하였다면 꼭 살펴보길 권장하는 챕터이다.
【 처음 시작하는 FastAPI를 읽고 나서 】
시대가 시대인 만큼 개발에 필요한 코드의 양이 점점 간추려지는 것이 요즘의 개발 트렌드인듯하다. 예전에는 몇십 줄에 달해 구현해야 했던 기능들이 이제는 단 몇 줄이면 이전과 같은 기능을 수행하거나 혹은 그 이상의 기능을 수행하고 있기 때문이다.
그렇다고 마냥 이러한 기술 트렌드가 좋다고만은 할 수 없다. 내부에서 관련 기능들이 어떻게 처리되는지 캡슐 화가 되었을 뿐, 개발자가 관련 내용을 전혀 몰라서는 안 되기 때문이다.
따라서 시대의 흐름이 아무리 편한 것을 추구할지라도 훌륭한 개발자로 거듭나길 희망한다면 스스로 CS 학의 내부를 들여다볼 적극적인 의지를 가져야 할 시대가 온듯하다.
#본 도서는 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.