bibimbap/docs/work-log/2026-06-29-b2-b4-fe-session.md

2.5 KiB

2026-06-29 B2·B4·FE 작업 세션 핸드오프

sid: 20260629-175705 (resumed from 20260629-174807) 완료 상태: 3트랙 모두 완료·검증 브랜치: feat/v2 최종 테스트: mvn test 361 PASS

완료된 트랙

B2 — 프로토타입 dead code 제거

  • abstracts/ 패키지 4파일 삭제.
  • fragments/header.jspf 삭제.
  • game/GameCatalog.java 삭제.
  • GameController.gameDetail() fallback 제거 → 없는 게임 ID = HTTP 404.
  • ApiExceptionControllerAdvice에 ResponseStatusException 핸들러 추가(404 status 보존).
  • GameLikeControllerTest.gameDetailThrowsNotFoundWhenGameMissing 추가.
  • 런타임 스모크: /game/99999=404, /game/3=200.

B4 — 의존성/세션/운영 하드닝

  • Spring Boot 3.5.14-SNAPSHOT → 3.5.16 GA.
  • pom에서 spring-snapshots repository·pluginRepository 제거.
  • OWASP dependency-check-maven 12.2.2 비bind 추가.
  • application.properties: ibatis TRACE→WARN, HttpOnly·SameSite=Lax 추가.
  • application-dev.properties 신규(ibatis TRACE).
  • application-live.properties 신규(cookie.secure=true).
  • 런타임 Set-Cookie 확인 완료.

FE — 프론트엔드 디자인 개선

  • index 검색 <details> 접이식(prefill 시 open).
  • 다크모드 input 테두리 대비 강화(login·signup·index·game-detail).
  • 체크박스 터치타깃 1.15rem(login·signup).
  • 브라우저 스모크 확인.

주요 결정

ID 결정
D-B2-404 없는 게임 ID = HTTP 404 (ResponseStatusException(NOT_FOUND)). 사용자 확정.
D-B4-cve CVE 스캔 = OWASP Dependency-Check 비bind. autoUpdate=false, CVSS>=7 실패. 사용자 확정.
D-B4-multipart multipart 1GB 유지. 리스크 문서화: docs/security/multipart-size-risk.md. 사용자 확정.
D-B4-cfgloc application-{profile}.properties 신규. db.properties 공존.
D-test-mockfix BibimbapApplicationTests GameLikesMapper @MockBean 누락(B3 사전결함) 1줄 보강.

이월 없음

이번 세션의 open_items(dev override online prefetch 함정)는 development/local-dev-setup.md에 노트 추가 완료.

참조