⛏️ 삽시일반

Mermaid UML 플로우차트? ChatGPT로 1분 만에 완성! Notion 활용 꿀팁까지!

오늘은 ChatGPT와 Mermaid를 활용하여 단 1분 만에 UML 플로우차트를 그리는 방법을 소개해드리고자 합니다.

2024.07.13 | 조회 969 |
0
|
Hello.Stranger의 프로필 이미지

Hello.Stranger

🛸 해외 IT 트렌드를 가장 먼저 만나보세요. (매일 아침7시 뉴스레터 발행)

안녕하세요. 구독자 님.

개발자, 기획자, 혹은 온라인 콘텐츠 제작자들에게 있어, 다이어그램을 그리는 것은 매우 중요한 작업 중 하나라고 생각이 들어요. 가령, 근사한 프로젝트를 하나 구상하여 동료 혹은 투자자에게 설명할 필요가 있을 텐데, 말로 설명하기에는 한계가 있기 때문이죠! (물론 근사한 PPT라면 만사 오케이일듯..)

아무튼 이렇게 복잡한 과정을 간단하게 표현하고, 이해를 돕기 위해서는 효과적인 툴이 하나 있으면 좋을거에요. 그래서 오늘은 ChatGPT와 Mermaid를 활용하여 단 1분 만에 UML 플로우차트를 그리는 방법을 소개해드리고자 합니다.

1. UML 플로우 차트부터 알고 가자.

UML 플로우 차트는 시스템의 흐름과 작업 과정을 시각적으로 표현하는 데 매우 유용한 도구에요. 이 다이어그램은 복잡한 프로세스를 간단하게 시각화하여 이해를 돕고, 팀원 간의 원활한 소통을 가능하게 합니다.

출처: https://www.uml-diagrams.org/information-flow-diagrams.html
출처: https://www.uml-diagrams.org/information-flow-diagrams.html

 

이러한 UML 플로우 차트는 다양한 상황에서 활용되게 되는데요. 대게 시스템 설계, 프로세스 문서화, 교육 및 트레이닝 등에 필요로 해요. 

  1. 시스템 설계: 소프트웨어 개발 과정에서 시스템의 구조와 동작을 설계할 때.
  2. 프로세스 문서화: 복잡한 비즈니스 프로세스를 문서화하고 개선할 때.
  3. 교육 및 트레이닝: 새로운 팀원이나 이해관계자에게 시스템을 설명하고 교육할 때.

 

구독자님의 팀에 새로운 신입 사원이 들어왔어요. 이 분에게 기존에 운영해오던 프로젝트를 코드만 툭 던져줄 수도 있겠지만(so bad..ㅠㅠ), 이러한 다이어그램도 같이 전달한다면 이해하기 편하지 않을까요?

 

2. 'Mermaid', 너는 또 뭐야...?

UML을 그리기 위한 도구는 매우 다양합니다. 원초적으로는 PPT나 그림판으로 도형을 오려 붙여서 넣을 수도 있구요. 저는 학부 시절에 Star UML이라는 도구를 소개받아서 사용했었던 기억이 있어요. 모든게 영어라 불편했지만.. ;)

이러한 도구 중 하나로 소개드리려는게 'Mermaid'에요. Mermaid 란, 다이어그램을 쉽게 생성할 수 있게 해주는 오픈 소스 도구에요. 특히, 텍스트 기반의 마크다운 형식으로 다이어그램을 그릴 수 있어, 코드 작성에 익숙한 개발자들에게 이만한 도구가 없을 듯 합니다.

그런데 이것을 왜 소개해주냐고요? 왜냐하면 개발자가 자주 사용하는 Github이나 컨텐츠 제작자, 기획자, 등 다양한 사람들이 많이 사용하는 Notion에서도 사용할 수 있기 때문이에요. Github이나 Notion에 Mermaid를 작성하면 우리가 원하는 다이어그램을 만들어준답니다.

 

1) Github 예시

  • 사용법: *.md 파일 생성 > ```mermaid ``` 로 코드블럭 작성
```mermaid sequenceDiagram participant dotcom participant iframe participant viewscreen dotcom-''iframe: loads html w/ iframe url iframe-''viewscreen: request template viewscreen-''iframe: html & javascript iframe-''dotcom: iframe ready dotcom-''iframe: set mermaid data on iframe iframe-''iframe: render mermaid ```
첨부 이미지

2) Notion 예시

  • 사용법: 컨텐츠에 '코드' 블럭 추가 > 좌측 상단 언어 선택에서 'Mermaid' 선택
노션에서의 Mermaid
노션에서의 Mermaid

 

Memaid의 문법이 궁금하신 분은 아래 링크를 참고해주세요.

 

3.AI로 Mermaid 만들기 (GPT vs Claude vs Gemini)

요즘 귀찮은 작업이나 어려운 작업이 있으면 AI를 활용하는게 많이 편하더라구요. 앞서 말한대로 Mermaid를 작성하기 위해서는 모든 다이어그램을 텍스트로 작성하고 연결을 해야하는 번거로움이 있는데요. 이러한 작업을 AI를 통해 사용해보고자 합니다.

