Compare commits

..

4 커밋

5개의 변경된 파일21개의 추가작업 그리고 32개의 파일을 삭제

파일 보기

@ -44,21 +44,7 @@
- `@Builder` 허용 - `@Builder` 허용
- `@Data` 사용 금지 (명시적으로 필요한 어노테이션만) - `@Data` 사용 금지 (명시적으로 필요한 어노테이션만)
- `@AllArgsConstructor` 단독 사용 금지 (`@Builder`와 함께 사용) - `@AllArgsConstructor` 단독 사용 금지 (`@Builder`와 함께 사용)
- `@Slf4j` 로거 사용
## 로깅
- `@Slf4j` (Lombok) 로거 사용
- SLF4J `{}` 플레이스홀더에 printf 포맷 사용 금지 (`{:.1f}`, `{:d}`, `{%s}` 등)
- 숫자 포맷이 필요하면 `String.format()`으로 변환 후 전달
```java
// 잘못됨
log.info("처리율: {:.1f}%", rate);
// 올바름
log.info("처리율: {}%", String.format("%.1f", rate));
```
- 예외 로깅 시 예외 객체는 마지막 인자로 전달 (플레이스홀더 불필요)
```java
log.error("처리 실패: {}", id, exception);
```
## 예외 처리 ## 예외 처리
- 비즈니스 예외는 커스텀 Exception 클래스 정의 - 비즈니스 예외는 커스텀 Exception 클래스 정의

파일 보기

@ -1,5 +1,8 @@
{ {
"$schema": "https://json.schemastore.org/claude-code-settings.json", "$schema": "https://json.schemastore.org/claude-code-settings.json",
"env": {
"CLAUDE_BOT_TOKEN": "ac15488ad66463bd5c4e3be1fa6dd5b2743813c5"
},
"permissions": { "permissions": {
"allow": [ "allow": [
"Bash(./gradlew *)", "Bash(./gradlew *)",

파일 보기

@ -20,10 +20,9 @@ fi
# Conventional Commits 정규식 # Conventional Commits 정규식
# type(scope): subject # type(scope): subject
# - type: feat|fix|docs|style|refactor|test|chore|ci|perf (필수) # - type: feat|fix|docs|style|refactor|test|chore|ci|perf (필수)
# - scope: 괄호 제외 모든 문자 허용 — 한/영/숫자/특수문자 (선택) # - scope: 영문, 숫자, 한글, 점, 밑줄, 하이픈 허용 (선택)
# - subject: 1자 이상 (길이는 바이트 기반 별도 검증) # - subject: 1~72자, 한/영 혼용 허용 (필수)
PATTERN='^(feat|fix|docs|style|refactor|test|chore|ci|perf)(\([^)]+\))?: .+$' PATTERN='^(feat|fix|docs|style|refactor|test|chore|ci|perf)(\([a-zA-Z0-9가-힣._-]+\))?: .{1,72}$'
MAX_SUBJECT_BYTES=200 # UTF-8 한글(3byte) 허용: 72문자 ≈ 최대 216byte
FIRST_LINE=$(head -1 "$COMMIT_MSG_FILE") FIRST_LINE=$(head -1 "$COMMIT_MSG_FILE")
@ -59,13 +58,3 @@ if ! echo "$FIRST_LINE" | grep -qE "$PATTERN"; then
echo "" echo ""
exit 1 exit 1
fi fi
# 길이 검증 (바이트 기반 — UTF-8 한글 허용)
MSG_LEN=$(echo -n "$FIRST_LINE" | wc -c | tr -d ' ')
if [ "$MSG_LEN" -gt "$MAX_SUBJECT_BYTES" ]; then
echo ""
echo " ✗ 커밋 메시지가 너무 깁니다 (${MSG_LEN}바이트, 최대 ${MAX_SUBJECT_BYTES})"
echo " 현재 메시지: $FIRST_LINE"
echo ""
exit 1
fi

11
.gitignore vendored
파일 보기

@ -43,3 +43,14 @@ secrets/
# === Claude Code (개인 설정) === # === Claude Code (개인 설정) ===
.claude/settings.local.json .claude/settings.local.json
.claude/CLAUDE.local.md .claude/CLAUDE.local.md
# === Team workflow (managed by /sync-team-workflow) ===
.claude/rules/
.claude/agents/
.claude/skills/push/
.claude/skills/mr/
.claude/skills/create-mr/
.claude/skills/release/
.claude/skills/version/
.claude/skills/fix-issue/
.claude/scripts/

파일 보기

@ -5,6 +5,6 @@
# Nexus URL # Nexus URL
nexusUrl=https://nexus.gc-si.dev/repository nexusUrl=https://nexus.gc-si.dev/repository
# Nexus 인증 # Nexus 인증 (내부 라이브러리 배포 시 필요)
nexusUsername=admin # nexusUsername=your-username
nexusPassword=Gcsc!8932 # nexusPassword=your-password