본문 바로가기

Python4

[FastAPI] PyCharm에서 디버그 실행 환경 만들기 최근 개발을 하면서 백엔드 실행을 위해 터미널에서 "uvicorn main:app --reload --host 0.0.0.0 --port 8001" 명령어를 자주 사용했습니다. 이렇게 실행하는 방법도 간단하지만, 개발자의 생산성을 높이기 위해 PyCharm에서 실행 환경을 만들어 사용하는 것이 더욱 편리하다는 것을 알게 되었습니다. 그래서 이번 글에서는 PyCharm에서 디버그 실행 환경을 만들어 백엔드 애플리케이션을 실행하는 방법을 소개하고자 합니다. 이 방법을 사용하면, 매번 터미널을 열어서 명령어를 입력할 필요 없이, PyCharm에서 디버그 실행 버튼만 누르면 애플리케이션이 실행되어 개발자의 생산성을 높일 수 있습니다. 이제부터, PyCharm에서 디버그 실행 환경을 만들어 백엔드 애플리케이션을 .. 2023. 3. 31.
[FastAPI] 크론탭(Crontab) 스케쥴러 만들기 백엔드 개발을 하다 보면 특정 시간 혹은 날짜에 맞춰 스케쥴러를 돌려야 할 때가 있습니다. 이럴 때는 아래와 같은 방법으로 진행하면 쉽게 처리할 수 있습니다. 쉘 스크립트 형태 크론탭 실행 파일 생성 `crontab.py` 파일 생성 # -*- coding:utf-8 -*- import logging import os import sys from datetime import datetime import pytz import uvicorn from fastapi import FastAPI from sql import database, models sys.getdefaultencoding = lambda: "UTF-8" sys.getfilesystemencoding = lambda: "UTF-8" datab.. 2023. 2. 9.
[FastAPI] 스웨거(Swagger) `OAuth2 인증 Authorize 적용`하기 스웨거에서 `OAuth2` 방식으로 인증 방식을 사용할 수 있습니다. `OAuth2` 인증을 달게 되면, 스웨거에서 `Authorize`라는 버튼이 생기게 되며, 해당 버튼을 통해서 `OAuth2 인증`을 할 수 있습니다. 인증이 필요한 API가 있기 때문에, 작업을 미리 해두면 편합니다. Oauth2 적용하기 `home.py` 아래와 같이 `APIRouter`에서 `dependencies`를 추가해주고, `tokenUrl`을 넣어주면 된다. 참고로 `tokenUrl`은 `root_path`가 먹히지 않기 때문에 앞에 들어가는 경로를 모두 넣어주어야 한다. router = APIRouter( prefix="/home", tags=["home"], dependencies=[ Depends( OAuth2Pa.. 2022. 12. 12.
[FastAPI] 스웨거(Swagger) HTTP 기본 인증 `Authorize` 적용하기 Swagger(스웨거)에서 API 호출 시 아이디와 비밀번호를 입력하여 기본 HTTP 인증을 적용할 수 있습니다. 스웨거 문서를 보면 각 API 호출 부분 오른쪽에 자물쇠 아이콘이 생기며, `Execute` 클릭 시에 계정 인증을 요구합니다. Simple HTTP 인증 적용하기 해당 API 호출하는 곳에 `Dpends`으로 아래 코드를 넣어주면 됩니다. security = HTTPBasic() credentials: HTTPBasicCredentials = Depends(security) 예제 security = HTTPBasic() router = APIRouter( prefix="/token", tags=["token"], responses={404: {"description": "Not found".. 2022. 12. 12.