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