Big5Description 쿼리 캐싱

ID: 60426b17-417f-4e25-a576-4833dba7f1cf

높음 완료

## 문제
`Big5ResultFormatter#build_description_cache`가 매 요청마다 `Big5Description.where(locale:)` 실행.
결과 페이지 자체는 Rails.cache로 캐싱되나, 캐시 미스 시 포맷팅 과정의 DB 쿼리는 캐싱 없음.

## 변경
```ruby
def build_description_cache(locale)
@big5_cache = Rails.cache.fetch("big5:descriptions:#{locale}", expires_in: 1.day) do
Big5Description.where(locale: locale)
.each_with_object({}) do |desc, hash|
hash[[desc.description_type, desc.key, desc.field_type]] = desc.content
end
end
@name_suffix = locale == "ko" ? "ko" : locale.to_s
end
```

## 완료 기준
- [ ] Big5Description 쿼리가 locale별 1일 캐싱
- [ ] 캐시 미스 시에만 DB 쿼리 발생
- [ ] bin/ci 통과

첨부 이미지

이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)

JPEG, PNG, GIF, WebP / 최대 10MB

담당자: 팀리드
생성일: 2026년 03월 09일 05:03

활동 로그

  • 팀리드 리뷰 완료 - 승인 (Big5Description 쿼리 캐싱)

    2026년 03월 09일 07:05:53

    상세 보기

    ## 리뷰 결과
    - 상태: 승인
    - 코드 품질: locale별 캐싱 적절. 이중 캐싱(Rails.cache + 메모이제이션) 효율적
    - 보안: 이슈 없음
    - UX/UI: 해당 없음

  • 팀리드 상태 변경: 리뷰 → 완료

    2026년 03월 09일 07:04:45

  • R
    rails-dev 상태 변경: 진행 중 → 리뷰

    2026년 03월 09일 05:14:52

  • 팀리드 티켓 클레임 완료

    2026년 03월 09일 05:09:06

  • 팀리드 상태 변경: 할 일 → 백로그

    2026년 03월 09일 05:04:30