Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translate several pages into Korean #202

Merged
merged 15 commits into from
May 2, 2024
Merged
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 커뮤니티

- 질문이나 도움이 필요한 경우 [Discord 채널](https://discord.gg/NF6X8K4eDq)을 통해 빠르게 답변을 받으실 수 있습니다.
- 제안, 버그 발생 또는 팀 및 커뮤니티와 논의하고 싶은 사항이 있으신가요? D2는 [GitHub Issues](https://github.com/terrastruct/d2/issues)를 사용하여 이슈들을 관리하고 있으며, [GitHub Discussions](https://github.com/terrastruct/d2/discussions)으로 기능 요청 및 아이디어를 확인하고 있습니다.
- 개인적인 문의사항이 있으신 경우 [email protected]으로 이메일을 보내주세요.
50 changes: 29 additions & 21 deletions i18n/ko/docusaurus-plugin-content-docs/current/tour/connections.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
# 커넥션(Connections)
import CodeBlock from '@theme/CodeBlock';
import Connections1 from '@site/static/d2/connections-1.d2';
import Connections2 from '@site/static/d2/connections-2.d2';
import Connections3 from '@site/static/d2/connections-3.d2';
import Connections4 from '@site/static/d2/connections-4.d2';
import Connections5 from '@site/static/d2/connections-5.d2';
import ConnectionsReference from '@site/static/d2/connections-reference.d2';

커넥션은 셰이프 간의 관계를 정의합니다.
# 연결(Connection)

연결은 도형 간의 관계를 정의합니다.

## 기본

셰이프 사이의 하이픈 또는 화살표는 커넥션을 정의합니다.
도형 사이의 하이픈 또는 화살표는 연결을 정의합니다.

```d2
Write Replica Canada <-> Write Replica Australia
Expand All @@ -15,10 +23,10 @@ Write Replica -> Master
Read Replica 1 -- Read Replica 2
```

커넥션에서 선언되지 않은 셰이프를 참조하는 경우 해당 셰이프가 새로 생성됩니다([hello world](hello-world.md)에서 확인 가능).
연결에서 선언되지 않은 도형을 참조하는 경우 해당 도형이 새로 생성됩니다([hello world](hello-world.md)에서 확인 가능).

:::info
4가지 방법으로 커넥션을 정의할 수 있습니다.
4가지 방법으로 연결을 정의할 수 있습니다.

- `--`
- `->`
Expand All @@ -27,22 +35,22 @@ Read Replica 1 -- Read Replica 2

:::

### 커넥션 라벨(Connections labels)
### 연결 레이블(Connections labels)

```d2
Read Replica 1 -- Read Replica 2: Kept in sync
```

### 커넥션라벨이 아닌 셰이프의 키를 참조해야 합니다.
### 연결레이블이 아닌 도형의 키를 참조해야 합니다.

```d2
be: Backend
fe: Frontend

# 새로운 셰이프가 생성됩니다
# 새로운 도형이 생성됩니다
Backend -> Frontend

# 기본 라벨(키)에 대한 커넥션을 정의합니다.
# 기본 레이블(키)에 대한 연결을 정의합니다.
be -> fe
```

Expand All @@ -61,10 +69,10 @@ super long shape id here --\

<div className="embedSVG" dangerouslySetInnerHTML={{__html: require('@site/static/img/generated/connections-1.svg2')}}></div>

## 반복 커넥션(Repeated connections)
## 반복 연결(Repeated connections)

반복된 커넥션 선언은 기존 커넥션을 재정의하지 않습니다.
대신 새로운 커넥션이 생성됩니다.
반복된 연결 선언은 기존 연결을 재정의하지 않습니다.
대신 새로운 연결이 생성됩니다.

```d2
Database -> S3: backup
Expand All @@ -74,12 +82,12 @@ Database -> S3: backup

<div className="embedSVG" dangerouslySetInnerHTML={{__html: require('@site/static/img/generated/connections-2.svg2')}}></div>

## 커넥션 체이닝(Connection chaining)
## 연결 체이닝(Connection chaining)

가독성을 위해, 한 줄에 여러 커넥션을 정의하는 것이 더 자연스럽게 보일 수 있습니다.
가독성을 위해, 한 줄에 여러 연결을 정의하는 것이 더 자연스럽게 보일 수 있습니다.

```d2
# 라벨은 커넥션 체인의 각 커넥션에 적용됩니다.
# 레이블은 연결 체인의 각 연결에 적용됩니다.
High Mem Instance -> EC2 <- High CPU Instance: Hosted By
```

Expand All @@ -96,7 +104,7 @@ Stage Four -> Stage One: repeat

## 화살표 머리(Arrowheads)

기본 화살표 머리의 모양을 재정의하거나 화살표 머리 옆에 라벨을 지정하려면 `source-arrowhead` 또는 `target-arrowhead`라는 속성을 사용해 정의합니다.
기본 화살표 머리의 모양을 재정의하거나 화살표 머리 옆에 레이블을 지정하려면 `source-arrowhead` 또는 `target-arrowhead`라는 속성을 사용해 정의합니다.

```d2
a: The best way to avoid responsibility is to say, "I've got responsibilities"
Expand Down Expand Up @@ -141,12 +149,12 @@ d -> a -> c
:::

:::info
화살표 머리의 라벨은 짧게 하는 것이 좋습니다.
일반 라벨처럼 최적의 위치 지정을 위해 자동 레이아웃이 이뤄지지 않으므로 라벨이 길 경우 주변 개체와 충돌할 가능성이 큽니다.
화살표 머리의 레이블은 짧게 하는 것이 좋습니다.
일반 레이블처럼 최적의 위치 지정을 위해 자동 레이아웃이 이뤄지지 않으므로 레이블이 길 경우 주변 개체와 충돌할 가능성이 큽니다.
:::

:::caution
화살표 머리 속성 부여 시 커넥션 내에 해당하는 화살표 머리가 존재하지 않는다면 아무 작업도 수행하지 않습니다.
화살표 머리 속성 부여 시 연결 내에 해당하는 화살표 머리가 존재하지 않는다면 아무 작업도 수행하지 않습니다.
다음 예시의 경우, 출발점에 화살표 머리가 없기 때문에 아무 작업도 수행하지 않습니다.

```d2
Expand All @@ -157,9 +165,9 @@ x -> y: {

:::

## 커넥션 참조(Referencing connections)
## 연결 참조(Referencing connections)

원래 ID 뒤에 인덱스를 지정하여 커넥션을 참조할 수 있습니다.
원래 ID 뒤에 인덱스를 지정하여 연결을 참조할 수 있습니다.

```d2
x -> y: hi
Expand Down
15 changes: 10 additions & 5 deletions i18n/ko/docusaurus-plugin-content-docs/current/tour/containers.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
# 컨테이너(Containers)
import CodeBlock from '@theme/CodeBlock';
import Containers1 from '@site/static/d2/containers-1.d2';
import Containers2 from '@site/static/d2/containers-2.d2';
import Containers3 from '@site/static/d2/containers-3.d2';
import ContainersUnderscore from '@site/static/d2/containers-underscore.d2';

# 컨테이너(Container)

```d2
server
# 셰이프 안에 셰이프를 선언
# 도형 안에 도형을 선언
server.process

# 컨테이너와 자식을 동시에 선언할 수 있습니다.
Expand Down Expand Up @@ -35,9 +41,9 @@ clouds: {

<div className="embedSVG" dangerouslySetInnerHTML={{__html: require('@site/static/img/generated/containers-2.svg2')}}></div>

## 컨테이너 라벨
## 컨테이너 레이블

컨테이너 라벨을 정의하는 방법에는 두 가지가 있습니다.
컨테이너 레이블을 정의하는 방법에는 두 가지가 있습니다.

### 1. 약식 정의

Expand Down Expand Up @@ -82,7 +88,6 @@ ci.deploys -> clouds

## 부모 참조

Sometimes you want to reference something outside of the container from within. The underscore (`_`) refers to parent.
내부에서 컨테이너 외부의 무언가를 참조하고 싶을 때 사용합니다.
언더바 기호(`_`)로 외부의 다른 부모 컨테이너를 참조하고 있다는 것을 나타냅니다.

Expand Down
59 changes: 59 additions & 0 deletions i18n/ko/docusaurus-plugin-content-docs/current/tour/design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# 설계 방안

다음은 D2의 개발 방향에 대해 설명하는 설계 방안입니다.
우리는 과거의 실수를 피하고 가장 성공적인 현대 프로그래밍 언어에서 영감을 얻기 위해 최선을 다했습니다.

D2의 설계 방안은 본질적으로 절충안에 가깝습니다.
따라서 이들 중 일부는 당신이 동의하지 못할 수 있습니다.
그러나 만약 당신이 프로그래머라면, D2는 당신을 위해 만들어진 것이며, 저희는 이러한 결정들이 모여 당신이 편안하게 느낄 수 있는 언어를 만들었다고 믿습니다.

언어가 계속 발전함에 따라 이러한 것들도 필연적으로 발전할 것입니다.

## 가독성 > 프로토타입 개발 속도

가독성과 프로토타입 개발 속도 모두 중요하지만 둘 중 하나를 택해야 할 경우 D2는 일반적으로 가독성을 선호합니다.

대부분의 경우 둘 중 하나를 택해야 하는 경우는 없습니다.
좋은 프로그래밍 언어는 일반적으로 두가지 모두를 택할 수 있도록 합니다.
D2의 문법은 가벼우며, 자동 포맷터가 항상 정확하게 사용되도록 설계되어 프로젝트 간에 일관성을 유지하도록 합니다.

사용 편의성, 프로토타입 개발 속도, 가독성 사이에서 적절한 균형을 찾으시길 바랍니다.
D2는 특히 위의 세가지를 모두 무시하는 명료하지 않고 간결한 구문의 사용을 피하고 있습니다.

예를 들어 원통 모양을 정의하는 두 가지 방법이 있습니다.

D2:

```d2
A: Christmas {shape: cylinder}
```

Mermaid:

```
A[(Christmas)]
```

D2는 덜 간결하지만 훨씬 더 읽기 쉽습니다.

## 경고 > 에러

D2는 가능할 때마다 컴파일합니다.
예를 들어, 존재하지 않는 클래스를 적용하거나 특정 모양에 영향을 주지 않는 스타일을 추가한다고 가정해 보겠습니다.
사용자 오류가 D2가 무시할 수 있는 오류인 경우 성공적으로 컴파일되고 최대 경고만 표시됩니다.
디버깅하는 동안 일부 코드를 주석 처리하고 사용되지 않은 변수가 있다는 뜻밖의 오류 메시지를 받는 것보다 더 짜증나는 일은 없습니다.

## 좋은 기본 설정

D2의 기본 설정, 즉 사용자가 아무것도 변경하지 않았을 때는 좋은 다이어그램을 생성해야 합니다.
이를 위해서는 어떤 기본 설정이 좋은지에 대해 명확한 견해를 가져야 합니다.
예를 들어, D2는 단색이 아닌 쾌적한 색상이 기본 테마으로 제공됩니다.

## 데스크톱 및 서버용을 위한 최적화

D2는 감시 모드가 내장되어 있고, 매뉴얼 페이지가 유지 관리되며, 표준 입력(stdin)에서 읽고 표준 출력(stdout)으로 쓰는 기능을 지원하는 강력한 CLI를 갖추고 있습니다.
이미지와 글꼴은 기본적으로 다이어그램에 포함되므로 내보내기(exported) 된 다이어그램은 독립형 다이어그램으로 어디에서나 동일하게 보입니다.
D2는 PPT 및 GIF와 같은 다양한 형식을 지원하며 모듈화를 위해 다이어그램을 여러 파일로 나눌 수 있는 가져오기(import) 기능을 제공합니다.
프로그래밍적으로 D2를 편집하고 작성할 수 있는 언어 API도 있습니다.
이 모든 것은 브라우저 렌더링을 위한 웹 라이브러리와는 반대되는 개념입니다
D2는 이러한 용도의 웹 라이브러리를 제공하고 유지 관리할 계획이지만, 이는 후순위이기 때문에 전체 기능에서 간소화할 예정입니다.
20 changes: 20 additions & 0 deletions i18n/ko/docusaurus-plugin-content-docs/current/tour/experience.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
sidebar_label: 개발 툴 vs 디자인 툴
---

# 다이어그램 개발툴

D2는 **"개발자가 다이어그램 작성을 즐겁게 할 수 있게 하자"**라는 단 하나의 목표를 가지고 설계되었습니다.
간단한 다이어그램을 그릴 경우에 이런 점을 만족시킬 수 있는 툴들은 많지만, 그러한 툴들은 다이어그램이 조금만 복잡해지는 순간 그럴 수 없게 됩니다.

왜 그럴까요?
오늘날 대부분의 다이어그램 작성 툴들은 개발이 아닌 디자인을 위한 툴이기 때문입니다.
Figma나 Photoshop에서 볼 수 있는 것처럼, 그 툴들은 빈 캔버스와 작업용 툴바를 제공하여 실행해야할 작업을 디자인 프로세스로 취급합니다.
엔지니어는 비주얼 디자이너가 아니며, 시스템을 공간적으로 설계하는 능력이 부족하다고 해서 귀중한 문서 작성이 방해되어서는 안 됩니다.
모든 드래그와 드롭에는 계획이 필요하지 않아야 할 것이며, 업데이트는 새 항목을 위한 공간을 확보하기 위해 항목을 이동하고 크기를 조절해야 하는 귀찮은 작업이 되어서는 안 됩니다.
D2에서는 이러한 잔업들을 배제합니다.

Hashicorp가 Terraform을 도입하여 엔지니어가 인프라를 텍스트로 작성할 수 있도록 하기 전에는 AWS 및 Google Cloud 콘솔을 클릭하여 인프라를 구성했습니다.
오늘날, 그런 방식은 전혀 전문적이지 않습니다.
그런 방식으로 검토 프로세스, 롤백 단계, 기록 및 버전 관리는 어떻게 할 수 있을까요?
또한, 시간이 지날수록 세계적인 기업들은 시각적 문서를 디자인 툴로 만들지는 않을 것입니다.
Loading
Loading