fastapi 3

FastAPI에서 MySQL 연결

FastAPI에선 SQLAlchemy ORM 라이브러리로 DB를 조작할 수 있다. 먼저 MySQL과 연결하기 위해 sqlalchemy를 설치한다. pip install sqlalchemy ✅ 설정 파일 추가하기 FastAPI에 ORM을 적용하려면 데이터베이스 설정이 필요하다. database.py 파일을 생성하고 아래와 같이 코드를 작성한다. # app/database/conn.py from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker from common.config import Settings SQLALCHEMY_DAT..

Python/FastAPI 2023.12.24

Dependency와 FastAPI에서의 Dependency Injection

의존성(Dependency)이란? 코드에서 의존성은 두 모듈간의 연결을 의미한다. class A가 다른 class B를 사용할 때 A는 B에 의존한다고 볼 수 있다. 즉 한 객체의 코드에서 다른 객체를 생성하거나 다른 객체의 메서드를 호출할 때, 또는 파라미터로 객체를 전달받아 사용할 때 의존성이 발생한다고 할 수 있다. 이렇게 되면 A는 B 없이는 작동할 수 없고 B를 재사용하지 않으면 A또한 재사용할 수 없으며 하나를 수정하면 다른 클래스에도 영향을 끼치게 된다. 강한 결합은 강한 의존성을 만들게 되고 이는 유지보수를 힘들게 하며 재사용을 어렵게 만든다. ​ 의존성 주입(Dependency Injection)이란? 흔히 DI(Dependency Injection)라고 불리는 의존성 주입은 위와 같은 ..

Python/FastAPI 2023.12.22

FastAPI에서 JWT 로그인 기능 구현하기(회고)

IT 서비스를 이용하면서 로그인 기능은 흔히 볼 수 있는 기능이다. 가장 흔하고 구현을 위한 수 많은 라이브러리가 존재하기 때문에 쉽지만, 그만큼 보안에 있어서 가장 중요한 부분이기 때문에 신경써야 할 점들이 많다. 회사에서 내년 3월 일본에 테스트할 서비스를 만들면서 로그인 기능구현을 담당하게 됐다. 어떤 방식을 적용하면 좋을까 고민하게 됐었고, JWT와 AccessToken, RefreshToken을 이용하기로 했다. 이틀이라는 시간에 걸쳐 현재는 로그인 구현을 완료한 상황이지만 구현하는 과정에서 생겼던 의문점과 회고를 기록하고 싶다는 생각이 들었다. FastAPI에 대한 이해 현재 다니고 있는 회사는 Python 기반의 FastAPI 프레임워크를 사용한다. FastAPI는 어플리케이션을 빠르게 개발..

Python/FastAPI 2023.12.16
728x90