머메이드 차트를 알게 된 계기, 그리고 첫 삽질 🤦♀️
사실 저는 원래 다이어그램을 그릴 때 GUI 기반의 툴을 선호했어요. 마우스로 드래그 앤 드롭하면서 직관적으로 다이어그램을 만들 수 있기 때문이죠. 그런데 프로젝트를 진행하면서 다이어그램을 문서와 함께 버전 관리해야 한다는 필요성을 느끼게 되었어요. GUI 툴은 다이어그램 파일(.drawio, .vsdx 등)을 별도로 관리해야 해서 버전 관리가 복잡해지고, 협업할 때도 어려움이 있었거든요.
그러던 중, 마크다운으로 문서를 작성하던 도중 머메이드 차트가 마크다운 내에서 바로 다이어그램을 렌더링할 수 있다는 것을 알게 되었어요. “오, 이거 괜찮겠는데?” 하면서 바로 머메이드 차트 문법을 따라 해봤는데… 웬걸, 생각보다 쉽지 않더라고요. 싱택스 에러는 기본이고, 원하는 그림이 나오지 않아 삽질을 엄청 했는데, 😂 끈기를 가지고 머메이드 차트 문법을 익히면서 조금씩 감을 잡아갔습니다.
머메이드 차트, 어떤 종류의 차트를 만들 수 있나요?
머메이드 차트는 정말 다양한 종류의 차트를 지원합니다. 몇 가지 주요 차트 종류와 간단한 예시를 보여드릴게요.
1. 흐름도(Flowchart)
흐름도는 프로세스나 알고리즘의 단계를 시각적으로 표현하는 데 사용됩니다.
flowchart TD
A[시작] --> B{결정}
B -- 예 --> C[처리 1]
B -- 아니오 --> D[처리 2]
C --> E[종료]
D --> E
이 코드를 실행하면 시작, 결정, 처리 1, 처리 2, 종료 단계를 연결하는 흐름도가 그려집니다. 단순하지만 강력한 표현력을 가지고 있어요.
2. 순서도 (Sequence Diagram)
순서도는 여러 객체 간의 상호 작용을 시간 순서대로 보여주는 데 사용됩니다.
sequenceDiagram
participant 사용자
participant 앱
participant 서버
사용자->>앱: 요청
activate 앱
앱->>서버: 데이터 요청
activate 서버
서버-->>앱: 데이터 응답
deactivate 서버
앱-->>사용자: 결과 표시
deactivate 앱
복잡한 시스템의 동작 방식을 이해하는 데 도움이 됩니다.
3. 간트 차트 (Gantt Chart)
간트 차트는 프로젝트 일정을 시각적으로 표현하는 데 사용됩니다. 프로젝트의 각 작업과 그 기간을 쉽게 파악할 수 있다는 장점이 있습니다.
gantt
title "프로젝트 일정"
dateFormat YYYY-MM-DD
section 기획
요구사항 분석 :2024-01-01, 7d
UI/UX 디자인 :2024-01-08, 10d
section 개발
백엔드 개발 :2024-01-18, 14d
프론트엔드 개발 :2024-01-29, 10d
section 테스트
통합 테스트 :2024-02-08, 5d
4. 파이 차트 (Pie Chart)
파이 차트는 데이터의 비율을 시각적으로 표현하는 데 사용됩니다.
pie showData
title "사용자 브라우저 점유율"
"Chrome" : 60
"Firefox" : 20
"Safari" : 10
"Edge" : 10
데이터의 분포를 한눈에 파악할 수 있습니다.
5. 숫자 데이터 차트 (Xychart)
숫자 데이터 차트는 막대 그래프나 선 그래프를 사용하여 숫자 데이터를 시각적으로 표현합니다.
xychart-beta
title "월별 매출"
x-axis ["1월", "2월", "3월"]
y-axis "매출액 (만원)" 0 --> 1200
bar [400, 600, 800]
line [350, 550, 750]
데이터의 추세를 파악하는 데 도움이 됩니다.
머메이드 차트 문법, 핵심은 꾸준함!
머메이드 차트는 문법이 꽤 까다로운 편입니다. 특히 처음에는 노드(Node)와 링크(Link)를 정의하는 방식이 헷갈릴 수 있어요. 게다가 차트 종류마다 문법이 조금씩 다르기 때문에, 각 차트 종류에 대한 문법을 따로 익혀야 합니다. 하지만 너무 걱정하지 마세요! 머메이드 차트 공식 문서(https://mermaid.js.org/)에 자세한 문법 설명과 예제가 많으니, 참고하면서 꾸준히 연습하면 충분히 익힐 수 있습니다.
Tip
머메이드 차트 사용 환경 설정 🛠️
머메이드 차트는 다양한 환경에서 사용할 수 있습니다.
- 마크다운 에디터: Typora, Visual Studio Code (머메이드 플러그인 설치 필요)
- 웹 기반 툴: Mermaid Live Editor (https://mermaid.live/)
- GitHub: GitHub는 머메이드 차트 코드를 자동으로 렌더링합니다.
저는 주로 Visual Studio Code와 Mermaid Live Editor를 사용합니다. Visual Studio Code는 로컬에서 다이어그램을 편집하고 테스트하는 데 유용하고, Mermaid Live Editor는 간단한 다이어그램을 빠르게 만들거나 공유하는 데 편리합니다.
머메이드 차트의 장점과 단점 👍👎
장점:
- 버전 관리 용이: 텍스트 파일 형태로 저장되므로, 버전 관리 시스템(Git 등)을 사용하여 쉽게 버전 관리를 할 수 있습니다.
- 협업 용이: 텍스트 파일 형태로 공유하기 때문에, 다른 사람과 쉽게 협업할 수 있습니다.
- 자동화 용이: 스크립트를 사용하여 다이어그램을 자동으로 생성할 수 있습니다.
- 가벼움: GUI 기반 툴에 비해 가볍고 빠릅니다.
단점:
- 문법 학습 필요: 머메이드 차트 문법을 익혀야 합니다.
- GUI 툴에 비해 불편함: GUI 툴처럼 직관적으로 다이어그램을 만들 수 없습니다.
- 복잡한 다이어그램 표현 어려움: 복잡한 다이어그램을 표현하는 데 한계가 있을 수 있습니다.
마치며… 텍스트로 그리는 다이어그램의 가능성
머메이드 차트는 처음에는 어려워 보였지만, 익숙해지니 정말 유용한 도구라는 생각이 들어요. 특히 개발자들에게는 버전 관리 및 협업에 많은 도움이 될 거라고 생각합니다. 이런 텍스트 기반의 다이어그램 도구가 앞으로 더 발전해서, 다이어그램을 만드는 새로운 방법을 제시해 줄 수 있기를 기대해 봅니다. 😃
관련 키워드: 머메이드, 다이어그램, 텍스트 기반, 버전 관리, 코드 시각화, 흐름도, 간트 차트, 마크다운