컴파일 타임 에러 개요
즉시 감지
API 변경 시컴파일 타임 에러
런타임 안전
배포 전 발견프로덕션 안정성
IDE 통합
빨간 밑줄즉각적인 피드백
리팩터링 안전
대규모 변경영향 범위 파악
컴파일 타임 에러란?
문제: 런타임에만 발견되는 에러
전통적인 개발에서는 API 변경이 런타임에서만 발견됩니다.- 프로덕션에서 발생: 사용자가 직접 경험
- 발견 지연: QA나 사용자 리포트로만 발견
- 디버깅 어려움: 어디서 문제가 발생했는지 추적 필요
- 신뢰도 하락: 서비스 안정성 저하
해결: 컴파일 타임 에러
Sonamu는 API 변경을 컴파일 타임에 즉시 감지합니다.- ✨ 즉시 발견: 코드 작성 중 IDE에서 즉시 표시
- ✨ 배포 전 수정: 프로덕션 배포 전에 모든 문제 해결
- ✨ 영향 범위 파악: 변경이 영향을 주는 모든 곳 확인
- ✨ 자동 리팩터링: IDE의 Rename 기능 활용
에러 감지 시나리오
1. 필드명 변경
2. 필드 타입 변경
3. 필수/옵셔널 변경
4. 필드 삭제
5. 파라미터 변경
6. 반환 타입 변경
리팩터링 지원
대규모 변경도 안전
API 변경이 영향을 주는 모든 위치를 즉시 파악할 수 있습니다.- IDE의 “Problems” 패널에서 모든 에러 확인
- 각 위치를 방문하여 새로운 구조에 맞게 수정
- 모든 에러가 해결되면 컴파일 성공
- 안전하게 배포
IDE의 자동 리팩터링 활용
TypeScript의 강력한 리팩터링 기능을 활용할 수 있습니다. 예시: 필드명 일괄 변경- Service 파일에서 타입 확인
- 필드명에 커서 위치
- F2 (Rename Symbol) 또는 우클릭 → Rename
- 새 이름 입력
- 모든 사용처가 자동으로 변경됨
실전 워크플로우
1. 백엔드 API 변경
2. Service 재생성
3. TypeScript 컴파일
4. 에러 수정
5. 재검증
6. 안전하게 배포
모든 타입 에러가 해결되었으므로 안전하게 배포할 수 있습니다.CI/CD 통합
TypeScript 체크를 CI에 추가
- Pull Request에서 타입 에러 자동 감지
- 타입 에러가 있으면 머지 차단
- 팀 전체의 코드 품질 보장
베스트 프랙티스
1. 정기적인 Service 재생성
2. Pre-commit Hook 설정
3. VSCode 설정
4. 타입 에러 무시하지 않기
@ts-ignore는 절대 사용하지 마세요. 타입 에러는 실제 문제를 나타냅니다.
