v2.38change journal

POP-SPOT v2.38 (8/9) — 스톡 이미지 제거·크롤 근거 검증 보강

김동현233
#백엔드#프론트엔드#회고#트러블슈팅
v2.38 변경 기록의 이어지는 부분이다. 같은 검증 ID 71b00f11cf3a33de38428dc687299e367b8dd68be1e9712bb01ad0e75be6aaa9를 사용한다.
커밋 f4377b5 — feat(사진): photoOrigin 으로 실사진·스톡 구분 + 상세 '분위기 이미지' 라벨변경 파일 5

GitHub에서 이 커밋 보기

파일 3. popspot-backend/src/main/java/com/example/popspotbackend/repository/PopupImageRepository.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 4. popspot-backend/src/main/java/com/example/popspotbackend/service/PopupPhotoService.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 5. popspot-backend/src/main/resources/db/migration/V20__photo_origin.sql

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 6. popspot-frontend/app/popup/[id]/page.tsx

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 7. popspot-frontend/src/lib/popupCover.ts

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 97409f1 — fix(수집): 크롤 날짜 엄격 검증 — 잘못된 형식·역전 구간 폐기변경 파일 1

GitHub에서 이 커밋 보기

쉬운 설명: 크롤 날짜 엄격 검증 — 잘못된 형식·역전 구간 폐기 작업이다.

바꾼 이유: LLM 이 준 startDate/endDate 를 형식 검증 없이 그대로 저장해, 2026-13-45 같은 실재하지 않는 날짜나 뒤집힌 구간(시작 > 종료)이 DB 에 들어가 만료·캘린더 판정을 어긋나게 할 수 있었다.

파일 수: 1개이다.


파일 1. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupNormalizationService.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 c89253d — feat(링크): 공식 사이트·예약 URL 필드 + 상세 버튼 (V21)변경 파일 6

GitHub에서 이 커밋 보기

쉬운 설명: 공식 사이트·예약 URL 필드 + 상세 버튼 (V21) 작업이다.

바꾼 이유: 상세의 sourceUrl 은 자동수집 원 출처(블로그 원문)라, 방문자를 팝업 자체의 공식 정보·예약으로 보내기엔 맞지 않았다. 별도 필드로 분리한다.

파일 수: 6개이다.


파일 1. popspot-backend/src/main/java/com/example/popspotbackend/entity/PopupStore.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 2. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/NormalizedPopup.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 3. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupCrawlOrchestrator.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 4. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupNormalizationService.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 5. popspot-backend/src/main/resources/db/migration/V21__official_links.sql

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 6. popspot-frontend/app/popup/[id]/page.tsx

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 7f9eeba — feat(캘린더): 검증된 날짜만 캘린더 추가 — iOS .ics / Android Google Calendar변경 파일 2

GitHub에서 이 커밋 보기

쉬운 설명: 검증된 날짜만 캘린더 추가 — iOS .ics / Android Google Calendar 작업이다.

바꾼 이유: 상세에 '캘린더에 추가' 버튼을 단다. 시작·종료일이 둘 다 유효할 때만 노출하고, 날짜 없는 팝업은 숨긴다(추측 보충 안 함).

파일 수: 2개이다.


파일 1. popspot-frontend/app/popup/[id]/page.tsx

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 2. popspot-frontend/src/lib/calendar.ts

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 d01a6ad — chore(린트): eslint --fix 자동 수정 (안전분)변경 파일 3

GitHub에서 이 커밋 보기

쉬운 설명: eslint --fix 자동 수정 (안전분) 작업이다.

바꾼 이유: 178 → 173. 남은 173개는 React 19 새 엄격 규칙(set-state-in-effect 43·refs 15 등, 고치면 동작 변경 위험)과 미사용 변수(71)라 신중한 별도 정리가 필요하다. next build 는 lint 를 돌리지 않아 배포 블로커는 아니다.

파일 수: 3개이다.


파일 1. popspot-frontend/app/planning/page.tsx

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 2. popspot-frontend/src/components/Map/MapGL.tsx

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 3. popspot-frontend/src/components/MateChatModal.tsx

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 295f075 — feat(수집): 로컬 Ollama 크롤러 + Groq fallback + 3시간 예산 + 검색 50% 상한변경 파일 9

GitHub에서 이 커밋 보기

쉬운 설명: 로컬 Ollama 크롤러 + Groq 앞선 방법이 실패할 때 쓰는 대체 방법 + 3시간 예산 + 검색 50% 상한 작업이다.

바꾼 이유: 크롤 LLM 을 4060 Ti PC 의 로컬 Ollama(Qwen2.5 7B)로 옮겨 rate limit 을 없앤다. PC 를 강제로 켤 필요는 없다 — 켜지면 무제한 로컬로, 꺼지면 Groq 로 fallback 한다. 기본값이 비활성이라 배포해도 켜기 전까지 동작이 바뀌지 않는다(ai.crawler.local.enabled=false).

