백엔드

Prisma

N+1, transaction, extension, Decimal

15개의 글
  1. 백엔드/API설계

    API 에러 처리 표준화: withErrorHandler 패턴으로 중앙집중화하기

    API 엔드포인트가 늘어나면서 에러 처리 코드가 중복되고 응답 형식도 제각각이었습니다. withErrorHandler 래퍼와 세분화된 에러 클래스로 문제를 해결한 경험을 공유합니다.

    11분 읽기
  2. 백엔드/Prisma

    Prisma 일괄 업데이트에서 동시성 이슈 해결하기 ($transaction 활용)

    두 사용자가 동시에 일괄 상태 변경을 실행했을 때 데이터가 꼬이는 버그를 발견했습니다. Prisma $transaction으로 TOCTOU 취약점을 해결한 방법을 공유합니다.

    10분 읽기
  3. 백엔드/Prisma

    Prisma Extension으로 민감 데이터 암호화 자동화하기

    개인정보보호법 준수를 위해 DB 민감 데이터를 암호화해야 했습니다. Prisma Extension으로 투명한 암호화를 구현하고, Blind Index로 검색 문제까지 해결한 경험을 공유합니다.

    12분 읽기
  4. 백엔드/Prisma

    Prisma N+1 쿼리 성능 문제 해결하기 (50% 속도 개선)

    API 응답이 느려서 쿼리 로그를 분석했더니 N+1 유사 패턴이 발견되었습니다. Prisma의 관계 중첩을 활용해 쿼리를 통합하고 50% 성능 개선을 달성한 방법을 소개합니다.

    10분 읽기
  5. 백엔드/Prisma

    Prisma Decimal to Number 변환 시 silent failure 방지하기

    API에서 계산 결과가 NaN으로 표시되는 버그를 발견했습니다. Prisma Decimal 타입을 Number()로 변환하면서 발생한 silent failure를 safeNumber 패턴으로 해결한 방법을 공유합니다.

    7분 읽기