프로젝트를 완료한 다음 날, AI에게 프로젝트 피드백을 요청해보았다.
튜터님께 피드백을 받았지만, 한 사람의 시선에 머무르기 보다 다양한 관점에서 검토받는 것이 객관적인 성장에 도움이 될 것 같아 AI에게도 피드백을 요청해보았다.
보안 설정 우선 수정
현재 SecurityConfig에서 /api/v1/**경로가 permitAll()로 설정되어 있어 대부분의 API가 인증 없이 접근 가능한 상태라서 JWT 필터를 구현했더라도 인가 정책이 이렇게 열려 있으면 사실상 무용지물이라는 지적을 받았다.
왜 중요한가? : 사용자 정보, 주문, 결제 등 민감한 API가 외부에 노출될 경우 비즈니스에 치명적인 타격을 줄 수 있습니다.
해결방안 : 모든 경로에 대한 허용을 제거하고, 로그인, 회원가입, 이메일 인증 등 최소한의 공개 엔드포인트만 허용하도록 수정할 예정이다.
CI에서 테스트 스킵 제거
현재 CI 워크플로가 ./gradlew build -x test로 설정되어 테스트를 아예 건너뛰고 있다는 점이 리스크로 꼽혔다.
빌드 속도는 빠를지 몰라도, 배포 직전의 최종단계를 빼 버리는것과 같다.
왜 중요한가? : 코드 수정이 기존 기능에 영향을 주는 '회귀 버그'를 자동으로 잡아낼 수 없게 된다.
해결방안 : -x test 옵션을 제거하고, 핵심 도메인들을 중심으로 최소 단위의 테스트 세트부터 구축하여 CI의 신뢰성을 회복할 생각이다.
운영 로깅 및 설정 분리
개발 편의를 위해 켜두었던 SQL 출력과 TRACE 레벨의 로그가 기본 설정에 포함되어 있다.
이는 로컬 환경에서는 유용하지만 운영 환경에서는 독이 될 수 있다.
왜 중요한가? : 트래픽이 몰리는 실서비스에서 과도한 로깅은 성능 저하를 일으키고, 로그에 포함된 민감 정보가 노출되는 보안 사고의 원인이 된다.
해결방안 : dev와 prod프로파일을 분리하고 운영서버는 INFO/WARN 중심의 로깅으로 제한하여 시스템 자원을 최적화하고 보안성을 높일 계획이다.
정리
튜터님의 피드백이 전체적인 흐름을 보게 해 주었다면 AI의 피드백은 당장 치워야 할 결함등을 찾아주었다.
기능이 돌아가는것과 서비스가 살아남는것은 별개의 문제라는 사실을 체감했다.
'TIL' 카테고리의 다른 글
| TIL - DDD구조 이해 (0) | 2026.03.17 |
|---|---|
| TIL - JWT 정리 (0) | 2026.03.16 |
| TIL - 프로젝트 발표 피드백을 통해 배운 문서 작성법 (0) | 2026.03.12 |
| TIL - 결제 금액 조작문제 서버측 이중검증으로 방어하기 (0) | 2026.03.11 |
| TIL - 결제 시스템 구조 재구성 (0) | 2026.03.10 |