>백엔드 개발 >파이썬 튜토리얼 >코드형 다이어그램: 시각적 콘텐츠를 위한 동적 및 대화형 문서 만들기

코드형 다이어그램: 시각적 콘텐츠를 위한 동적 및 대화형 문서 만들기

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-26 18:07:081066검색

이 기사에서는 Diagram-as-Code 도구를 사용하여 동적이고 대화형의 시각적 문서를 작성하는 방법을 단계별로 안내하겠습니다. 정적 이미지 대신 프로그래밍 방식으로 다이어그램을 생성하여 항상 최신 상태를 유지하고 쉽게 유지 관리할 수 있도록 합니다.

Diagram-as-Code: Creating Dynamic and Interactive Documentation for Visual Content


? 코드로서의 다이어그램

Diagram as Code는 기존 그래픽 도구가 아닌 코드를 통해 다이어그램을 만들 수 있는 접근 방식입니다. 다이어그램을 수동으로 작성하는 대신 텍스트 파일에 코드를 작성하여 다이어그램의 구조, 구성 요소 및 연결을 정의할 수 있습니다.

이 코드는 그래픽 이미지로 변환되어 소프트웨어 프로젝트에 더 쉽게 통합하고 문서화할 수 있으며, 특히 프로그래밍 방식으로 아키텍처 및 흐름도를 생성하고 업데이트하는 데 유용합니다.


다이어그램이란 무엇입니까?

다이어그램은 코드형 다이어그램 접근 방식을 구현하는 ?Python 라이브러리로, 코드를 통해 아키텍처 인프라 다이어그램과 기타 유형의 다이어그램을 만들 수 있습니다. 다이어그램을 사용하면 단 몇 줄의 코드만으로 클라우드 인프라 구성 요소(예: AWS, Azure, GCP), 네트워크 요소, 소프트웨어 서비스 등을 쉽게 정의할 수 있습니다.

? 코드형 다이어그램의 이점

  • ? 다이어그램을 코드로 표현: 코드에서 직접 다이어그램을 생성 및 업데이트하여 Agile 프로젝트의 유지 관리 가능성을 보장합니다.
  • ? 자동 문서화: 현재 아키텍처에 맞게 다이어그램을 유지하면서 코드에서 시각적 개체를 생성합니다.
  • ? 변경 제어: 시간 경과에 따른 다이어그램 수정을 추적합니다.
  • ? 향상된 명확성: 명확하고 공유된 시각적 요소를 통해 복잡한 시스템에 대한 이해도를 높입니다.
  • ✏️ 맞춤형: 유연하고 맞춤화된 시각적 요소로 클라우드 인프라, 워크플로 또는 데이터 파이프라인을 표현합니다.

지도 시간

? 라이브러리 설치

현재 이 튜토리얼에서는 '0.23.4' 버전을 사용하고 있었습니다.

!pip install diagrams=='0.23.4'

? 다이어그램: 노드

라이브러리를 사용하면 노드를 사용하여 다양한 인프라 구성 요소와 서비스를 나타내는 프로그래밍 방식으로 아키텍처 다이어그램을 만들 수 있습니다.


노드 유형

다이어그램의 노드는 다양한 클라우드 서비스 제공업체의 구성 요소와 기타 아키텍처 요소를 나타냅니다. 사용 가능한 노드의 주요 범주는 다음과 같습니다.

  • ☁️ 클라우드 제공업체: AWS(Amazon Web Services), Azure, GCP, IBM Cloud, Alibaba Cloud, Oracle Cloud, DigitalOcean 등
  • ? 온프레미스: 회사 구내에 물리적으로 위치한 인프라를 나타냅니다.
  • ? Kubernetes(K8S): 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하는 컨테이너 오케스트레이션 시스템(제어 및 탐색을 상징하는 배의 바퀴로 표시됨)
  • ?️ OpenStack: 퍼블릭 및 프라이빗 클라우드를 생성하고 관리하기 위한 오픈 소스 소프트웨어 플랫폼
  • ? 일반: 공급자별 노드(한 카테고리의 다양한 도구를 나타내는 교차 도구)에서 구체적으로 다루지 않는 모든 구성 요소를 나타낼 수 있는 일반 노드.
  • ☁️ SaaS(Software as a Service): Snowflake, 채팅 서비스(Slack, Teams, Telegram 등), 보안(예: Okta 등)과 같이 인터넷을 통해 서비스로 제공되는 애플리케이션을 나타냅니다. ) 또는 소셜 네트워크(SaaS 개념의 경우 전화 및 클라우드 제외).
  • ? 사용자 정의: 사용자가 특정 폴더에 저장된 PNG 아이콘을 사용하여 다이어그램을 사용자 정의할 수 있습니다. 이는 기본 노드(줄이 그어진 사용자 지정 도구)에서 다루지 않는 인프라 구성 요소를 나타내는 데 유용합니다.

? 프로그래밍 언어

다이어그램 라이브러리를 사용하면 다양한 노드를 사용하여 다양한 프로그래밍 언어를 나타낼 수 있습니다. 이러한 노드는 아키텍처의 일부가 특정 프로그래밍 언어로 개발된 스크립트나 구성 요소를 활용하는지 여부를 다이어그램에 표시하는 데 유용합니다.

