유니티 개발자 커뮤니티 비빔밥 웹사이트 프로젝트
Go to file
이정수 e28fa60ca6 feat(hub): W3-4 메인 허브 keyset 페이징 + 진행중 잼 배너 (단계1+2 통합)
- keyset 페이징: GamesMapper.listVisibleKeyset/searchVisibleKeyset 신규 — 커서 (sort_order,created_at,id) 3-튜플 OR 분해(혼합방향 ASC/DESC/DESC), LIMIT #{limit}, #{} only. 기존 getVisibleGames/searchVisibleGames 보존(회귀 0)
- WebMvcController: cursor 파라미터 + nextCursor 산정 + parseCursor/encodeCursor(형식오류→첫페이지 폴백, throw 0) + HubCursor record + HUB_PAGE_SIZE=24. 검색/비검색 동일 커서 규약(공통 헬퍼)
- 진행중 잼 배너(단계2): JamsMapper.listActive/countActive 신규(status IN RECRUIT/DEV/EVAL, is_visible). 최신 1건 + "외 N-1개" 라벨, N=0 미렌더. CTA → W3-1 /games/search?jam={slug}
- index.jsp: 더보기 링크(hasNextPage, q+cursor URLEncoder) + 잼 배너(title HtmlUtils.htmlEscape, slug URLEncoder). 기존 렌더루프+W3-1 태그 UI 보존
- docs/games-hub-ddl.sql: idx_games_visible_keyset 멱등(games 컬럼 0변경) + schema.sql 동기
- BibimbapApplicationTests 무변경(JamsMapper/GamesMapper @MockBean W2-1 기등록 재사용)

검증: 컨테이너 ./mvnw -o test 243/243 GREEN(신규 8: WebMvcControllerTest), 회귀 0. L2 격리 throwaway DB contract PASS(혼합방향 keyset 경계 무중복/무누락·동일 sort_order/created_at tie-break·검색 keyset·잼 status 필터). 정렬키 5곳 동일·${} 0. 실 dev DB 무접촉.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-29 10:59:17 +09:00
.atp/work-session chore(atp): W2 work-session 산출물 기록 (sid 20260624-100749) 2026-06-24 14:23:13 +09:00
.mvn/wrapper Prepare public repository 2026-05-03 16:13:32 +09:00
.serena chore(dev): W3-2 테스트용 dev seed + serena memory 2026-06-18 14:35:33 +09:00
certs feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
db feat(hub): W3-4 메인 허브 keyset 페이징 + 진행중 잼 배너 (단계1+2 통합) 2026-06-29 10:59:17 +09:00
docs feat(hub): W3-4 메인 허브 keyset 페이징 + 진행중 잼 배너 (단계1+2 통합) 2026-06-29 10:59:17 +09:00
src feat(hub): W3-4 메인 허브 keyset 페이징 + 진행중 잼 배너 (단계1+2 통합) 2026-06-29 10:59:17 +09:00
.dockerignore feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
.env.example feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
.gitattributes Prepare public repository 2026-05-03 16:13:32 +09:00
.gitignore feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
CLAUDE.md docs(dev): 비-메인스트림 브랜치 커밋 표준 승인 정책 추가 2026-06-22 16:59:09 +09:00
Dockerfile feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
docker-compose.yml feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
mvnw feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서 2026-06-17 11:55:30 +09:00
mvnw.cmd Prepare public repository 2026-05-03 16:13:32 +09:00
pom.xml 사이트 이용 약관 처리 2026-05-03 23:01:42 +09:00