mirror of
https://github.com/ktds-dg0501/kt-event-marketing.git
synced 2025-12-06 20:06:23 +00:00
82 lines
2.7 KiB
Markdown
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. 다이어그램 타입별로 유효한 화살표가 다름 |