POP-SPOT v2.37 — 레이트리밋 컴파일 오류와 Java 포맷 정리
v2.37 릴리즈에 포함된 Git 기록을 빠짐없이 펼친 기술 기록이다. 전문 용어는 바로 풀어 쓰고, 바뀐 모든 코드 줄을 Before → After로 비교했다.
먼저 쉽게 설명하면
레이트리밋 컴파일 오류와 Java 포맷 정리 작업이 중심이다. 이 릴리즈는 눈에 보이는 결과뿐 아니라 그 결과를 만든 파일과 코드까지 모두 추적했다.
읽는 법
Git 기준 범위
커밋 402ab2b — fix(보안): 무단 takedown 차단 + 업로드 파일 실체 검증변경 파일 7개
쉬운 설명: 무단 takedown 차단 + 업로드 파일 실체 검증 작업이다.
바꾼 이유: [P0] 비로그인 사용자가 팝업을 즉시 비노출시킬 수 있었다. /api/ 가 전부 공개인데 POST /api/popups/{id}/takedown 이 즉시 reviewStatus=TAKEDOWN 을 설정하고 공개 조회 쿼리가 그것을 제외한다. "즉시 차단" 자체는 약관 §11 과 about 페이지에 공표된 권리자 보호 정책이라 유지해야 하므로 남용 경로만 막는다.
파일 수: 7개이다.
파일 1. popspot-backend/src/main/java/com/example/popspotbackend/config/RateLimitInterceptor.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-backend/src/main/java/com/example/popspotbackend/config/WebConfig.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-backend/src/main/java/com/example/popspotbackend/controller/ChatFileController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 4. popspot-backend/src/main/java/com/example/popspotbackend/controller/PopupStoreController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 5. popspot-backend/src/main/java/com/example/popspotbackend/controller/UserProfileController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 6. popspot-backend/src/main/java/com/example/popspotbackend/repository/PopupStoreRepository.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 7. popspot-backend/src/main/java/com/example/popspotbackend/service/media/ImageUploadGuard.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 7e0dc15 — fix(신뢰): 종료된 팝업 노출 차단 + 지킬 수 없는 알림 약속 제거변경 파일 6개
쉬운 설명: 종료된 팝업 노출 차단 + 지킬 수 없는 알림 약속 제거 작업이다.
바꾼 이유: 검색으로 들어온 사용자가 "성수 팝업" 을 보러 왔는데 어제 닫힌 곳이 나오는 문제, 그리고 존재하지 않는 알림 기능을 광고하던 문구를 정리한다.
파일 수: 6개이다.
파일 1. popspot-frontend/app/HomeClient.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-frontend/app/feed.xml/route.ts
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-frontend/app/layout.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 4. popspot-frontend/app/page.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 5. popspot-frontend/app/popups/[slug]/page.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 6. popspot-frontend/src/lib/popupSlices.ts
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 06016dc — fix(툴링): ESLint 가 실행조차 못 하던 문제 — react-hooks 플러그인 해석 실패변경 파일 1개
쉬운 설명: ESLint 가 실행조차 못 하던 문제 — react-hooks 플러그인 해석 실패 작업이다.
바꾼 이유: npm run lint 이 파일 검사를 시작하기도 전에 죽고 있었다.
파일 수: 1개이다.
파일 1. popspot-frontend/eslint.config.mjs
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 3de8feb — fix(날짜): parseDate 형식 검증 보강 — parseInt·slice 우회 차단변경 파일 1개
쉬운 설명: parseDate 형식 검증 보강 — parseInt·slice 우회 차단 작업이다.
바꾼 이유: 7e0dc15 에서 달력 유효성(2026-02-31, 2026-99-99)은 막았지만, 숫자 변환 전에 문자열 모양을 확정하지 않아 두 가지가 남아 있었다.
파일 수: 1개이다.
파일 1. popspot-frontend/src/lib/popupSlices.ts
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 c908634 — fix(만료): 종료된 팝업 이중 차단 + 만료 스케줄러 타임존 버그변경 파일 3개
쉬운 설명: 종료된 팝업 이중 차단 + 만료 스케줄러 타임존 버그 작업이다.
바꾼 이유: 프론트(7e0dc15)에서 화면 단을 막았지만 검색·인기·음악추천·상세는 여전히 종료된 팝업을 내보내고 있었다. 근본 원인까지 함께 고친다.
파일 수: 3개이다.
파일 1. popspot-backend/src/main/java/com/example/popspotbackend/repository/PopupStoreRepository.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-backend/src/main/java/com/example/popspotbackend/service/PopupStoreService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupExpireScheduler.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 b084152 — style(백엔드): spotlessApply 적용 (google-java-format 1.17.0 aosp)변경 파일 22개
쉬운 설명: spotlessApply 적용 (google-java-format 1.17.0 aosp) 작업이다.
바꾼 이유: 로직 변경 없음. javadoc 재배치, 긴 인자 목록·문자열 배열 줄바꿈, 로그 호출 래핑 등 포매터 산출물만 반영한다. 22개 파일 전부 주석·공백·줄바꿈 변경이다.
파일 수: 22개이다.
파일 1. popspot-backend/src/main/java/com/example/popspotbackend/controller/MateController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-backend/src/main/java/com/example/popspotbackend/controller/MyPageController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-backend/src/main/java/com/example/popspotbackend/controller/PopupWaitController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 4. popspot-backend/src/main/java/com/example/popspotbackend/controller/SpotifyAuthController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 5. popspot-backend/src/main/java/com/example/popspotbackend/controller/StampController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 6. popspot-backend/src/main/java/com/example/popspotbackend/controller/VisitController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 7. popspot-backend/src/main/java/com/example/popspotbackend/entity/MatePost.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 8. popspot-backend/src/main/java/com/example/popspotbackend/entity/PopupWaitReport.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 9. popspot-backend/src/main/java/com/example/popspotbackend/entity/VisitLog.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 10. popspot-backend/src/main/java/com/example/popspotbackend/repository/ChatRepository.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 11. popspot-backend/src/main/java/com/example/popspotbackend/repository/PopupImageRepository.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 12. popspot-backend/src/main/java/com/example/popspotbackend/service/AiSearchService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 13. popspot-backend/src/main/java/com/example/popspotbackend/service/AuthService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 14. popspot-backend/src/main/java/com/example/popspotbackend/service/ChatIdentityResolver.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 15. popspot-backend/src/main/java/com/example/popspotbackend/service/EmailService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 16. popspot-backend/src/main/java/com/example/popspotbackend/service/MateService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 17. popspot-backend/src/main/java/com/example/popspotbackend/service/PexelsPhotoService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 18. popspot-backend/src/main/java/com/example/popspotbackend/service/PopupDedupService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 19. popspot-backend/src/main/java/com/example/popspotbackend/service/PopupPhotoService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 20. popspot-backend/src/main/java/com/example/popspotbackend/service/PopupWaitService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 21. popspot-backend/src/main/java/com/example/popspotbackend/service/backup/DatabaseBackupScheduler.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 22. popspot-backend/src/main/java/com/example/popspotbackend/service/music/MusicService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 c160b41 — feat(수집): 검색 키워드 91→391개 확장 + 수집 주기 2회→4회변경 파일 5개
쉬운 설명: 검색 키워드 91→391개 확장 + 수집 주기 2회→4회 작업이다.
바꾼 이유: 하루 수집량이 10건 안팎에 머물던 원인은 빈도가 아니라 커버리지였다. 같은 키워드로 하루 두 번 돌면 같은 블로그를 다시 읽을 뿐이다. 실제로 진행 중이던 팝업(안경만두 더현대, 라테일 연남, 하츠투하츠 등)이 검색 키워드에 아예 없어 한 번도 조회되지 않았다.
파일 수: 5개이다.
파일 1. popspot-backend/src/main/java/com/example/popspotbackend/service/PopupDedupScheduler.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupCrawlOrchestrator.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupCrawlScheduler.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 4. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupNormalizationService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 5. popspot-backend/src/main/resources/application.properties
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 bdfb0c9 — fix(보안): 무인증 전체 팝업 노출 차단 + Algolia 인덱스에도 만료 필터변경 파일 3개
쉬운 설명: 무인증 전체 팝업 노출 차단 + Algolia 인덱스에도 만료 필터 작업이다.
바꾼 이유: c908634 에서 남겨둔 두 건을 마저 처리한다.
파일 수: 3개이다.
파일 1. popspot-backend/src/main/java/com/example/popspotbackend/controller/AdminController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-backend/src/main/java/com/example/popspotbackend/controller/GoodsController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-backend/src/main/java/com/example/popspotbackend/service/SearchService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 898bd80 — fix(빌드): 레이트리밋 컴파일 오류와 Java 포맷 정리변경 파일 5개
쉬운 설명: 레이트리밋 컴파일 오류와 Java 포맷 정리 작업이다.
바꾼 이유: 커밋 제목에 적힌 문제를 해결하기 위해 코드를 바꿨다.
파일 수: 5개이다.
파일 1. popspot-backend/src/main/java/com/example/popspotbackend/config/RateLimitInterceptor.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-backend/src/main/java/com/example/popspotbackend/config/WebConfig.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-backend/src/main/java/com/example/popspotbackend/controller/ChatFileController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 4. popspot-backend/src/main/java/com/example/popspotbackend/controller/UserProfileController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 5. popspot-backend/src/main/java/com/example/popspotbackend/service/media/ImageUploadGuard.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.