그리고 이왕 다이어그램을 그리는 건데, 아웃풋 이 잘 나오면 좋겠죠? 그래서 어떤 AI의 아웃풋이 가장 좋을지, 총 3개의 AI(ChatGPT, Claude, Gemini)를 이용해서 테스트를 해볼게요.

각 AI에게 요청할 프롬프트는 아래와 같습니다. 네트워크 프로토콜 중에 SSL(Secure Socket Layer)이라고 있어요. 이 프로토콜로 통신하는 Client와 Server 사이에 오고가는 절차를 다이어그램으로 요청을 해볼거에요. 아래의 프롬프트는 단순 예시이며, 구독자님이 만들고자 하는 다이어그램이 있다면 입맛에 맞게 수정해보면 좋겠어요.

 

프롬프트 (요청 문구)

SSL 통신 과정을 mermaid로 작성해줘.

 

 

AI 별로 생성한 결과물

0) 노션에서 모아보기

 

1) ChatGPT-4o가 생성해준 Mermaid 코드

sequenceDiagram participant Client participant Server Client-''Server: ClientHello (Supported SSL/TLS versions, Cipher suites) Server--''Client: ServerHello (Chosen SSL/TLS version, Cipher suite) Server--''Client: Certificate (Server's public key) Client--''Server: Pre-master secret (Encrypted with server's public key) Note over Client,Server: Server and Client derive session keys from Pre-master secret Server--''Client: ServerHelloDone Client--''Server: ClientKeyExchange Client--''Server: ChangeCipherSpec Client--''Server: Finished Server--''Client: ChangeCipherSpec Server--''Client: Finished Note over Client,Server: Secure SSL/TLS connection established
노션에 그린 UML 다이어그램 (feat ChatGPT-4o)
노션에 그린 UML 다이어그램 (feat ChatGPT-4o)

 

2) Claude Sonnet가 생성해준 Mermaid 코드

sequenceDiagram participant Client participant Server Client-''Server: ClientHello (지원하는 TLS 버전, 암호화 알고리즘 등) Server-''Client: ServerHello (선택된 TLS 버전, 암호화 알고리즘) Server-''Client: 서버 인증서 전송 Server-''Client: ServerHelloDone Client-''Client: 서버 인증서 검증 Client-''Server: ClientKeyExchange (pre-master secret) Client-''Server: ChangeCipherSpec Client-''Server: Finished (암호화된 메시지) Server-''Client: ChangeCipherSpec Server-''Client: Finished (암호화된 메시지) Note over Client,Server: 안전한 암호화 통신 시작
노션에 그린 UML 다이어그램 (feat Claude Sonnet)
노션에 그린 UML 다이어그램 (feat Claude Sonnet)

 

3) Gemini Advanced 가 생성해준 Mermaid 코드

sequenceDiagram participant Client participant Server Client-''Server: ClientHello (TLS 버전, 암호화 방식 등) Server-''Client: ServerHello (TLS 버전, 암호화 방식, 인증서 등) Server-''Client: Certificate (서버 공개키 포함) Client-''Server: ClientKeyExchange (PreMasterSecret 암호화) Client-''Server: ChangeCipherSpec (암호화 통신 시작 알림) Client-''Server: Finished (메시지 무결성 검증) Server-''Client: ChangeCipherSpec (암호화 통신 시작 알림) Server-''Client: Finished (메시지 무결성 검증) Note over Client,Server: 암호화된 데이터 통신
노션에 그린 UML 다이어그램 (feat Gemini Advanced)
노션에 그린 UML 다이어그램 (feat Gemini Advanced)

 

4. 총평

총 3개의 AI를 통해 UML을 생성해보았어요. 모든 AI가 잘 그려주었지만 개인적으로 마음에 드는 결과는 GPT이긴 하지만, 제가 모르는 부분에 대해 잘 표기를 해주었는지 Claude에게 비교 분석을 요청을 했습니다.

비교 대상은 GPT(case1)과 Claude(case2)의 결과물이며, AI는 Calude(case2)의 다이어그램이 더 정확다라고 합니다. 그와 더불어 보강할 부분을 몇 가지 추가를 했는데요. 어떠신가요?

첨부 이미지

 

이번 주에 소개해드린 내용은 여기까지 입니다!! 무더운 요즘, 모두 더위 조심하시고 에어컨으로 인한 냉방병도 조심하시길 바랄게요. 다음에 또 만나봬요 :)


 ✅ 오늘의 레터는 어땠어요?

아쉽지만 구독자님을 위해 준비한 오늘의 뉴스레터는 여기까지입니다. 🥹 오늘 받은 뉴스레터에 대한 솔직한 피드백을 주실 수 있으실까요? 또한 받아보고 싶은 주제가 있다면 적어주세요. 뉴스레터 발행에 참고토록 할게요. 🙏

구독자님의 생각은?

 

Threads | Instagram | X(Twitter) | Linkedin


 

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

이번 뉴스레터 어떠셨나요?

Hello.Stranger 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !
© 2024 Hello.Stranger

🛸 해외 IT 트렌드를 가장 먼저 만나보세요. (매일 아침7시 뉴스레터 발행)

뉴스레터 문의hello.stranger1337@gmail.com

메일리 로고

자주 묻는 질문 서비스 소개서 오류 및 기능 관련 제보

서비스 이용 문의admin@team.maily.so

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울 서초구 강남대로53길 8, 8층 11-7호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스