chore(S15P11A705-320): place 썸네일 더미를 WebP로 교체하고 실제 이미지 경로를 확정한다 - #194
Merged
Conversation
썸네일은 처음부터 WebP로 계획했으나 로컬에 인코더가 없어 JPEG로 생성했다 (S15P11A705-305). Pillow로 인코딩이 되는 것을 확인해 계획대로 되돌렸다. 더미 4장을 1200×900(4:3) 그대로 변환했고 26~32KB에서 7~11KB로 줄었다. MIME 매핑은 손댈 필요가 없었다. image/webp로 서빙되지 않으면 매핑을 추가할 생각이었는데 정적 서빙 테스트가 그대로 통과했다. 대신 Content-Type 단정을 남겨 뒀다 — 매핑이 빠지면 application/octet-stream으로 나가고, 그 회귀를 잡는 자리가 없으면 조용히 넘어간다. 실제 표지 이미지를 둘 곳은 static/images/places/test/로 정했다. 목업이라는 것이 경로에서 드러나고, SecurityConfig의 PUBLIC_STATIC_ASSETS (/images/places/**)가 하위 경로까지 덮으므로 시큐리티 설정과 정적 서빙 테스트를 고칠 필요가 없다. 시연 준비 UPDATE의 값도 그 경로를 따른다. 8월 4일 워크로그의 낡은 경로 표기는 고치지 않고 새 항목에 정정을 적었다 (worklog/README.md의 기록 보존 규약). 더미를 main 리소스로 옮기지 않았다. 배포 산출물에 실리면 UPDATE가 더미를 가리켜 시연에 가짜 사진이 뜰 수 있다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
minyongP
force-pushed
the
chore/S15P11A705-320-place-thumbnail-webp
branch
from
August 5, 2026 01:16
794a6d8 to
03f9759
Compare
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
썸네일 더미 이미지를 계획대로 WebP로 되돌리고, 실제 표지 이미지를 둘 경로를
static/images/places/test/로 확정해 기록한다. 이후 이미지를 넣고 배포 DB를 연결하는 것만 남긴다(S15P11A705-321).Jira (필수)
관련 GitHub Issue (선택)
닫는 이슈 없음. back#188은 시연용 이미지 수급과 place 연결을 함께 요구하므로 이 PR로 해소되지 않는다 — 그쪽은 S15P11A705-321이 받는다. 여기서
Closes #188을 쓰면 일이 남은 이슈가 닫힌다.변경 사항
.jpg→.webp로 교체하고 JPEG를 제거했다. 1200×900(4:3) 유지, 2632KB → 711KB. 변환은 Pillow로 했다(cwebp·ImageMagick 없음,convert는 Windows FAT 변환기이므로 쓰지 않는다).PlaceThumbnailAssetTests가/images/places/cafe-1.webp에 대해 200과image/webpContent-Type을 단정한다.RecordApiTests의thumbnailUrl기대값을/api/core/images/places/test/cafe-1.webp로 갱신했다.MIME 매핑은 추가하지 않았다.
image/webp로 서빙되지 않으면 매핑을 넣을 생각이었는데 그대로 통과했다. 단정만 테스트에 남겼다 — 매핑이 빠지면application/octet-stream으로 나가고, 잡는 자리가 없으면 조용히 넘어간다.더미를 main 리소스로 옮기지 않았다. 배포 산출물에 실리면 시연 준비 UPDATE가 더미를 가리켜 가짜 사진이 뜰 수 있다.
테스트 / 검증
./gradlew clean check --no-daemonRED — 새 테스트를 옛 리소스(
.jpg)에 얹어 별도 워크트리에서 돌렸다.RecordApiTests는 RED에서도 통과했다. 그 테스트는 SQL로 넣은 문자열이 응답에 그대로 실리는지만 보므로 실제 파일에 의존하지 않는다 — 이번 변경은 값의 일관성을 맞춘 것이고, 서빙을 실증하는 것은 asset 테스트다.GREEN
Regression —
origin/dev(7d9b87a) 리베이스 후 재실행했다.리뷰 포인트
docs/backend/worklog/README.md가 "바로잡을 일이 생기면 그 사실을 적은 새 항목을 추가합니다"라고 기존 항목 수정을 금지한다. 그래서 8월 4일 항목은 그대로 두고 새 항목에 정정을 적었다.test/하위를 고른 이유: 목업이라는 것이 경로에서 드러나고,SecurityConfig의PUBLIC_STATIC_ASSETS(/images/places/**)가 하위 경로까지 덮으므로 시큐리티 설정과 정적 서빙 테스트를 고칠 필요가 없다.미결 / 후속
thumbnail_url은 전부null이라 프론트(record 상세에 place 썸네일을 반응형으로 표시한다 front#94)는 폴백 경로만 검증할 수 있다.test/가 없으므로 그대로 쓰면 안 된다.docs레포의08_API_명세.md·06_데이터모델_및_무결성.md는 포맷을 애초에 적지 않았고 경로도/api/core/images/places/…로 열려 있다. 어긋난 것은 프론트 전달 이슈뿐이어서 그쪽을 고쳤다.