본문 바로가기

D2Lang

[D2Lang] 11. D2의 Sequence 다이어그램의 사용법을 알아보자! (2) Sequence 다이어그램에서 그룹에 대해 알아보겠습니다. 여기서 말하는 그룹은 ”{}"로 감싸진 영역입니다. 또한 여기서 사용할 alice와 bob은 먼저 명시해야 합니다. shape: sequence_diagram alice bob shower thoughts: { alice -> bob: A physicist is an atom's way of knowing about atoms. alice -> bob: Today is the first day of the rest of your life. } life advice: { bob -> alice: If all else fails, lower your standards. } 아래는 결과입니다. 결과를 보시면 이전에 설명드렸던 자식 컨테이너와 같이 나왔.. 더보기
[D2Lang] 10. D2의 Sequence 다이어그램의 사용법을 알아보자! (1) Sequence 다이어그램의 경우 shape을 설정해서 사용할 수 있습니다. 다음과 같이 shape: sequence_diagram 사용합니다. shape: sequence_diagram alice -> bob: What does it mean\\nto be well-adjusted? bob -> alice: The ability to play bridge or\\ngolf as if they were games. 아래와 같이 출력됩니다. 시퀀스 다이어그램의 자식은 전체에서 동일한 범위를 가집니다. (중첩되지 않고 사용됩니다.) Office chatter: { shape: sequence_diagram alice: Alice bob: Bobby awkward small talk: { alice -> bo.. 더보기
[D2Lang] 9. D2의 UML 클래스의 사용법을 알아보자! UML 클래스 다이어그램을 만들어 보겠습니다. MyClass: { shape: class field: "[]string" method(a uint64): (x, y int) } 다음과 같이 출력됨을 확인할 수 있습니다. class shape의 내부에 있는 각 key: value는 필드 혹은 메소드를 말합니다. 필드의 value는 변수 타입이며 메소드의 경우는 반환 유형입니다. class의 접근 제어자는 아래와 같이 나타낼 수 있습니다. visibility prefix meaning none public + public - private # protected 아래는 사용 예제입니다. D2 Parser: { shape: class . +reader: io.RuneReader readerPos: d2ast.P.. 더보기
[D2Lang] 8. D2의 SQL Tables의 사용법을 알아보자! shape 속성울 통해서 엔티티-관계 다이어그램(ERD)을 쉽게 다이어그램으로 나타낼 수 있습니다. 예는 다음과 같습니다. basic_table: { shape: sql_table id: int {constraint: primary_key} last_updated: timestamp with time zone } constraint라는 것을 통해 sql 테이블에서의 제약을 표시할 수 있습니다. 결과는 다음과 같습니다. 다음과 같이 자동적으로 강조되는 것을 확인할 수 있습니다. 제약 조건에서 인식하는 조건들은 아래와 같습니다. 조건 축약어 primary_key PK foreign_key FK unique UNQ 아래는 외래 키를 연결시키는 예제입니다. objects: { shape: sql_table id.. 더보기
[D2Lang] 7. D2의 Icons & Images의 사용법을 알아보자! 먼저 Icon의 경우입니다. 기본적으로 D2Lang에서 Icon울 지원하고 있습니다. (아래의 링크에서 확인) https://icons.terrastruct.com/ 링크에 들어가신 뒤 아이콘을 누를 경우 svg링크가 복사 되어 붙여 넣어 사용하면 됩니다. 사용 방법은 **icon: ‘icon url’**과 같이 설정하여 사용할 수 있습니다. (별도의 아이콘도 url을 통해 사용할 수 있습니다.) 웹에서 하는 plaground에서 내보내는 경우 아이콘이 같이 export되지 않아 로컬 환경에서 작업했습니다. 로컬에서 사용하는 방법은 여기에서 확인 할 수 있습니다. 아래는 icon.d2 의 내용입니다. network: { icon: https://icons.terrastruct.com/infra/019-n.. 더보기
[D2Lang] 6. window에서 D2 CLI 설치 및 내보내기(svg, png)를 알아보자! window의 경우 msi를 설치해서 사용하는 방법과 WSL(윈도우 하위 시스템)에 설치하는 방법이나 도커에서 돌리는 방법이 있습니다. 여기서는 msi로 설치할 것 입니다. https://github.com/terrastruct/d2/releases 위의 링크에 들어가시면 아래와 같이 나오는데 Assetes window msi파일을 다운 받으시고 설치하시면 됩니다. 확인 누르시고 설치를 완료하시면 d2 명령어를 사용할 수 있으며 ”d2 --version”를 사용하여 제대로 설치가 되었는지 확인해 봅니다. cmd창에서 d2 --version을 입력해보시면 아래와 같이 출력됩니다. D:\>d2 --version v0.4.1 저의 경우 설치한 버전인 0.4.1이 정상적으로 설치 되었음을 확인할 수 있습니다. .. 더보기
[D2Lang] 5. D2의 Text & Code를 알아보자! 오늘은 Text와 code를 삽입하는 방법에 대해 알아보겠습니다. 1번째 코드입니다. #은 주석입니다. explanation: |md # up mark context | explanation2: |md # can use markdown context | explanation -> explanation2 plankton -> formula: will steal formula: { equation: |latex \\lim_{h \\rightarrow 0 } \\frac{f(x+h)-f(x)}{h} | } 아래의 사진은 결과입니다. upmark와 can use markdown은 마크다운 문법을 사용했으며 옆의 plankton과 formula는 LaTex(MathJax)를 통해 수식을 나타낸 것입니다. |사용할.. 더보기
[D2Lang] 4. D2의 Container를 알아보자! 오늘은 container의 중첩과 색상을 설정하는 방법을 알아보겠습니다. 아래의 예제 코드를 입력하시고 돌려보시면 아래의 사진과 같이 출력됩니다. root parent container1.child container1 parent container2: { label: parent2 child container2 -> child container3 } extra: extra parent { child1 -> _.parent container2.child container3 child2 -> _.parent container2 } parent container1.child container1 -> parent container2.child container2 root -> parent container1.c.. 더보기