Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Diagram-as-Cod: Mencipta Dokumentasi Dinamik dan Interaktif untuk Kandungan Visual

Diagram-as-Cod: Mencipta Dokumentasi Dinamik dan Interaktif untuk Kandungan Visual

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-26 18:07:08966semak imbas

Dalam artikel ini, saya akan membimbing anda langkah demi langkah untuk mencipta dokumentasi visual dinamik dan interaktif menggunakan alat Diagram-as-Code. Daripada imej statik, kami akan menjana gambar rajah secara pengaturcaraan, memastikan ia sentiasa terkini dan mudah diselenggara.

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


? Gambar rajah sebagai kod

Rajah sebagai Kod ialah pendekatan yang membolehkan anda membuat gambar rajah melalui kod dan bukannya alat grafik tradisional. Daripada membina gambar rajah secara manual, anda boleh menulis kod dalam fail teks untuk menentukan struktur, komponen dan sambungan gambar rajah anda.

Kod ini kemudiannya diterjemahkan ke dalam imej grafik, menjadikannya lebih mudah untuk disepadukan dan didokumenkan dalam projek perisian, di mana ia amat berguna untuk mencipta dan mengemas kini gambar rajah seni bina dan aliran secara atur cara.


Apakah Rajah?

Diagrams ialah ?Python library yang melaksanakan pendekatan Diagram as Code, membolehkan anda mencipta rajah infrastruktur seni bina dan jenis rajah lain melalui kod. Dengan Diagrams, anda boleh dengan mudah mentakrifkan komponen infrastruktur awan (seperti AWS, Azure dan GCP), elemen rangkaian, perkhidmatan perisian dan banyak lagi, semuanya dengan hanya beberapa baris kod.

? Faedah Diagram-as-Cod

  • ? Perwakilan Rajah sebagai Kod: Cipta dan kemas kini gambar rajah terus daripada kod, memastikan kebolehselenggaraan dalam projek tangkas.
  • ? Dokumentasi Automatik: Hasilkan visual daripada kod, memastikan gambar rajah sejajar dengan seni bina semasa.
  • ? Kawalan Tukar: Jejaki pengubahsuaian rajah dari semasa ke semasa.
  • ? Kejelasan yang Dipertingkat: Tingkatkan pemahaman tentang sistem yang kompleks dengan visual yang dikongsi bersama yang jelas.
  • ✏️ Boleh disesuaikan: Mewakili infrastruktur awan, aliran kerja atau saluran paip data dengan visual yang fleksibel dan disesuaikan.

Tutorial

? Pemasangan Perpustakaan

Saya sedang menggunakan versi '0.23.4' untuk tutorial ini.

!pip install diagrams=='0.23.4'

? Gambar rajah: Nod

Perpustakaan membolehkan anda membuat gambar rajah seni bina secara pengaturcaraan, menggunakan nod untuk mewakili komponen dan perkhidmatan infrastruktur yang berbeza.


Jenis Nod

Nod dalam Rajah mewakili komponen daripada pembekal perkhidmatan awan yang berbeza serta elemen seni bina lain. Berikut ialah kategori utama nod yang tersedia:

  • ☁️ Pembekal Awan: AWS (Perkhidmatan Web Amazon), Azure, GCP, Awan IBM, Awan Alibaba, Awan Oracle, DigitalOcean, antara lain.
  • ? Di Premis: Mewakili infrastruktur yang terletak secara fizikal di premis syarikat.
  • ? Kubernetes (K8S): Sistem orkestrasi kontena untuk mengautomasikan penggunaan, penskalaan dan pengurusan aplikasi kontena (diwakili oleh roda kapal, melambangkan kawalan dan navigasi).
  • ?️ OpenStack: Platform perisian sumber terbuka untuk mencipta dan mengurus awan awam dan peribadi.
  • ? Generik: Nod generik yang boleh mewakili mana-mana komponen yang tidak dilindungi secara khusus oleh nod khusus pembekal (alat bersilang, mewakili alatan berbeza dalam satu kategori).
  • ☁️ SaaS (Perisian sebagai Perkhidmatan): Mewakili aplikasi yang dihantar sebagai perkhidmatan melalui Internet, seperti Snowflake, perkhidmatan sembang (Slack, Teams, Telegram, antara lain), keselamatan (mis., Okta ), atau rangkaian sosial (palang telefon dan awan untuk konsep SaaS).
  • ? Tersuai: Membenarkan pengguna menyesuaikan gambar rajah mereka menggunakan ikon PNG yang disimpan dalam folder tertentu. Ini berguna untuk mewakili komponen infrastruktur yang tidak diliputi oleh nod lalai (alat tersuai dipalang).

