mingkeFeb 17, 2024FastAPI 배포하기 gunicornAI의 인기와 함께 요즘 FastAPI를 배우려고 하는 분들이 많이 늘어난 것 같습니다. 개발이 빠르고, 쉽게 ML모델을 서빙해볼 수 있는 도구로 FastAPI가 주목받고 있어서 그런것 같습니다. 친구에게도 FastAPI 애플리케이션 배포 어떻게 하냐는 질문을 받은 적도 있어서, FastAPI + Gunicorn 배포 방법을 포스팅해보려고 합니다.FastAPI
mingkeFeb 7, 2024FastAPI CORS 특정 도메인 전체 포트 허용하기FastAPI에서는 CORSMiddleware를 사용하여 이러한 CORS 설정을 쉽게 구현할 수 있습니다. CORS에서 도메인을 입력할 때 도메인이 같아도 포트번호가 다르면 다른 출처가 됩니다. 최근 프론트엔드 개발자가 CORS 에서 특정 도메인에 포트를 여러개 허용해달라는 요청이 있었습니다.FastAPI
mingkeFeb 1, 2024FastAPI Streaming 하는 법 StreamingResponseFastAPI에서 StreamingResponse을 이용해서 Streaming 방식으로 클라이언트에 데이터를 전달하는 방법을 알아보겠습니다.FastAPI
mingkeJan 29, 2024FastAPI - Pydantic 으로 Query param 만들기Query Parameter에 대해서 Query parameter가 많아서 함수의 parameter 값으로 넣으면 코드가 지저분해지고 보기 힘들어지거나, Query Parameter를 따로 관리하고 싶거나 할 때 Pydantic BaseModel을 사용해서 Query Parameter를 정의해서 사용하면 편리합니다.FastAPI
mingkeJan 24, 2024Github Actions에서 TEST DB 사용하기테스트코드를 작성하면서 DB가 필요한 경우가 있습니다. 로컬에서 테스트를 실행할 때는 docker-compose로 테스트 DB 컨테이너를 하나 새로 띄워서 사용했습니다. 하지만 CI/CD 구축을 할 때는 굳이 docker compose를 사용하지는 않았습니다. DB를 쉽게 띄울 수 있기에 그렇게 했습니다. Gitbhub Actions에서 TEST DB 사용하는 방법을 알아보겠습니다.FastAPIGithub Actions
mingkeJan 22, 2024FastAPI - JWT 인증 구현하기오늘은 며칠전 JWT인증을 만들어 달라는 요청을 받아서 구현했던 내용을 한 번 정리해보려고 합니다. 간단하게 JWT (JSON Web Token)를 설명하면 웹서비스 인증 시스템에 널리 사용되는 컴팩트한 토큰입니다. 헤더, 페이로드, 시그니처 세부분으로 나뉘어져 구성되어 있습니다. FastAPI 공식 문서에 소개된 것을 조금 변형하여 구현해보도록 하겠습니다.FastAPI
mingkeJan 18, 2024FastAPI - Depends 의존성 주입 그리고 use_cacheFastAPI의 Depends 함수는 의존성 주입(Dependency Injection)을 구현하는 데 사용됩니다. 의존성 주입은 컴포넌트(함수, 클래스 등) 간의 의존성을 외부에서 제공하는 방법입니다.FastAPI
mingkeJan 17, 2024FastAPI - Pydantic 에러 응답 변경 (feat.Exception Handler)FastAPI로 개발하면 pydantic을 통해 입력받은 데이터의 Validation을 하는 경우가 많습니다. pydantic에서 에러가 발생하면 422에러와 함께 pydantic에서 미리 정해놓은 에러 응답이 전송됩니다. 오늘은 이 부분을 내가 원하는대로 응답을 변경하는 방법을 알아보겠습니다.FastAPI
mingkeDec 22, 2023FastAPI - 나만의 FastAPI 라이브러리 만들기FastAPI는 microframework라서 개발하다보면 자유도가 참 높다고 느껴지는것 같습니다. 백엔드를 개발하는데 정말 필수적인 것들만 있고 나머지는 원하는 대로 만들어서 쓰면 되는것 같습니다.FastAPIPython
mingkeDec 4, 2023FastAPI - Gunicorn hooks 사용하기FastAPI Application을 배포할 때 일반적으로 Gunicorn을 많이 사용합니다. Gunicorn hooks를 소개하고, 최근 Gunicorn hooks를 사용한 경험을 공유하려고합니다.FastAPIGunicorn