FastAPI

Web

[FastAPI] 클라우드 플랫폼, Qoddi를 활용한 FastAPI 배포

Qoddi를 활용한 FastAPI 배포Qoddi는 클라우드 애플리케이션 호스팅 플랫폼으로 FastAPI를 배포하기 위해 사용하게 되었다. Qoddi 문서를 확인하면 배포가 가능하지만, 생각보다 직관적이지 않았다. 또한 FastAPI 배포를 위해 정리된 것을 찾지 못했기에 정리해두려고 한다. Qoddi Python Documentation Qoddi - Premium Cloud App Hosting PlatformQoddi App Hosting Platform. Deploy, manage and scale Node.js, Python, GO, Java, Ruby, PHP apps in seconds. The best alternative to Heroku | Qoddiqoddi.com배포를 위한 여정회원가..

Web

[FastAPI] pytest의 개념과 활용

pytest의 개념과 활용개념테스트테스트란 소프트웨어 프로그램이 요구 사항에 맞게 동작하는지 확인하는 과정이다. 버그를 발견하고, 코드 변경이 기존 기능에 영향을 주는지 검증하는 역할을 한다.단위 테스트 (Unit Test) : 개별 함수나 메서드를 테스트기능 테스트 (Function Test) : 특정 기능이 올바르게 동작하는지 검증통합 테스트 (Integration Test) : 여러 모듈이 함께 동작하는지 테스트E2E 테스트 (End To End Test) : 전체 시스템을 사용자 관점에서 테스트회귀 테스트 (Regression Test) : 기존 기능이 변경 없이 유지되는지 확인단위/통합/E2E 테스트에 대해 자세히 확인하고 싶다면, 링크 참고pytestpytest는 Python의 대표적인 오픈소..

Web

[FastAPI] OAuth2와 JWT를 활용한 인증 구현

OAuth2와 jwt를 활용한 인증 구현개념OAuth2 (Open Authorization 2.0) OAuth2 (Open Authorization 2.0)은 계정 정보를 직접 공유하지 않고 서비스 간 정보를 안전하게 공유할 수 있도록 한다. 또한 비밀번호 공유 없이 권한 부여를 수행할 수 있으며, Access Token을 통해 API 요청에 대한 인증을 처리한다.Resource Owner : 사용자, 데이터를 소유하는 주체Client : 애플리케이션, 사용자를 대신해 API 요청을 수행Authorization Server : OAuth2 인증을 수행하고 토큰을 발급하는 서버Resource Server : API 요청을 처리하는 서버 (FastAPI)Access Token : 인증된 사용자만 API를 사..

Web

[FastAPI] DB Migration을 위한 alembic 개념과 활용

DB Migration을 위한 alembic 개념과 활용개념Migration (마이그레이션)마이그레이션은 데이터, 소프트웨어, 시스템 또는 인프라 등의 기술적 자원을 다른 시스템으로 이동하는 과정을 의미한다. 데이터 마이그레이션 : DB, Storage에서 데이터를 한 위치에서 다른 위치로 이동하는 프로세스스키마 마이그레이션 : DB의 테이블 추가, 수정, 삭제 등 DB 구조 변경을 적용하는 프로세스소프트웨어 마이그레이션 : 기존의 시스템을 새로운 버전이나 다른 플랫폼으로 이전하는 프로세스시스템 마이그레이션 : 기존의 하드웨어나 운영체제를 새로운 하드웨어, 운영체제로 이전하는 프로세스인프라 마이그레이션 : 네트워크, 서버, 스토리지 등 IT 인프라를 한 위치에서 다른 위치로 이동하는 프로세스FastAPI..