이 기사에서는 다이어그램-코드 도구를 사용하여 역동적이고 대화식 시각적 문서를 작성하기 위해 단계별로 안내합니다. 정적 이미지 대신 프로그래밍 방식으로 다이어그램을 생성하여 항상 최신 상태이고 유지 관리가 쉽도록합니다.
코드로서의 다이어그램 은 기존 그래픽 도구 대신 코드를 통해 다이어그램을 만들 수있는 접근법입니다. 다이어그램을 수동으로 빌드하는 대신 텍스트 파일에 코드를 작성하여 다이어그램의 구조, 구성 요소 및 연결을 정의 할 수 있습니다.
이 코드는 그래픽 이미지로 변환되므로 소프트웨어 프로젝트에서 쉽게 통합하고 문서화 할 수 있습니다. 여기서 아키텍처 및 플로우 다이어그램을 프로그래밍 방식으로 작성하고 업데이트하는 데 특히 유용합니다.
다이어그램 는 코드 접근 방식으로 다이어그램을 구현하는 ? Python Library 는 코드를 통해 건축 인프라 다이어그램 및 기타 유형의 다이어그램을 만들 수 있습니다. 다이어그램을 사용하면 클라우드 인프라 구성 요소 (예 : AWS, Azure 및 GCP), 네트워크 요소, 소프트웨어 서비스 등을 쉽게 정의 할 수 있습니다.
? 다이어그램-코드의 이점
!pip install diagrams=='0.23.4'라이브러리를 사용하면 노드를 사용하여 다양한 인프라 구성 요소 및 서비스를 나타내는 건축 다이어그램을 프로그래밍 방식으로 만들 수 있습니다.
다이어그램의 노드는 다른 클라우드 서비스 제공 업체와 다른 아키텍처 요소의 구성 요소를 나타냅니다. 사용 가능한 노드의 주요 범주는 다음과 같습니다.
클라우드 제공 업체
: AWS (Amazon Web Services), Azure, GCP, IBM Cloud, Alibaba Cloud, Oracle Cloud, DigitalOcean 등.아래, 우리는 도서관에서 사용 가능한 모든 언어를 보여줄 것입니다. 언어가 없으면 해당 로고를 특정 폴더에 업로드하여 사용자 정의 노드를 추가 할 수 있습니다.
# 다이어그램 객체를 만듭니다 diagrams.diagram ( "프로그래밍 언어", show = false, filename = "언어") : #이 라이브러리에서 모든 언어를 사용할 수 있습니다 언어 = [DIR의 항목에 대한 항목 (다이어그램. 프로그램. # 표현을 두 줄로 나눕니다 mid_index = len (언어) // 2 First_line = 언어 [: mid_index] second_line = 언어 [mid_index :] # 첫 번째 행에 노드를 추가합니다 prev_node = 없음 First_Line의 언어 : current_node = eval (F "다이어그램. 프로그램. prev_node가 없다면 : prev_node >> current_node prev_node = current_node # 두 번째 행에 노드를 추가합니다 prev_node = 없음 Second_line의 언어 : current_node = eval (F "다이어그램. 프로그램. prev_node가 없다면 : prev_node >> current_node prev_node = current_node image ( "languages.png")
!pip install diagrams=='0.23.4'
☁️ AWS (Amazon Web Services)
분석 및 비즈니스
: aws.analytics, aws.business
!pip install diagrams=='0.23.4'
☁️ 사용 사례
다이어그램 가져 오기 다이어그램, 클러스터
Diagrams.aws.Storage 가져 오기 S3
Diagrams.aws.analytics import Glue, Athena에서
ML로 다이어그램을 가져옵니다
다이어그램에서 aws.integration 가져 오기 단계
다이어그램에서 aws.compute import lambda
Diagrams.aws.network import apigateway에서
IPYTHON에서 DISPLAY 가져 오기 이미지
다이어그램을 사용하여 ( "AWS 데이터 처리 파이프 라인", show = false) :
lambda_raw = lambda ( '원시 데이터 받기')
# 버킷 DE S3
클러스터 ( "데이터 레이크") : :
s3_rawdata = s3 ( "raw_data")
s3_stage = s3 ( "staging_data")
s3_data_capture = s3 ( "data_capture")
아테나 = 아테나 ( "아테나")
S3_RAWDATA >> 아테나
S3_STAGE >> 아테나
s3_data_capture >> athena
# 단계 기능 파이프 라인
클러스터를 사용하여 ( "데이터 처리 파이프 라인") :
step_funtions = stepfactions ( "파이프 라인")
# 단계 함수에서 작업을 접착합니다
클러스터 ( "접착제 작업") : :
data_quality = 접착제 ( "job_data_quality")
변환 = 접착제 ( "job_data_transform")
DataSet_preparation = 접착제 ( "job_dataset_model")
# 정의 단계 함수 흐름
step_Functions >> data_quality >> transform >> dataSet_preparation
S3_RAWDATA >> data_quality
# 모델 교육 및 배포를위한 Sagemaker
클러스터 ( "Sagemaker 모델 배포") : :
Train_Model = ml.SagemakerTrainingJob ( "job_train_model")
eval_model = ml.sagemakergroundtruth ( "job_evaluate_model")
endpoint = ml.sagemakermodel ( "model_enpoint")
# 엔드 포인트의 API 게이트웨이 및 람다
api_gateway = apigateway ( "api_gateway")
lambda_fn = lambda ( "invoke_endpoint")
# 연결
lambda_raw >> s3_rawdata
S3_STAGE >> TRAIN_MODEL >> EVAT_MODEL >> 엔드 포인트
종말점 >> lambda_fn >> api_gateway
엔드 포인트 >> s3_data_capture
DataSet_preparation >> TRAIN_MODEL
이미지 ( "aws_data_processing_pipeline.png")
from diagrams import Diagram, Cluster from diagrams.aws.storage import S3 from diagrams.aws.analytics import Glue, Athena import diagrams.aws.ml as ml from diagrams.aws.integration import StepFunctions from diagrams.aws.compute import Lambda from diagrams.aws.network import APIGateway from IPython.display import Image with Diagram("AWS Data Processing Pipeline", show=False): lambda_raw = Lambda('Get Raw Data') # Buckets de S3 with Cluster("Data Lake"): s3_rawData = S3("raw_data") s3_stage = S3("staging_data") s3_data_capture = S3("data_capture") athena = Athena("Athena") s3_rawData >> athena s3_stage >> athena s3_data_capture >> athena # Step Functions Pipeline with Cluster("Data Processing Pipeline"): step_functions = StepFunctions("Pipeline") # Glue Jobs in Step Functions with Cluster("Glue Jobs"): data_quality = Glue("job_data_quality") transform = Glue("job_data_transform") dataset_preparation = Glue("job_dataset_model") # Define Step Functions Flows step_functions >> data_quality >> transform >> dataset_preparation s3_rawData >> data_quality # SageMaker for model training and deployment with Cluster("SageMaker Model Deployment"): train_model = ml.SagemakerTrainingJob("job_train_model") eval_model = ml.SagemakerGroundTruth("job_evaluate_model") endpoint = ml.SagemakerModel("model_enpoint") # API Gateway and Lambda for the endpoint api_gateway = APIGateway("API_gateway") lambda_fn = Lambda("invoke_endpoint") # Connection lambda_raw >> s3_rawData s3_stage >> train_model >> eval_model >> endpoint endpoint >> lambda_fn >> api_gateway endpoint >> s3_data_capture dataset_preparation >> train_model Image("aws_data_processing_pipeline.png")저장소
아래는 모든 코드에 대한 링크입니다. 유용하다고 생각되면 별을 남겨두고 새 기사에 대한 알림을받을 수 있습니다. 이것은 기술 커뮤니티에서 성장하고 더 많은 콘텐츠를 만드는 데 도움이 될 것입니다.
r0mymendez / 다이어그램-코드
? 다이어그램 코드 : 시각적 컨텐츠에 대한 동적 및 대화식 문서 작성
이 코드는 그래픽 이미지로 변환되므로 소프트웨어 프로젝트에서 쉽게 통합하고 문서화 할 수 있습니다. 여기서 아키텍처 및 플로우 다이어그램을 프로그래밍 방식으로 작성하고 업데이트하는 데 특히 유용합니다.
다이어그램이란 무엇입니까?
? 다이어그램-코드의 이점
?…다이어그램 :
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3