Skip to content
62 changes: 62 additions & 0 deletions docs/architecture/background.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
head:
- - meta
- property: og:title
content: 자세히 설명하기
---

import { DoDont } from '@/components/DoDont/DoDont';


# 자세히 설명하기

문서는 반드시 독자의 이해 수준에 맞게 작성해야 해요. 독자는 이 문서를 처음 읽기 때문에 설명하려는 주제에 대한 배경지식이 부족할 수 있어요.
독자가 내용을 이해하기 위해 꼭 필요한 정보를 생략하면 내용을 스스로 추론해야 하기 때문에 오해가 생기고, 문서를 이해하는 데 불필요한 인지 부담이 생겨요.

### 1. 학습 곡선을 줄일 수 있어요
기술 문서에는 사전에 알아야 하는 개념이 자주 등장해요. 이런 개념을 간단히라도 먼저 설명해두면 독자의 학습 부담이 줄어요.

### 2. 독자가 내용을 정확하게 이해할 수 있어요
기능의 동작 조건을 설명하지 않으면 독자는 기능을 잘못 이해하거나 잘못 적용할 수 있어요.
기능이 어떤 조건에서 어떻게 동작하는지, 입력값이나 상태, 시간에 따라 결과가 어떻게 달라지는지 구체적으로 설명하면 오해를 방지하고 내용을 명확하게 전달할 수 있어요.

## 체크리스트

### ✅ 새로운 개념이 등장하면 자세히 설명하세요
개념 정의를 한두 문장으로 작성해요. 필요하다면 이 개념을 왜 알아야 하는지, 어디에서 사용되는지도 함께 안내해요.

<DoDont>
<DoDont.Dont>

이 서비스는 이벤트 소싱 방식을 사용해 상태를 관리합니다.

- 이벤트 소싱이 무엇인지 설명되어 있지 않습니다.

</DoDont.Dont>
<DoDont.Do>

이 서비스는 이벤트 소싱(Event Sourcing) 방식을 사용해 상태를 관리합니다. 이벤트 소싱은 상태의 최종 결과만 저장하는 대신, 상태 변화를 일으킨 모든 이벤트를 기록하는 방식입니다.

- 개념이 정의되어 있어서 독자가 바로 이해할 수 있습니다.

</DoDont.Do>
</DoDont>


### ✅ 기능이 어떻게 동작하는지 정보를 충분히 제공하세요
기능이 어떤 조건에서 어떻게 동작하는지, 입력이나 상태, 시간에 따라 어떤 차이가 생기는지 구체적으로 설명하세요.

<DoDont>
<DoDont.Dont>
`sessions[].duration`: 세션의 지속 시간을 나타냅니다.
- 설명이 지나치게 짧아서 지속 시간이 어떻게 결정되는지, 단위는 무엇인지 알 수 없습니다.
</DoDont.Dont>

<DoDont.Do>
`sessions[].duration`: 세션의 지속 시간으로, 사용자가 로그인을 유지한 시간을 의미합니다.
세션이 수동 로그아웃으로 종료된 경우에는 실제 이용 시간을 나타냅니다. 시간 초과로 자동 종료되었다면 마지막 활동 시점까지의 시간을 나타냅니다.
단위는 밀리초(ms)입니다.
- 누락된 정보가 없어서 독자가 이 값이 무엇인지 정확히 이해할 수 있습니다.
- 단위를 명시해서 데이터를 잘못 입력하는 경우를 방지했습니다.
</DoDont.Do>
</DoDont>
4 changes: 4 additions & 0 deletions docs/architecture/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,7 @@ head:
- 논리적인 순서로 정보를 배치하세요.
- 용어를 일관되게 사용하세요.

### [자세히 설명하기](./background.md)

- 새로운 개념이 등장하면 자세히 설명해 주세요.
- 기능이 어떻게 동작하는지 정보를 충분히 제공해 주세요.
4 changes: 4 additions & 0 deletions rspress.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,10 @@ export default defineConfig({
text: '예측 가능하게 하기',
link: '/architecture/predictability',
},
{
text: '자세히 설명하기',
link: '/architecture/background',
},
],
},
{
Expand Down