아래에서는 라이브러리에서 사용 가능한 모든 언어를 보여드리겠습니다. 언어가 누락된 경우 해당 로고를 특정 폴더에 업로드하여 사용자 정의 노드를 추가할 수 있습니다.

!pip install diagrams=='0.23.4'

Diagram-as-Code: Creating Dynamic and Interactive Documentation for Visual Content


☁️ AWS(아마존 웹 서비스)

다음과 같은 여러 범주로 구성된 Amazon 노드를 사용할 수 있습니다.

  • 분석 및 비즈니스: aws.analytics, aws.business
  • 컴퓨팅 및 스토리지: aws.compute, aws.storage, aws.cost
  • 데이터베이스 및 DevTools: aws.database, aws.devtools
  • 통합 및 관리: aws.integration, aws.management
  • 기계 학습 및 모바일: aws.ml, aws.mobile
  • 네트워킹 및 보안: aws.network, aws.security
  • 기타: aws.blockchain, aws.enduser, aws.engagement, aws.game, aws.general, aws.iot, aws.media, aws.migration, aws.Quantum, aws.robotics, aws. 위성

다음으로 aws.database 내에서 사용 가능한 노드를 시각화하기 위해 이러한 범주 중 하나를 나타냅니다.

!pip install diagrams=='0.23.4'

Diagram-as-Code: Creating Dynamic and Interactive Documentation for Visual Content


☁️ 사용 사례

이제 AWS에서 데이터 세트를 가져오고 기계 학습 모델을 훈련하는 데 해당하는 간단한 청사진을 만들어 보겠습니다.

# Create the diagram object
with diagrams.Diagram("Programming Languages", show=False, filename="languages"):
    # Get all the languages available in this library
    languages = [item for item in dir(diagrams.programming.language) if item[0] != '_']

    # Divide the representation in two lines
    mid_index = len(languages) // 2
    first_line = languages[:mid_index]
    second_line = languages[mid_index:]

    # Add nodes in the first row
    prev_node = None

    for language in first_line:
        current_node = eval(f"diagrams.programming.language.{language}(language)")
        if prev_node is not None:
            prev_node >> current_node
        prev_node = current_node

    # Add nodes in the second row
    prev_node = None

    for language in second_line:
        current_node = eval(f"diagrams.programming.language.{language}(language)")
        if prev_node is not None:
            prev_node >> current_node
        prev_node = current_node

Image("languages.png")

Diagram-as-Code: Creating Dynamic and Interactive Documentation for Visual Content


저장소

아래는 모든 코드에 대한 링크입니다. 유용하다고 생각하시면 별표 ⭐️를 남겨주시고 저를 팔로우하시면 새 기사 알림을 받으실 수 있습니다. 이는 제가 기술 커뮤니티에서 성장하고 더 많은 콘텐츠를 만드는 데 도움이 될 것입니다.

Diagram-as-Code: Creating Dynamic and Interactive Documentation for Visual Content r0mymendez / 코드형 다이어그램

'Doc as Diagram' 방법론을 사용하여 문서 프로젝트를 생성하는 방법에 대한 튜토리얼

Diagram-as-Code: Creating Dynamic and Interactive Documentation for Visual Content


? 코드형 다이어그램: 시각적 콘텐츠를 위한 동적 및 대화형 문서 생성

Diagram as Code는 기존 그래픽 도구가 아닌 코드를 통해 다이어그램을 만들 수 있는 접근 방식입니다. 수동으로 다이어그램을 작성하는 대신 텍스트 파일에 코드를 작성하여 다이어그램의 구조, 구성 요소 및 연결을 정의할 수 있습니다.

Diagram-as-Code: Creating Dynamic and Interactive Documentation for Visual Content

이 코드는 그래픽 이미지로 변환되어 소프트웨어 프로젝트에 더 쉽게 통합하고 문서화할 수 있으며, 특히 프로그래밍 방식으로 아키텍처 및 흐름도를 생성하고 업데이트하는 데 유용합니다.

다이어그램이란 무엇인가요?

다이어그램은 코드형 다이어그램 접근 방식을 구현하는 ?Python 라이브러리로, 코드를 통해 아키텍처 인프라 다이어그램과 기타 유형의 다이어그램을 만들 수 있습니다. 다이어그램을 사용하면 단 몇 줄의 코드만으로 클라우드 인프라 구성 요소(예: AWS, Azure, GCP), 네트워크 요소, 소프트웨어 서비스 등을 쉽게 정의할 수 있습니다.

? 코드형 다이어그램의 장점

  • ?…


GitHub에서 보기


이 파이프라인을 사용하여 문서 사이트를 구현하는 방법을 보려면 다음 링크에 게시된 기사를 읽어보세요


? 참고자료

  1. 다이어그램: https://diagrams.mingrammer.com/

위 내용은 코드형 다이어그램: 시각적 콘텐츠를 위한 동적 및 대화형 문서 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.