시리즈

파일 업로드 리팩토링기

산발적 파일 관리 로직의 문제를 인식하고, useTempFileManager를 v1에서 v2로 리팩토링한 과정

5개의 글

  1. 1.
    파일 업로드 리팩토링기 #1. 같은 API, 다른 에러 처리 5곳 하나의 파일 API를 5개 컴포넌트에서 각각 useMutation으로 정의하고, 에러 처리가 제각각인 문제를 정리합니다. March 23, 2026
  2. 2.
    파일 업로드 리팩토링기 #2. 에러 나면 파일이 사라지는 훅 업로드 상태를 통합하기 위해 만든 커스텀 훅이, 에러 시 파일을 Map에서 바로 삭제해버리는 구조였습니다. v1의 설계를 분석하고 한계를 정리합니다. March 24, 2026
  3. 3.
    파일 업로드 리팩토링기 #3. 훅의 책임을 어디까지 넓힐 것인가 v1이 업로드만 래핑했던 한계를 넘어, 어떤 API를 훅에 포함하고 어떤 API는 제외할지 판단 기준을 세우고, v2의 인터페이스와 상태 모델을 설계합니다. March 24, 2026
  4. 4.
    파일 업로드 리팩토링기 #4. 에러가 나도 파일이 남는 훅 3편에서 설계한 인터페이스를 구현합니다. 에러 복구, 업로드 진행률, 동시성 제어, 취소, 확정 통합까지 v2의 핵심 구현을 다룹니다. March 24, 2026
  5. 5.
    파일 업로드 리팩토링기 #5. 50MB를 올리고 나서야 비율이 안 맞는 걸 알았다 메타데이터 검증으로 충분하다고 생각했지만, PDF 페이지 비율 문제를 만나면서 콘텐츠 검증이라는 새로운 레이어가 필요해졌습니다. 함수 주입 vs 설정 기반, 동기 vs 비동기 경계를 설계한 과정을 다룹니다. March 25, 2026