hgzero/think/es/claude/plantuml-guide.md
djeon 7ad1e5aa21 PlantUML 가이드 및 검사 도구 추가
- claude/plantuml-guide.md: PlantUML 문법 검사 가이드 추가
- think/es/: 신규 디렉토리 추가
- tools/check-plantuml.sh: PlantUML 문법 검사 스크립트 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-15 17:06:11 +09:00

82 lines
2.7 KiB
Markdown

# PlantUML문법검사가이드
## 개요
PlantUML 다이어그램의 문법 오류를 사전에 검출하여 렌더링 실패를 방지하기 위한 가이드입니다. Docker 기반 PlantUML 서버를 활용하여 로컬에서 빠르게 문법을 검증할 수 있습니다.
## PlantUML 서버 설치 검사
### Docker로 PlantUML 서버 실행
```bash
# PlantUML 서버가 실행 중인지 확인
docker ps | grep plantuml
# PlantUML 서버가 없으면 설치 및 실행
docker run -d --name plantuml -p 38080:8080 plantuml/plantuml-server:latest
# 서버 상태 확인
docker logs plantuml
```
## 문법 검사 방법
현재 OS에 맞게 수행.
### Linux/macOS 버전
1. tools/check-plantuml.sh 파일 존재 여부 확인
2. 스크립트 파일이 없으면 "PlantUML문법검사기(Linux/Mac)"를 tools/check-plantuml.sh 파일로 다운로드하여 스크립트 파일을 만듦
3. 스크립트 파일이 있으면 그 스크립트 파일을 이용하여 검사
### Windows PowerShell 버전
**스크립트 파일(tools/check-plantuml.ps1)을 이용하여 수행**.
1. tools/check-plantuml.ps1 파일 존재 여부 확인
2. 스크립트 파일이 없으면 "PlantUML문법검사기(Window)"를 tools/check-plantuml.ps1 파일로 다운로드하여 스크립트 파일을 만듦
3. 스크립트 파일이 있으면 그 스크립트 파일을 이용하여 검사
### 검사 결과 해석
| 출력 | 의미 | 대응 방법 |
|------|------|-----------|
| 출력 없음 | 문법 오류 없음 ✅ | 정상, 렌더링 가능 |
| "Some diagram description contains errors" | 오류 존재 ❌ | 파이프 방식으로 상세 확인 |
| "ERROR" + 라인 번호 | 특정 라인 오류 ❌ | 해당 라인 수정 |
| "Error line X in file" | X번째 줄 오류 ❌ | 해당 라인 문법 확인 |
## 화살표 문법 규칙
### 시퀀스 다이어그램 올바른 화살표 사용법
```plantuml
@startuml
' 올바른 사용법 ✅
A -> B: 동기 메시지 (실선)
A ->> B: 비동기 메시지 (실선, 열린 화살촉)
A -->> B: 비동기 응답 (점선, 열린 화살촉)
A --> B: 점선 화살표 (일반)
A <-- B: 응답 (점선)
A ->x B: 실패/거부 (X 표시)
A ->>o B: 비동기 열린 원
' 잘못된 사용법 ❌
A ..> B: ' 오류! sequence diagram에서 유효하지 않음
@enduml
```
### 클래스 다이어그램 화살표
```plantuml
@startuml
' 클래스 다이어그램에서는 ..> 사용 가능
ClassA ..> ClassB : 의존성 (점선)
ClassC --> ClassD : 연관 (점선)
@enduml
```
### 화살표 문법 주의사항
1. **`..>`는 sequence diagram에서 사용 금지**
2. 비동기 메시지는 `->>` 또는 `-->>` 사용
3. 동기/비동기를 명확히 구분하여 일관되게 사용
4. 다이어그램 타입별로 유효한 화살표가 다름