Skip to content

Conversation

@khyaejin
Copy link
Contributor

@khyaejin khyaejin commented Dec 7, 2025

연관 이슈

작업 내용

  • 사전예매 응답값에 입장 시작 시간(16:30) 필드 추가
  • 예매 생성 시 문자 발송 로직 추가 및 개선
  • S3 업로드 시 cacheControl 적용(캐싱 및 CDN 배포를 위한 사전 작업)
  • Docker 실행 시 서버 타임존을 Asia/Seoul 로 고정
  • 예매 알림 메시지 구조 개선 및 로깅 정교화
  • Discord Webhook 기반 알림 구조 도입 준비

논의하고 싶은 내용

  • 문자 발송 실패 시 알림/로그 처리 방식 결정
  • 캐싱 정책을 CloudFront 적용 기준으로 확대해야 할지 여부

공유하고 싶은 내용

  • 캐시Control 적용 결과 초기 S3 응답 개선 효과 확인
  • 서버 타임존 고정으로 예약/로그 시간 불일치 문제 해결됨

기타

  • CoolSMS 크레딧 충전 필요

@khyaejin khyaejin self-assigned this Dec 7, 2025
@khyaejin khyaejin added bug 버그 또는 오류를 수정 refactor 코드의 동작 변경 없이 내부 구조나 가독성을 개선하는 작업 labels Dec 7, 2025
@github-actions
Copy link

github-actions bot commented Dec 7, 2025

코드 리뷰

1. DiscordWebhookSender 클래스의 예외 처리

  • 근거: sendToWebhook 메소드에서 예외 발생 시 System.out.println으로 로그를 남기고 있으나, 이는 생산 환경에서의 로그 관리를 고려할 때 적절하지 않습니다.
  • 수정 제안: SLF4J와 같은 로깅 라이브러리를 사용하여 로그를 남기는 것이 좋습니다. 예를 들어, Logger를 주입받고 log.error를 사용하여 오류를 기록하는 방식으로 변경해보세요.

2. S3Uploader의 캐시 관련 설정

  • 근거: S3 업로드 시 캐시 제어 설정이 max-age=2592000, public으로 되어 있으나 이 값을 실제 사용 사례와 맞도록 설정할 필요가 있습니다. 이 설정이 의미하는 바가 프로젝트의 요구에 부합하는지 확인할 필요가 있습니다.
  • 수정 제안: 캐싱의 필요성과 기간을 문서화하고, 필요하다면 이 값을 IConfiguration 또는 환경 변수로 처리할 수 있도록 변경하는 것이 좋습니다.

3. AdminMessageServiceImpl의 문자 발송 로직

  • 근거: 문자 발송 실패 시 System.out.println을 사용하여 로그를 출력하고 있습니다. 이는 오류 상황을 완전히 모니터링하기 어렵습니다.
  • 수정 제안: SLF4J 로거를 사용하여 오류를 기록하고, 그 내용을 추적 가능하도록 개선해야 합니다. 또한 failCount가 증가할 때마다 상세한 로그를 남기는 것이 좋습니다.

4. 메시지 로깅 및 전송

  • 근거: 문자 발송 및 예매 삭제 시 로깅의 일관성이 떨어집니다. 로그 메시지 포맷이나 전송되는 정보가 일관되지 않습니다.
  • 수정 제안: 메시지 포맷을 통일하고, 어떤 정보가 필요한지를 명확히 하여 로그 내용과 전송할 메시지를 구조화하는 것이 좋습니다. 예를 들어, 통일된 로그 형식을 마련하는 것이 유익합니다.

5. replacePerformanceImages 메소드에서의 null 체크

  • 근거: newImages가 null일 경우 for 루프에서 NPE(Null Pointer Exception)가 발생할 수 있습니다.
  • 수정 제안: null 체크를 if (newImages != null && !newImages.isEmpty())의 순서로 올리는 것이 아니라, if (newImages == null || newImages.isEmpty())로 먼저 체크하는 것이 코드의 안정성을 높입니다.

핵심 평가

PR의 전반적으로 개선된 코드는 잘 구성되어 있으나, 로깅과 예외 처리를 강화해야 합니다. 또한, 코드의 일관성을 유지하고, 명확한 설정을 도입하는 것이 필요합니다. 최종적으로 품질이 높은 시스템을 만드는 데 기여할 것입니다.

@khyaejin khyaejin merged commit 44adc35 into develop Dec 7, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug 버그 또는 오류를 수정 refactor 코드의 동작 변경 없이 내부 구조나 가독성을 개선하는 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[fix] 최종 수정사항 반영

2 participants