? Bahasa Pengaturcaraan

Pustaka Rajah membolehkan anda menggunakan nod berbeza untuk mewakili pelbagai bahasa pengaturcaraan. Nod ini berguna untuk menunjukkan dalam rajah anda jika mana-mana bahagian seni bina anda menggunakan skrip atau komponen yang dibangunkan dalam bahasa pengaturcaraan tertentu.

Di bawah, kami akan mempamerkan semua bahasa yang tersedia dalam perpustakaan. Jika mana-mana bahasa tiada, anda boleh menambah nod tersuai dengan memuat naik logo yang sepadan ke dalam folder tertentu.

!pip install diagrams=='0.23.4'

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


☁️ AWS (Perkhidmatan Web Amazon)

Kami boleh menggunakan nod Amazon, yang disusun dalam beberapa kategori, seperti:

  • Analitik dan Perniagaan: aws.analytics, aws.business
  • Pengiraan dan Storan: aws.compute, aws.storage, aws.cost
  • Pangkalan Data dan DevTools: aws.database, aws.devtools
  • Integrasi dan Pengurusan: aws.integration, aws.management
  • Pembelajaran Mesin dan Mudah Alih: aws.ml, aws.mobile
  • Rangkaian dan Keselamatan: aws.network, aws.security
  • Lain-lain: aws.blockchain, aws.enduser, aws.engagement, aws.game, aws.general, aws.iot, aws.media, aws.migration, aws.quantum, aws.robotics, aws. satelit

Seterusnya, kami akan mewakili salah satu daripada kategori ini untuk menggambarkan nod yang tersedia dalam aws.database.

!pip install diagrams=='0.23.4'

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


☁️ Use Case

Sekarang, mari buat pelan tindakan ringkas yang sepadan dengan mengimport set data dan melatih model pembelajaran mesin pada 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


Repositori

Di bawah adalah pautan kepada semua kod, jika anda rasa ia berguna, anda boleh meninggalkan bintang ⭐️ dan ikuti saya untuk menerima pemberitahuan artikel baharu. Ini akan membantu saya berkembang dalam komuniti teknologi dan mencipta lebih banyak kandungan.

Diagram-as-Code: Creating Dynamic and Interactive Documentation for Visual Content r0mymendez / rajah-sebagai-kod

Tutorial tentang cara membuat projek dokumentasi menggunakan metodologi 'Doc as diagram'

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


? Diagram-as-Cod: Mencipta Dokumentasi Dinamik dan Interaktif untuk Kandungan Visual

Rajah sebagai Kod ialah pendekatan yang membolehkan anda membuat gambar rajah melalui kod dan bukannya alat grafik tradisional. Daripada membina gambar rajah secara manual, anda boleh menulis kod dalam fail teks untuk menentukan struktur, komponen dan sambungan gambar rajah anda.

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

Kod ini kemudiannya diterjemahkan ke dalam imej grafik, menjadikannya lebih mudah untuk disepadukan dan didokumenkan dalam projek perisian, di mana ia amat berguna untuk mencipta dan mengemas kini gambar rajah seni bina dan aliran secara atur cara.

Apakah itu Rajah?

Diagrams ialah ?Python library yang melaksanakan pendekatan Diagram as Code, membolehkan anda mencipta rajah infrastruktur seni bina dan jenis rajah lain melalui kod. Dengan Diagrams, anda boleh dengan mudah mentakrifkan komponen infrastruktur awan (seperti AWS, Azure dan GCP), elemen rangkaian, perkhidmatan perisian dan banyak lagi, semuanya dengan hanya beberapa baris kod.

? Faedah Rajah-sebagai-Kod

  • ?…


Lihat di GitHub


Jika anda ingin melihat cara melaksanakan tapak dokumentasi menggunakan saluran paip ini, anda boleh membaca artikel yang saya terbitkan dalam pautan berikut


? Rujukan

  1. Rajah: https://diagrams.mingrammer.com/

Atas ialah kandungan terperinci Diagram-as-Cod: Mencipta Dokumentasi Dinamik dan Interaktif untuk Kandungan Visual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn