fastapi (2) 썸네일형 리스트형 [MeMind 리팩토링] 2. OCP 원칙 적용하기 ▽ SRP 원칙을 적용하는 과정은 이전 포스팅을 참고해주세요!! ▽ [MeMind 리팩토링] 1. SRP 원칙 적용하기 비즈니스 로직을 포함하는 Service 디렉토리의 코드에 SRP 원칙 (단일 책임 원칙)을 적용해보려고 한다. 1. 기존 코드 분석 # service/talk.py """ ChatGPT와의 API 통신을 통해 대화하는 로직 """ from fastapi impo it-is-my-life.tistory.com 1. 기존 코드 분석 이전 포스팅에서 SRP 원칙까지 적용 완료된 코드의 가장 큰 문제점은 비슷한 일을 하는 클래스들이 너무 많다는 것이다. # 월별 Conversation 조회 class MonthlyConversationLoader: def __init__(self, sessio.. [FastAPI] SQLModel에서 default와 default_factory 옵션의 차이점 sqlmodel을 이용해서 데이터베이스 모델을 구현하고 있었는데, 날짜 값이 입력되지 않을 경우에 datetime 함수를 실행해서 자동으로 날짜를 채우도록 필드에 default 옵션을 줬는데도 불구하고 날짜가 업데이트 되지 않고 어느 한 날짜로 계속 고정이 되어 있는 문제가 발생했다. 문제는 바로 이 default 옵션에 있었다. 내 코드 중 문제가 되는 부분으로 살펴보자. class Conversation(SQLModel, table = True): nickname: str = Field(foreign_key = User.nickname) conversation_id: str = Field(default = None, primary_key = True) day: Optional[int] = Field(.. 이전 1 다음