Skip to content

Conversation

@WJKANGsw
Copy link
Collaborator

@WJKANGsw WJKANGsw commented Sep 7, 2025

요구사항

기본

Spring Event - 파일 업로드 로직 분리하기
[ ] BinaryContentStorage.put을 직접 호출하는 대신 BinaryContentCreatedEvent를 발행하세요.
[ ] 이벤트를 받아 실제 바이너리 데이터를 저장하는 리스너를 구현하세요.
[ ] 바이너리 데이터 저장 성공 여부를 알 수 있도록 메타 데이터를 리팩토링하세요.
[ ] 바이너리 데이터 저장 성공 여부를 메타 데이터에 반영하세요.

Spring Event - 알림 기능 추가하기
[ ] 채널에 새로운 메시지가 등록된 경우 알림을 받을 수 있도록 리팩토링하세요.
[ ] 사용자의 권한(Role)이 변경된 경우 알림을 받을 수 있도록 리팩토링하세요.
[ ] 알림 API를 구현하세요.
[ ] 알림이 필요한 이벤트가 발행되었을 때 알림을 생성하세요

비동기 적용하기
[ ] 비동기를 적용하기 위한 설정(AsyncConfig) 클래스를 구현하세요
[ ] 앞서 구현한 Event Listener를 비동기적으로 처리하세요
[ ] 동기 처리와 비동기 처리 간 성능 차이를 비교해보세요

비동기 실패 처리하기
[ ] S3를 활용해 바이너리 데이터 저장 시 자동 재시도 매커니즘을 구축하세요.
[ ] 재시도가 모두 실패했을 때 대응 전략을 구축하세요

캐시 적용하기
[ ] Caffeine 캐시를 위한 환경을 구성하세요
[ ] @Cacheable 어노테이션을 활용해 캐시가 필요한 메소드에 적용하세요.
[ ] 데이터 변경 시, 캐시를 갱신 또는 무효화하는 로직을 구현하세요.
[ ] 캐시 적용 전후의 차이를 비교해보세요.
[ ] Spring Actuator를 활용해 캐시 관련 통계 지표를 확인해보세요.

심화

Spring Kafka 도입하기
[ ] Kafka 환경을 구성하세요
[ ] Spring Event를 Kafka로 발행하는 리스너를 구현하세요.
[ ] Kafka Console을 통해 Kafka 이벤트가 잘 발행되는지 확인해보세요.
[ ] Kafka 토픽을 구독해 알림을 생성하는 리스너를 구현하세요.

Redis Cache 도입하기
[ ] Redis 환경을 구성하세요.
[ ] DataGrip을 통해 Redis에 저장된 캐시 정보를 조회해보세요.

주요 변경사항

멘토에게

@WJKANGsw WJKANGsw changed the title 강우진 sprint11 [강우진] sprint11 Sep 7, 2025
@WJKANGsw WJKANGsw requested a review from codingjigi September 7, 2025 08:57
@WJKANGsw WJKANGsw added 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 지각제출⏰ 제출일 이후에 늦게 제출한 PR입니다. labels Sep 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 지각제출⏰ 제출일 이후에 늦게 제출한 PR입니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant