작업 개요
- 프로젝트/업무명 : 안티드론성능평가시스템/백엔드
- 기간 : 2025.03.02~
- 주요 기술 스택 : Java, MySQL, Spring Boot
배운 점
- 복잡한 JSON 구조는 오히려 개발 생산성을 떨어뜨릴 수 있음
- List<Map<String, Map<String, Object>>>와 같은 구조는 처음에는 유연해 보이지만, 실제 구현과 디버깅, 프론트 연동, 테스트 단계에서는 구조의 명확성이 훨씬 더 중요하다는 점을 체감
- DTO(Data Transfer Object)는 단순한 데이터 구조 정의가 아니라, 시스템 전체의 의사소통 도구
- 명확한 필드 명칭과 타입 명세 덕분에 백엔드에서 작업 효율이 높아졌고 → IDE 자동완성, 문서화, 유지보수 등의 다양한 이점도 함께 따라옴
- 구조화된 응답을 만드는 과정은 기능 구현의 일부가 아닌 설계의 일부로 인식해야 함
- API의 응답 구조는 사용자의 최종 결과물로 이어지기 때문에, 개발 초기에 반드시 설계되어야 함
개선할 점
- 기능을 급하게 작성할 때일수록 단기 효율보다 장기 구조의 명확성을 우선 고려해야함
- 앞으로 복잡한 데이터를 응답해야 할 경우, 다음 3단계를 습관화할 것
- 먼저 데이터 구조를 종이 또는 간단한 메모로 그려보기
- 각 항목에 대한 DTO 설계
- 프론트엔드와 구조 확정 후 기능 구현 시작
- DTO 설계를 코드로만 끝내지 말고, API 명세서 또는 응답 예시와 함께 문서화 해 둘 필요가 있음
- 이후 테스트 작성, 문서 공유, 협업 시 기준점으로 활용 가능