컴파일 타임 에러 개요
즉시 감지
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는 절대 사용하지 마세요. 타입 에러는 실제 문제를 나타냅니다.
에러 메시지 이해하기
자주 보는 에러 메시지
1. Property does not exist주의사항
다음 단계
API 타입 추론
타입 추론 이해
공유 타입
타입 파일 구조
Service 사용하기
Service 활용법
테스팅
테스트 작성