FastAPI로 파이썬 프로젝트 시작하기

History

2년 동안 서버 개발을 node.js로만 하다 보니 다른 언어와 프레임워크로 서버 개발을 해보고 싶었다. 새로운 환경에서 새로운 도전을 하는 건 항상 즐겁다. 개인적으로는 golang이나 rust로 개발해보고 싶은 생각이 있었다.

하지만 지금 해야하는 프로젝트들이 데이터 관련 일들이 좀 많아가지고, 분석부터 엔지니어링까지 python으로 결국 개발하게 될 것 같다. 그래서 주시하고 있던 FastAPI 문서를 좀 보고, 기존에 작업된 레포들을 봤는데 pydanticstarlette 뿐만 아니라 swagger도 다 한번에 wrapping되어 있어서 api server 만들기에 최적화된 느낌이다. 실제로 벤치마크 지표들을 보면 DjangoFlask보다 엄청나게 빠르다.

Intro

첫 술에 배 부르랴. 좋은 아키텍처와 코드를 가지기 전에 하나씩 익혀나가도록 하자. 파이썬 프로젝트를 제대로 처음 해본 입장에서 쓴 글임. node.js와 비교 형식이 많을 수도 있다.

Project 관리

파이썬 패키지들은 pip를 통해서 많이 받는다. 그리고 로컬 개발은 거의 가상 환경에 의해서 개발되기 때문에 가상 환경에 따른 패키지 관리를 따로 해줘야한다. 환경 별로 requirements.txt를 통해서 패키지들을 관리하고 설치한다. 처음 가상 환경에서 개발할 때 현재 사용하는 packages를 파일로 떨구려면 pip freeze > requirements.txt해서 파일로 떨군다. 반대로 클론한 프로젝트에 세팅하려면 pip install -r requirements.txt로 한꺼번에 설치한다.

nodejs와 비교하면, package.json에 dependencies를 requirements.txt가 관리한다고 생각하면 이해하기 쉽다.

...이후에 계속

Reference

Discuss this post here.

Published: 2021-05-24

Tagged: Fastapi Python

Archive