---
phase: research
agent: research-advisor
agent_version: 2
generated_at: 2026-06-30T02:41:09Z
concerns: []
source_confidence: high
workers_spawned: 5
---
# 프론트엔드 중복/이슈 분석
## 주제
JSP 기반 프론트엔드 코드에서 컴포넌트 중복 구현, 유지보수·확장성 이슈 조사
---
## 확정 중복 패턴 (이미 파악된 사실)
### JS 함수 4중 중복 — admin 4개 파일
| 함수 | 파일 | 영향도 |
|---|---|---|
| `notify(message)` | admin-console, admin-jam-list, admin-post-categories, admin-unity-feeds 각각 선언 | Medium |
| `post(url, params)` | 동일 4개 파일. 구현이 약간씩 다름 (params 처리, _csrf 추가 여부) | High |
| `handleResult(res)`, `handleError()` | 동일 4개 파일 동일 패턴 | Medium |
신뢰도: 확인됨 (입력 사실 보존)
### BibimbapModal.alert 체크 인라인 반복
- `window.BibimbapModal && typeof window.BibimbapModal.alert === 'function'` 패턴이 15개 이상 파일에 인라인 반복
- 신뢰도: 확인됨 (입력 사실 보존, 탐색 E에서 구체 위치 확인)
### CSRF 토큰 추출 방식 불일치
- admin-console/jam-scoring/jam-detail: `request.getAttribute("csrfToken")` rawCsrf 패턴
- admin-post-categories/admin-unity-feeds: `(String) request.getAttribute("csrfToken")` 캐스팅
- signup/login: `CsrfTokens.getOrCreate(request.getSession())` 직접 호출
- JS에서 일부는 `` 읽기, 일부는 `<%= csrfTokenJs %>` 직접 출력
- 신뢰도: 확인됨 (입력 사실 보존)
---
## CSS 중복 (탐색 A)
### 규모 요약
- 전체 27개 JSP 파일 중 26개에 인라인 `