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-88] 지원서 칸반보드 및 지원자 페이지별 면접 기록 조회 캐싱 적용 #231 #232

Open
wants to merge 20 commits into
base: develop
Choose a base branch
from

Commits on Sep 10, 2024

  1. [config]: 캐시 응답을 위해 CacheControl 헤더 적용

    - ETag 사용을 위해 `Cache-Control`헤더에 `no-cache`, `must-revalidate` 적용
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    fef89cf View commit details
    Browse the repository at this point in the history
  2. [config]: ETag 응답 헤더를 포함시켜주는 필터 등록

    - 응답을 받아 고유한 ETag를 생성하고 요청의 If-None-Match와 비교하여 값이 같다면 304 응답 반환
    - 해당 필터를 로컬에서 사용하려면 `@Profile`에 `local` 추가하기
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    4ca0c78 View commit details
    Browse the repository at this point in the history
  3. [config]: 캐싱을 위한 CacheManager 빈 등록

    - 사용할 캐시 저장소를 등록
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    5a22e03 View commit details
    Browse the repository at this point in the history
  4. [feat]: Board 응답 캐싱

    - `BoardService::getBoardByColumnsIds` 응답 캐싱
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    7b4fe05 View commit details
    Browse the repository at this point in the history
  5. [feat]: Column 응답 캐싱

    - `ColumnService::getByNavigationId` 응답 캐싱
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    86a9d93 View commit details
    Browse the repository at this point in the history
  6. [feat]: Card 응답 캐싱

    - `CardService::getByNavigationId` 응답 캐싱
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    7ae0121 View commit details
    Browse the repository at this point in the history
  7. [feat]: Record 응답 캐싱

    - `RecordService::execute` 응답 캐싱
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    60a8887 View commit details
    Browse the repository at this point in the history
  8. [fix]: LocalDateTime 직렬화 문제 해결

    InvalidDefinitionException: Java 8 date/time type `java.time.LocalDateTime` not supported by default
    
    위와 같은 오류가 발생했고, `LocalDateTimeSerializer`, `LocalDateTimeDeserializer`를 적용해 오류 해결
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    1e94f81 View commit details
    Browse the repository at this point in the history
  9. [fix]: RedisCacheManager에서 BoardCardResponseDto 직렬화 오류 해결

    - 기본 생성자가 없어 Jackson 라이브러리에서 `InvalidDefinitionException` 예외를 발생시킴
    - 기본생성자를 `@@NoArgsConstructor`로 넣어주고 `@Builder` 어노테이션을 사용하기 위해 `@AllArgsConstructor`를 함께 추가
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    7254ac2 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8f1cad3 View commit details
    Browse the repository at this point in the history
  11. [feat]: boardsByColumnIds가 columnId마다 개별적으로 캐싱

    - self invocation을 방지하기 위해 `BoardCacheService` 클래스를 구현
    - columnIds를 순회하며 columnId 각각을 key로 가지는 캐싱 적용
    
    이를 통해 `@CacheEvict` 시 key 값으로 columnId를 넘겨 필요한 부분만 무효화를 적용시킬 수 있음
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    ec45fd2 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    69c8383 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    d5a355a View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    50a27e2 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    b1a9523 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    8b11bf2 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    4bec5ca View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    329c390 View commit details
    Browse the repository at this point in the history
  19. [refactor]: 불필요한 로직 제거

    업무카드를 삭제할 때만 호출되는 메서드이므로 지원서 카드 댓글에 대한 캐시 무효화 로직은 불필요해 제거
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    8d8faeb View commit details
    Browse the repository at this point in the history
  20. [refactor]: 캐시 저장소 이름을 _Ids에서 _Id로 변경

    기존에는 columnId 들을 리스트로 받아 key로 적용했기에 Ids를 사용
    
    현재는 columnId마다 key로 구분하므로 Id로 변경
    Profile-exe committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    ad88883 View commit details
    Browse the repository at this point in the history