2025-10-28

1일 1아티클

요즘IT

FastAPI

트러블슈팅

  1. (DB) 프론트엔드에서 API 두 번 호출 시 SQLAIchemy 예외 발생
    • FastAPI 들어오는 HTTP 요청이 고유 작업 단위로 처리되고, 요청마다 새로운 DB 연결 생성하도록 구현
    • 원인 : 파이썬 클래스 변수와 인스턴스 변수의 차이를 이해하지 못한 것
  2. 패키지 구조의 함정
    • ORM 클래스 안에 데이터 조회 코드를 넣으려고 시도 → 참조 관계들이 얽혀 상호 참조 문제 발생
    • DB를 쿼리하려는 코드를 묶어 SQLAIchemy 쿼리 빌더형태로 변환하는 라이브러리 제작
  3. 클래스 생성의 장단점
    • 가급적 모든 코드를 클래스로 묶은 구조로 제작
    • 비즈니스 로직 성격에 따라 하나의 클래스에 모을 수 있음
    • 클래스 생성자 DB 세션 및 사용자 인증 상태 전달하여 State 관리 가능
    • but 일반적으로 데이터 객체 제외한 모든 객체는 함수로 구성
  4. 뒤늦은 테스트 코드
    • 초기에 Postman 의존한 작업
    • 고통의 수레바퀴 과정에서 소모되는 시간이 매우 많음
    • TDD 방식 도입, ToxPytext 도입
  5. PHP + Codeigniter
    • HTML 안에 PHP 스크립트를 직접 끼워넣는 구조
    • 서버가 200 Response 응답 미반환 시, 단순 try-catch 로 해결하기 어려움
  6. python의 라이브러리 활용하기 (웬만한건 다 있다)
    • Controller DTO → Service DTO → ORM Model 변환 과정에서 유효성 검사, 데이터 복사 코드 급증
    • Pydantic 라이브러리 활용 : model_validator(데이터 변환), @field_validator(값 체크), @computed_field(간단한 연산 묶기)

오늘 배운 것

  1. AI
    • 가속기
    • 양자화

내일 할 일

참고자료

results matching ""

    No results matching ""