Dev(9)
-
Fast API 에서 .env 파일로 환경변수 관리하기 (python-dotenv)
OS가 아닌 FastAPI 프로젝트 폴더단위로 환경변수를 관리하여, FastAPI 서버를 실행시켜 그 환경변수들만 로드하는 것에 대한 방법에 대해 설명한다. FastAPI에 대한 기초적인 지식은 있다고 가정하고 설명한다. 일단 간단한 프로젝트를 하나 만들어보자. test-fastapi / - main.py - .env Code 0. 필요한 패키지를 설치해준다. 이 글에서 필요한 패키지는 python-dotenv 이다. # 요놈들은 FastAPI 구동을 위한 기본 패키지이고, pip install uvicorn pip install fastapi # 우리가 설치해야 할 애는 이놈이다. pip install python-dotenv 1. main.py: 실제로 FastAPI를 동작시킬 코드이다. 최대한 간단..
2021.10.29 -
Fast API를 HTTPS로 띄워보자 (Fast API + Traefik + Webserver)
현재 맡고있는 딥러닝 관련 프로젝트에서 협력사를 통해서 웹어플리케이션을 개발하고 있고, 딥러닝 핵심 API는 우리가 개발하는 방식으로 협업을 하고 있다. 웹어플리케이션과 딥러닝 API의 연동 테스트를 위해서 GCP를 통해서 테스트용 API 서버를 HTTP를 제공하고 있다. 아직 개발단계여서 일단 HTTP 통신만 생각하고 마지막에 HTTPS를 도입하려고 했으나, 협력사분들이 '혹시 나중에 이슈가 생길지 모르니 미리미리 준비하자'고 채찍질을 해주셔서, 우리 딥러닝 API서버도 HTTPS를 도입하기로 했다. (게으른 저를 잘 이끌어주셔서 감사합니다. 협력사 대표님) 우리 딥러닝 API는 FastAPI 라는 Python 기반 프레임워크로 개발하고 있다. Flask, Django 와 비슷하긴 한데, 개인적으로는 ..
2021.08.30 -
Fast API 에서 CORS 에러 해결하기
웹개발을 하다보면 가장 골치아픈 것 중 하나가 CORS (Cross-Origin Resource Sharing) 에러이다. 특히 높은 수준의 보안을 요구하는 Chrome 의 경우에는 원천적으로 CORS를 허용하지 않기 때문에 정말 많은 웹 개발자들이 CORS 문제를 해결하느라 애를 먹는다. 일단 CORS 에러가 무엇인지는 추후 다른 글에서 자세히 다루기로 한다. 하지만 웹 어플리케이션의 Backend 를 FastAPI로 운영한다면 FastAPI의 자체적인 모듈로 다행히 쉽게 해결이 가능하다. 바쁘신 여러분들을 위해 핵심코드만 기재한다. main.py 간결하게 요점만 설명하기 위해 최소한의 코드만 작성하였다. from fastapi import FastAPI import uvicorn from starle..
2021.08.30