본문 바로가기

Python Framework

(3)
[FastAPI] 📌 BackgroundTasks vs Celery — 언제 뭐 쓰면 좋을까? 목차 FastAPI에서 비동기 백그라운드 작업을 할 때, 가볍게 BackgroundTasks를 쓸지, 아니면 Celery를 쓸지 고민한 적이 있을 것이다.겉으로는 “둘 다 요청 끝나고 뒤에서 뭔가 하는” 느낌이지만, 스케일이나 내구성, 운영 복잡도에서 차이가 발생한다. 이번 글에서는 언제 어떤 걸 쓰면 좋은지 개인적인 견해를 정리해보려고 한다.언제 어떤 걸 써야 하는지 요약상황추천API 응답 직후, 짧고 가벼운 작업BackgroundTasks몇 초~수시간짜리 작업, 재시도/스케줄링 필요, 유실되면 안 됨Celery비교 표항목BackgroundTasksCelery실행 위치요청 받은 앱 프로세스 안별도의 워커 프로세스내구성프로세스 죽으면 작업 날아감브로커에 저장돼서 안전재시도직접 구현해야 함내장 지원예약/스..
[FastAPI] 🔭 OAuth2 Scopes 목차 FastAPI는 Python 기반의 최신 웹 프레임워크로, 속도와 직관성을 동시에 제공하는 것으로 유명한 프레임워크이다.그중에서도 OAuth2 Scopes 기능은 보안과 권한 관리에서 매우 중요한 역할을 한다. OAuth2 Scopes란?OAuth2 Scopes는 "누가 무엇을 할 수 있는지"를 세분화해서 정의하는 권한 단위이다.즉, 단순히 "로그인 성공"만으로 모든 API 접근을 허용하는 것이 아니라,각 API 엔드포인트마다 세부 권한을 지정할 수 있게 해주는 개념이다.예시:users:read → 사용자 정보를 읽을 수 있는 권한users:write → 사용자 정보를 수정할 수 있는 권한items → 아이템 데이터를 읽는 권한Google API 예시: https://www.googleapis.co..
[FastAPI] 🔐 JWT 로그인 구현하기 목차 사용자 인증은 모든 웹 서비스의 핵심이다.FastAPI에서는 JWT (JSON Web Token)를 활용하여 인증 기능을 간결하면서도 강력하게 구현할 수 있다. 이 글에서는 JWT 토큰 생성 → 검증 → 로그인 구현까지 실전 예제로 설명한다. 또한 FastAPI의 HTTPException과 status를 활용한 예외 처리도 함께 다룬다.JWT란?JWT (Json Web Token)는 클라이언트와 서버 간에 서로 신뢰할 수 있는 방식으로 정보를 주고받기 위한 토큰 포맷이다.JWT는 다음과 같은 구조를 가진다. Header.Payload.Signature 예시 payload:{ "id": 123, "exp": 1723042151} 준비 사항JWT 처리를 위해 python-jose 라이브러리를 사용한..