mermaid-diagrams은(는) 무엇을 하나요?
Mermaid 문법을 사용하여 소프트웨어 다이어그램을 생성하기 위한 종합 가이드입니다. 사용자가 다이어그램을 만들거나, 시각화하거나, 문서화해야 할 때 사용하세요. 지원하는 다이어그램 유형은 다음과 같습니다: 클래스 다이어그램(도메인 모델링, 객체 지향 설계), 시퀀스 다이어그램(애플리케이션 흐름, API 상호작용, 코드 실행), 순서도(프로세스, 알고리즘, 사용자 여정), 엔티티 관계 다이어그램(데이터베이스 스키마), C4 아키텍처 다이어그램(시스템 컨텍스트, 컨테이너, 컴포넌트), 상태 다이어그램, Git 그래프, 파이 차트, 간트 차트 등 모든 다이어그램 유형. 트리거 요청에는 '다이어그램', '시각화', '모델', '매핑', '흐름 보기' 또는 시스템 아키텍처, 데이터베이스 설계, 코드 구조, 사용자/애플리케이션 흐름에 대한 설명이 포함됩니다.
다이어그램 유형
Mermaid는 다음과 같은 주요 다이어그램 유형을 지원합니다:
- 순서도 - 프로세스 및 알고리즘 흐름
- 시퀀스 다이어그램 - 시간 순서 기반 상호작용
- 클래스 다이어그램 - 객체 지향 설계
- 상태 다이어그램 - 상태 전이
- 엔티티 관계 다이어그램 - 데이터베이스 스키마
- 사용자 여정 - 사용자 경험 매핑
- 간트 차트 - 프로젝트 스케줄링
- 파이 차트 - 데이터 비율 시각화
- Git 그래프 - Git 브랜치 및 커밋
- C4 다이어그램 - 소프트웨어 아키텍처 컨텍스트, 컨테이너, 컴포넌트
예제
순서도
flowchart TD
A[시작] --> B{결정}
B -->|예| C[계속]
B -->|아니요| D[종료]
시퀀스 다이어그램
sequenceDiagram
participant 사용자
participant 서버
사용자->>서버: GET 요청
서버-->>사용자: 응답 반환
클래스 다이어그램
classDiagram
class Animal {
+String 이름
+int 나이
+소리내다()
}
class Dog {
+String 품종
+꼬리흔들기()
}
Animal <|-- Dog
엔티티 관계 다이어그램
erDiagram
CUSTOMER ||--o{ ORDER : "주문함"
ORDER ||--|{ LINE-ITEM : "포함함"
C4 아키텍처 다이어그램
C4Context
Person(사용자, "사용자", "시스템 사용자")
System(시스템, "시스템", "주요 시스템 설명")
System_Ext(외부시스템, "외부 시스템", "외부 시스템 설명")
Rel(사용자, 시스템, "사용")
Rel(시스템, 외부시스템, "호출")
상태 다이어그램
stateDiagram-v2
[*] --> 대기
대기 --> 실행: 시작 명령
실행 --> 완료: 성공
실행 --> 오류: 실패
오류 --> 대기: 재시도
완료 --> [*]
Git 그래프
gitGraph
commit
branch develop
checkout develop
commit
commit
checkout main
merge develop
commit
파이 차트
pie
title 애플리케이션 컴포넌트 분포
"프론트엔드" : 40
"백엔드" : 35
"데이터베이스" : 15
"인프라" : 10
간트 차트
gantt
title 프로젝트 일정
dateFormat YYYY-MM-DD
section 개발
설계 :a1, 2024-01-01, 10d
구현 :a2, after a1, 20d
테스트 :a3, after a2, 10d
사용 팁
- 다이어그램 코드는 항상
mermaid언어 식별자가 있는 코드 블록 안에 작성하세요. - 각 다이어그램 유형별로 올바른 키워드와 구조를 사용하세요.
- 복잡한 다이어그램을 구성할 때는 하위 그래프를 활용하여 관련 노드를 그룹화하세요.
- 가독성을 높이기 위해 각 요소에 설명적인 레이블을 추가하세요.
- 성능과 유지보수성을 고려하여 다이어그램을 적절한 크기로 유지하세요.