이정수
5e0f76b7c1
docs(analysis): JSP 프론트엔드 컴포넌트 중복·유지보수 검토
...
- CSS 디자인 토큰 23개 파일 중복, JS 유틸 8중복,
recruit-form CSRF 폴백 갭, 날짜 함수 편재 발견
- 권고: global.css 중앙화(P0), bibimbap-utils.js(P1),
recruit-form CSRF 수정(P0-보안), bibimbap-date.js(P2)
- work-session 아티팩트: research + design recommendations 포함
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-30 11:53:15 +09:00
이정수
aae7629562
docs: B2·B4·FE 반영 + OWASP/multipart 가이드·dev prefetch 노트
...
- security-remediation-checklist §B2·§B4 완료조건 [x] 갱신
- 신규: owasp-dependency-check-guide, multipart-size-risk, changes/work-log 기록
- local-dev-setup: SNAPSHOT→GA 후 online plugin prefetch 함정 노트
- analysis: 제거된 dead code(abstracts/GameCatalog/header.jspf) stale 정정
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-29 19:10:42 +09:00
이정수
fa6a301fb5
fix(game): 좋아요 서버 영속화 — 상세 토글이 explore 카운트에 반영되도록
...
좋아요가 서버에 저장되지 않고 브라우저 localStorage 에만 토글되어
explore/상세가 읽는 games.like_count 컬럼이 갱신되지 않던 버그 수정.
- POST /game/{id}/like 토글 엔드포인트 신설 (CSRF→로그인→존재 게이트, @Transactional)
- GameLikesMapper: findByGameAndUser/deleteByGameAndUser 추가 (addGameLike 재사용)
- GamesMapper: incrementLikeCount/decrementLikeCount(GREATEST 0)/getLikeCount 추가
- game_likes row 변경 + games.like_count ±1 단일 트랜잭션 동기화
- 상세 addGameModel 이 로그인 사용자 기존 좋아요 여부(liked) 모델 주입
- game-detail.jsp 좋아요 버튼을 localStorage→fetch POST 로 교체
- explore 5개 조회 쿼리 무변경 (컬럼 갱신으로 자동 반영)
- game_likes UNIQUE(game_id,user_key) schema 반영 + 마이그레이션 작성 (DB 미적용)
- GameLikeControllerTest 7건 (회귀 AC-1 포함)
검증: L1 PASS (컴파일 + 7/7 + 컨트롤러 회귀 219/219). L2(dev DB) skip.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-29 16:09:54 +09:00
이정수
2eb0be5654
docs: 고도화 로드맵 목적축 재구조 (게임잼 단일프레임 → W1~W4 워크스트림)
...
20260617-150635 로드맵(S1~S7, 의존성축)을 목적축("왜 존재/누구를 위한가")으로
재검토. 모든 항목이 단일 "게임잼" 프레임에 묶여 있던 것을 4개 목적 워크스트림으로 분해:
- W1 거버넌스/RBAC — 사이트 거버넌스, 게임잼은 소비자, 독립
- W2 게임잼 — 본체(엔티티+심사위원역할+잼평가설계+심사/투표/시상)
- W3 사이트 플랫폼 — 태그검색·댓글리뷰·포스팅·메인허브·Unity, 전부 잼일정 독립
- W4 유저 배지/평판 — 신규 발굴(리뷰어/기술자가 RBAC 플래그로 오분류됐던 것)
150635 대비 핵심 교정 5건 + S→W 매핑표 + 의존성 그래프(빌드순서) 유지.
번들(이전 잔여 정리): 오늘 work-session durable history
(094450/143315/150635/162536), serena 설정·메모리, 분석문서 교차링크.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 17:20:53 +09:00
이정수
14f41c6531
feat: 로컬 개발환경 셋업 (Docker + 호스트 직접) 검증 + 온보딩 문서
...
두 경로를 실제 실행으로 검증하고 온보딩 문서를 추가한다.
- docs/usage/local-setup.md: 7섹션 온보딩 (Path A Docker / Path B 호스트,
DB 스키마 초기화, 검증 체크리스트, 트러블슈팅, 미해결). usage/index 링크.
- db/schema.sql: 6테이블 init DDL 복원. recruit_posts 는 권위 DDL,
나머지 5테이블은 매퍼+POJO 역추출 비권위본(타입 추론, 헤더에 명시).
- docker-compose.yml + Dockerfile: postgres:16 + JDK21 멀티스테이지 빌드.
비밀값은 .env(gitignore)/환경변수 주입, 이미지·git 비포함.
회사 TLS 인터셉션 프록시 대응으로 certs/*.crt 를 빌드 truststore 에 주입.
starter-parent 미사용 pom 이라 spring-boot:repackage 명시(-P dev 필수).
- .env.example / .dockerignore / certs/README.md 추가, .gitignore 에 .env·certs CA 제외.
- mvnw 실행권한 부여.
검증: Path A 홈 200 + DB 라운드트립, Path B mvnw test 6/0/0 + spring-boot:run 200.
AC 5/5 PASS. src/·pom.xml 무수정.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 11:55:30 +09:00
이정수
33a4465e0e
docs: ATP 문서 체계 도입 및 프로젝트 종합 분석 추가
...
docs/ 카테고리 트리(adr·analysis·architecture 등)와 ATP 워크플로 문서를 신규 추가하고,
4축(아키텍처·보안·품질·도메인) read-only 종합 분석을
docs/analysis/2026-06-16-project-analysis.md 로 기록한다.
- 신규 분석 문서 + docs/analysis/index.md 링크
- 기존 docs 2건(db-update-query-generator, user-signup-schema)에 교차링크 추가
- CLAUDE.md 프로젝트 지침, .atp/work-session 분석 세션 기록, .serena 프로젝트 설정 포함
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 12:18:56 +09:00