Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] Image 패키지 리팩터링 #552

Open
12 of 16 tasks
Tracked by #551
junpakPark opened this issue Oct 5, 2023 · 0 comments
Open
12 of 16 tasks
Tracked by #551

[BE] Image 패키지 리팩터링 #552

junpakPark opened this issue Oct 5, 2023 · 0 comments
Assignees
Labels
BE 백엔드 관련 이슈 refactor 리팩토링 관련 이슈 우선순위 : 중

Comments

@junpakPark
Copy link
Collaborator

junpakPark commented Oct 5, 2023

🛠️ 작업 대상

  • Image 패키지
    • 흩어져있는 Image 관련 로직이나 클래스를 Image 패키지로 모은다.
    • Image 패키지 내의 각 클래스들이 적절한 레이어에 위치하도록 이동시킨다.
  • 해당 패키지를 의존하는 모든 패키지
    • S3 Upload 과정과 DB Transaction 과정을 분리하기 위해 이벤트를 사용한다.
      • S3 업로드 과정의 경우, RDB가 아니기 때문에 트랜잭션 경계 설정 내부에 있어도 Rollback이 되지 않는다.
      • S3 업로드 과정이 트랜잭션 경계 설정 내부에 있는 경우 트랜잭션이 지연되는 결과를 가져온다.

✅ 작업 내용

Image 패키지 내부 리팩터링

  • Image 패키지 레이어 재분배
  • Image 클래스 common에서 Image 패키지로 이동
  • 불필요 의존성 제거
  • domain 리팩터링
  • 관련 커스텀 예외 구현
  • Infrastructure 리팩터링
    • tempFile 대신 InputStream을 이용한 방식으로 변경
    • try-with-resource 적용
  • 불필요 클래스 삭제

Image 패키지 의존 Service 리팩터링

  • 스프링 이벤트를 이용하여, S3 Upload 과정과 DB Transaction 과정 분리
  • 패키지별 Info 수정 시, 사진 변경 기능 구현

📎 참고 자료

⏰ 추정 시간

낙관적 : 8시간
비관적 : 16시간

@junpakPark junpakPark added BE 백엔드 관련 이슈 우선순위 : 중 refactor 리팩토링 관련 이슈 labels Oct 5, 2023
@junpakPark junpakPark added this to the 최종 데모데이 milestone Oct 5, 2023
@junpakPark junpakPark changed the title Image 패키지 [BE] Image 패키지 리팩터링 Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE 백엔드 관련 이슈 refactor 리팩토링 관련 이슈 우선순위 : 중
Projects
Status: In Progress
Development

No branches or pull requests

4 participants