파일 수: 9개이다.


파일 1. popspot-backend/src/main/java/com/example/popspotbackend/config/AiConfig.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 2. popspot-backend/src/main/java/com/example/popspotbackend/service/ai/CrawlerLlm.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 3. popspot-backend/src/main/java/com/example/popspotbackend/service/ai/OllamaHealthChecker.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 4. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/CrawlBudgetTracker.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 5. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupCrawlOrchestrator.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 6. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupCrawlScheduler.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 7. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupNormalizationService.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 8. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/SearchApiBudgetTracker.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 9. popspot-backend/src/main/resources/application.properties

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 f7ba067 — fix(검증): 날짜 STRICT 파싱·채팅 noindex·ics DTSTAMP — 외부 검증 지적 3건변경 파일 3

GitHub에서 이 커밋 보기

쉬운 설명: 날짜 STRICT 파싱·채팅 noindex·ics DTSTAMP — 외부 검증 지적 3건 작업이다.

바꾼 이유: 외부 검증이 짚은 실제 버그 3건을 고친다.

파일 수: 3개이다.


파일 1. popspot-backend/src/main/java/com/example/popspotbackend/config/WebConfig.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 2. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupNormalizationService.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 3. popspot-frontend/src/lib/calendar.ts

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 402e181 — fix(로컬LLM): Groq 쿼터가 로컬 막던 P0 + URL 환각 차단 + 동행 가짜저장 + 개인IP 제거변경 파일 6

GitHub에서 이 커밋 보기

쉬운 설명: Groq 쿼터가 로컬 막던 P0 + URL 환각 차단 + 동행 가짜저장 + 개인IP 제거 작업이다.

바꾼 이유: 외부 검증이 짚은 실제 결함을 고친다.

파일 수: 6개이다.


파일 1. popspot-backend/.env.example

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 2. popspot-backend/src/main/java/com/example/popspotbackend/config/AiConfig.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 3. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupNormalizationService.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 4. popspot-backend/src/main/resources/application.properties

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 5. popspot-frontend/src/components/MateChatModal.tsx

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 6. popspot-frontend/src/lib/calendar.ts

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 6d419f6 — fix(사진): 홈 카드에도 '분위기 이미지' 라벨 — 상세와 일관성(8)변경 파일 2

GitHub에서 이 커밋 보기

쉬운 설명: 홈 카드에도 '분위기 이미지' 라벨 — 상세와 일관성(8) 작업이다.

바꾼 이유: 상세 페이지 히어로는 스톡·플레이스홀더 커버에 '분위기 이미지' 라벨을 달아 실사진 오해를 막고 있었지만, 홈 카드(PopupCard)는 같은 스톡 커버를 라벨 없이 실사진처럼 보여줬다. 일관성 구멍을 메운다.

파일 수: 2개이다.


파일 1. popspot-frontend/src/components/main/PopupCard.tsx

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 2. popspot-frontend/src/types/popup.ts

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 fc676e0 — feat(수집): 크롤 예산 Redis 영속화 + 기존 null 날짜 점진 보강변경 파일 4

GitHub에서 이 커밋 보기

쉬운 설명: 크롤 예산 Redis 영속화 + 기존 null 날짜 점진 보강 작업이다.

바꾼 이유: 검증 후속 — 예산 영속(5)·기존 날짜 보강(9). 적대적 리뷰가 짚은 결함까지 반영한 최종안.

파일 수: 4개이다.


파일 1. popspot-backend/src/main/java/com/example/popspotbackend/repository/PopupStoreRepository.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 2. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/CrawlBudgetTracker.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 3. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupCrawlOrchestrator.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 4. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/SearchApiBudgetTracker.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

커밋 87cffac — fix(신뢰성): 스톡 이미지 제거·크롤 근거 검증 보강변경 파일 8

GitHub에서 이 커밋 보기

쉬운 설명: 스톡 이미지 제거·크롤 근거 검증 보강 작업이다.

바꾼 이유: 커밋 제목에 적힌 문제를 해결하기 위해 코드를 바꿨다.

파일 수: 27개이다.


파일 1. popspot-backend/.env.example

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 2. popspot-backend/src/main/java/com/example/popspotbackend/repository/CrawlSourceLedgerRepository.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 3. popspot-backend/src/main/java/com/example/popspotbackend/repository/PopupStoreRepository.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 4. popspot-backend/src/main/java/com/example/popspotbackend/service/ai/CrawlerLlm.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 5. popspot-backend/src/main/java/com/example/popspotbackend/service/ai/OllamaHealthChecker.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 6. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/CrawlBudgetTracker.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 7. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/CrawlSourceLedgerService.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

파일 8. popspot-backend/src/main/java/com/example/popspotbackend/service/crawler/PopupCrawlOrchestrator.java

파일 전체 문맥

조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.

공유XLinkedIn

댓글