- 서비스 트래픽 예측이 어려운 초기 단계에서 과도한 인프라 비용을 지출하는 대신, LightSail을 활용하여 최소한의 비용으로 안정적인 운영 환경을 구축했습니다.
- 그 결과, 동등한 성능인 EC2(t3.micro) 대비 26.16% 비용 절감을 달성했습니다.
- JPQL을 활용하여 쿼리 결과를 DTO에 바로 매핑하였습니다.
- 그 결과, VisualVM의 프로파일기능을 활용하여 DTO직접 매핑을 한 경우와 안 한 경우를 비교해보았고 실제 메모리 사용량이 64.1% 감소(1560B → 560B)한 것을 확인하였습니다.
- 비정형 데이터는 클라이언트와 AWS S3가 직접 Upload/Download 하도록 설계하였습니다.
- 이를 위해 S3의 signed URL 기능을 활용했으며, 스프링은 비정형 데이터에 직접 관여하지 않고, signed URL만 생성하여 제공합니다.
- 그 결과, 데이터 전송은 클라이언트와 S3가 처리하며, 스프링에 도달하는 특정 Request의 크기가 71.1% 감소했습니다. 이로 인해 스프링의 메모리 부하도 줄어드는 효과도 얻을 수 있었습니다.
- 단위 테스트 커버리지 100%를 달성하고, JaCoCo를 활용하여 지속적으로 유지하고 있습니다.
- 이를 통해
- 코드 변경에 따른 잠재적 오류를 조기에 발견하고 수정하여, 코드 안정성을 향상시켰습니다.
- 코드에 대한 확신을 갖고, 더욱 빠르고 효율적으로 개발을 진행할 수 있게 되었습니다.
- REST Assured와 Spring REST Docs를 활용하여 API 통합 테스트와 문서화를 자동화하였습니다.
- API 호출을 통해 통합 테스트를 진행하고, 그 결과를 바탕으로 Spring REST Docs가 최신 API 문서를 자동으로 생성하여 개발 효율성과 문서 정확성을 동시에 높였습니다.
- 이를 통해 API 변경 사항이 문서에 즉시 반영되므로, 항상 최신 정보가 보장되는 API 문서가 제공됩니다.











