베스트 프랙티스
마크다운 문법을 마스터한 후, 어떻게 하면 고품질이고 유지보수하기 쉬운 기술 문서를 작성할 수 있을까요? 이 가이드는 기본 표준부터 고급 팁까지 베스트 프랙티스를 제공합니다.
문서 구조 설계
디렉터리 구성
project/
├── README.md # 프로젝트 개요
├── docs/
│ ├── index.md # 문서 홈페이지
│ ├── getting-started/
│ │ ├── installation.md # 설치 가이드
│ │ ├── quick-start.md # 빠른 시작
│ │ └── examples.md # 예제 코드
│ ├── api/
│ │ ├── overview.md # API 개요
│ │ ├── authentication.md # 인증
│ │ └── endpoints/ # API 엔드포인트
│ ├── guides/
│ │ ├── best-practices.md # 베스트 프랙티스
│ │ └── troubleshooting.md # 문제 해결
│ └── changelog.md # 변경 이력
└── assets/
└── images/ # 이미지 에셋
콘텐츠 계층 구조
# 1단계 제목 - 문서 주제
이 문서의 내용과 목표를 간략히 소개합니다.
## 2단계 제목 - 주요 섹션
### 3단계 제목 - 세부 주제
상세 내용 및 설명...
#### 4단계 제목 - 하위 섹션
구현 세부사항...
##### 5단계 제목 - 추가 참고
주의사항 및 팁...
> **참고**: 문서 구조가 너무 복잡해지지 않도록 5단계 이상의 제목 사용은 피하세요.
콘텐츠 작성 기준
언어 스타일
✅ 권장:
1. **간결하고 명확한 언어 사용**
- 긴 문장 피하기
- 능동태 사용
- 전문 용어 최소화
2. **일관된 톤 유지**
- 격식 있으면서도 친근하게
- 사용자 중심 표현
- 지나치게 기술적인 용어 피하기
3. **구체적인 안내 제공**
- 구체적인 수치와 예시 활용
- 명확한 단계 제시
- 기대 결과 포함
❌ 피해야 할 것:
- 모호한 진술
- 수동태 남용
- 필요한 배경 설명 누락
- 특정 독자 지식을 전제로 작성
단락 및 서식
<!-- ✅ 좋은 단락 구조 예시 -->
## Node.js 설치
이 도구를 사용하려면 먼저 Node.js를 설치해야 합니다. Node.js는 서버 측에서 JavaScript를 실행할 수 있는 런타임입니다.
### 시스템 요구사항
설치 전에 시스템이 다음을 충족하는지 확인하세요:
- OS: Windows 10+, macOS 10.12+, 또는 Linux
- 메모리: 최소 4GB RAM
- 저장공간: 최소 1GB 여유 공간
### 설치 단계
1. [Node.js 공식 사이트](https://nodejs.org/) 방문
2. OS에 맞는 설치 파일 다운로드
3. 설치 파일 실행 및 안내에 따라 설치
4. 터미널을 열어 설치 확인:
버전 번호가 표시되면 설치가 성공한 것입니다.
Install nodejs you need to download from the official site then install and verify the version to ensure success
## 코드 예시 기준
### 코드 블록 베스트 프랙티스
사용자 계정 생성
다음 예시는 API를 사용해 새 사용자를 생성하는 방법을 보여줍니다:
// 필수 라이브러리 임포트
const axios = require('axios');
// API 엔드포인트 설정
const API_BASE_URL = 'https://api.example.com';
const API_KEY = 'your-api-key';
// 사용자 생성 함수
async function createUser(userData) {
try {
const response = await axios.post(`${API_BASE_URL}/users`, userData, {
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
}
});
console.log('사용자 생성됨:', response.data);
return response.data;
} catch (error) {
console.error('사용자 생성 실패:', error.response.data);
throw error;
}
}
// 사용 예시
const newUser = {
name: 'Zhang San',
email: 'zhangsan@example.com',
role: 'user'
};
createUser(newUser);
예상 출력:
{
"id": "12345",
"name": "Zhang San",
"email": "zhangsan@example.com",
"role": "user",
"created_at": "2024-01-15T10:30:00Z"
}
중요 팁:
your-api-key
를 실제 API 키로 교체하세요- 네트워크 연결을 확인하세요
- API 키는 안전하게 보관하고 버전 관리에 커밋하지 마세요
// Create user
axios.post('/users', data)
이 코드는 사용자를 생성합니다.
### 커맨드라인 예시
프로젝트 배포
1. 프로젝트 빌드
# 의존성 설치
npm install
# 테스트 실행
npm test
# 프로덕션 빌드
npm run build
2. 서버에 배포
# 서버 접속
ssh user@server.example.com
# 프로젝트 디렉터리 이동
cd /var/www/myproject
# 최신 코드 가져오기
git pull origin main
# 서비스 재시작
sudo systemctl restart myproject
3. 배포 확인
# 서비스 상태 확인
sudo systemctl status myproject
# 로그 보기
sudo journalctl -u myproject -f
예상 결과:
- 서비스 상태가
active (running)
으로 표시됨 https://yoursite.com
접속 시 최신 버전이 표시됨
## 링크 및 참조 관리
### 내부 링크
자세한 설치 안내는 설치 가이드를 참고하세요.
API 인증은 인증 문서를 참고하세요.
### 외부 링크
우리의 API는 REST 아키텍처 스타일을 기반으로 설계되었으며, HTTP 상태 코드 표준을 따릅니다.
JWT에 대해 더 알아보려면 JWT 공식 문서 및 RFC 7519 사양을 참고하세요.
### 참조 링크
우리는 여러 인증 방법, 중에서 API 키, OAuth 2.0, 및 JWT를 지원합니다.
자세한 설정은 설정 가이드를 참고하고, FAQ는 FAQ 페이지를 참고하세요.
## 이미지 및 미디어 최적화
### 이미지 사용 지침
사용자 인터페이스 개요
다음 이미지는 애플리케이션의 주요 레이아웃을 보여줍니다:
이미지 참고:
- 상단 네비게이션 바에는 주요 진입점이 포함되어 있습니다.
- 좌측 사이드바는 빠른 탐색을 제공합니다.
- 메인 콘텐츠 영역은 현재 페이지를 표시합니다.
- 하단 상태 표시줄은 시스템 정보를 표시합니다.
시스템 아키텍처 다이어그램
그림: 전체 시스템 아키텍처 - 구성 요소 간의 관계 표시
이미지 참고:
### 이미지 조직 및 명명
assets/ ├── images/ │ ├── ui/ │ │ ├── dashboard-overview.png │ │ ├── user-profile-edit.png │ │ └── settings-general.png │ ├── diagrams/ │ │ ├── system-architecture.svg │ │ ├── data-flow-diagram.png │ │ └── user-workflow.png │ └── screenshots/ │ ├── installation-step-1.png │ ├── installation-step-2.png │ └── installation-complete.png
assets/ ├── images/ │ ├── img1.png │ ├── pic2.jpg │ ├── screenshot.png │ └── diagram.svg
## 테이블 설계 원칙
### 데이터 테이블
API 엔드포인트 목록
메서드 | 엔드포인트 | 설명 | 인증 | 매개변수 |
---|---|---|---|---|
GET | /api/users | 사용자 목록 가져오기 | ✅ | page , limit , sort |
POST | /api/users | 새 사용자 생성 | ✅ | name , email , role |
GET | /api/users/{id} | 특정 사용자 가져오기 | ✅ | id (경로 매개변수) |
PUT | /api/users/{id} | 사용자 정보 업데이트 | ✅ | id , name , email |
DELETE | /api/users/{id} | 사용자 삭제 | ✅ | id (경로 매개변수) |
비고:
- ✅ 인증이 필요함
- 모든 엔드포인트는 요청 헤더에 유효한 API 키 포함
- 경로 매개변수는 URL에 직접 지정
- 쿼리 매개변수는
?key=value&key2=value2
형태로 전달
가격 계획 비교
기능 | 무료 | 프로 | 엔터프라이즈 |
---|---|---|---|
사용자 | 최대 5 | 최대 50 | 무제한 |
저장소 | 1GB | 100GB | 1TB |
API 호출 | 1,000/월 | 10,000/월 | 무제한 |
지원 | 커뮤니티 | 이메일 | 24/7 전문 지원 |
가격 | 무료 | ¥99/월 | ¥999/월 |
### 복잡한 데이터 표시
서버 구성 요구사항
서버 사양 | 권장 설정 | ||
---|---|---|---|
작은 배포 (<1K 사용자) | 중간 배포 (1K-10K 사용자) | 대형 배포 (>10K 사용자) | |
CPU | 2 코어 | 4 코어 | 8+ 코어 |
메모리 | 4GB | 8GB | 16GB+ |
저장소 | 50GB SSD | 200GB SSD | 500GB+ SSD |
네트워크 | 100Mbps | 1Gbps | 10Gbps |
버전 제어 및 협업
문서 버전 관리
<!-- ✅ 문서 상단에 버전 정보 추가 -->
---
title: API 사용자 가이드
version: 2.1.0
last_updated: 2024-01-15
author: 기술 문서 팀
---
# API 사용자 가이드
> **버전 참고**: 이 문서는 API v2.1.0 이상에 적용됩니다.
> 이전 버전의 경우 [보관된 문서](./archive/)를 참고하세요.
## 변경 이력
### v2.1.0 (2024-01-15)
- 사용자 그룹 관리 추가
- 인증 흐름 개선
- 알려진 문제 수정
### v2.0.0 (2024-01-01)
- API 아키텍처 재구조화
- 인증 업데이트
- 일괄 작업 추가
Git 커밋 표준
<!-- ✅ 표준 커밋 메시지 형식 -->
docs: Update API authentication docs
- Add OAuth 2.0 example
- Fix code sample errors
- Update related links
closes #123
<!-- ✅ 커밋 유형 설명 -->
유형 접두사:
- docs: 문서 업데이트
- feat: 새 기능 문서
- fix: 문서 오류 수정
- style: 서식 변경
- refactor: 문서 구조 재구조화
- test: 예제 테스트 추가
- chore: 빌드 또는 도구 업데이트
문서 협업 표준
<!-- 기여 가이드 -->
## 기여 가이드
### 제출 프로세스
1. **리포지토리 포크** - 자신의 사본 생성
2. **브랜치 생성** - 변경 사항
```bash
git checkout -b docs/update-api-guide
- 내용 작성 - 문서 표준 따르기
- 로컬에서 테스트 - 문서가 올바르게 렌더링되는지 확인
- 변경 사항 커밋 - 표준 커밋 메시지 사용
- PR 생성 - 변경 사항 자세히 설명
코드 검토 체크리스트
- [ ] 내용 정확성
- [ ] 명확한 언어
- [ ] 서식 표준
- [ ] 유효한 링크
- [ ] 예제 코드 실행
- [ ] 이미지 정확히 표시
## 접근성 및 국제화
### 접근성 디자인
<!-- ✅ 접근성 의식 문서 디자인 -->
### 색상 및 대비
색상을 사용하여 정보를 전달할 때 다른 힌트도 제공합니다:
::: tip 성공
✅ 성공: 작업 완료
:::
::: danger 오류
❌ 오류: 작업 실패
:::
### Alt 텍스트
모든 이미지에 의미 있는 alt 텍스트 제공:

### 키보드 탐색
문서 구조가 키보드 탐색을 지원하는지 확인:
- 논리적 제목 계층 구조 사용
- 목차 링크 제공
- 중요한 링크가 쉽게 찾을 수 있음
### 국제화 고려사항
project/ ├── docs/ │ ├── en/ # 영어 문서 │ │ ├── README.md │ │ └── api/ │ ├── zh/ # 중국어 문서 │ │ ├── README.md │ │ └── api/ │ └── ja/ # 일본어 문서 │ ├── README.md │ └── api/
언어 버전
마지막 업데이트: 2024년 1월 15일 (en-US) 마지막 업데이트: 2024년 1월 15일 (zh-CN) 最終更新日: 2024年1月15日 (ja-JP)
## 성능 최적화
### 문서 로딩 최적화
<!-- ✅ 페이지네이션 디자인 -->
### 긴 문서 분할
긴 문서를 여러 부분으로 나누기:
1. [개요](./overview.md) - 기본 개념 및 소개
2. [빠른 시작](./quickstart.md) - 5분 빠른 시작
3. [튜토리얼](./tutorial.md) - 전체 학습 경로
4. [API 레퍼런스](./api-reference.md) - 완전한 API 문서
5. [예제](./examples.md) - 실제 사용 사례
🔍 고급 구성 옵션 보기
고급 구성
# 상세 구성 예시
server:
host: 0.0.0.0
port: 8080
ssl:
enabled: true
cert_file: /path/to/cert.pem
key_file: /path/to/key.pem
이 옵션들은 생산 환경의 미세 조정에 사용됩니다...
검색 엔진 최적화
<!-- ✅ Doc SEO 최적화 -->
---
title: "API 인증 가이드 - 완전한 신원 솔루션"
description: "OAuth 2.0, JWT, API 키를 사용한 보안 인증 방법을 배워보세요. 코드 예시와 모범 사례를 포함합니다."
keywords: ["API 인증", "OAuth", "JWT", "보안", "신원"]
---
# API 인증 가이드
API 요청을 안전하게 인증하고 권한을 부여하는 방법을 배워보세요...
## 이 장에서
이 가이드는 다음 인증 방법을 다룹니다:
1. [API 키 인증](#api-key-authentication) - 간단하고 빠름
2. [OAuth 2.0](#oauth-20) - 산업 표준 권한 부여
3. [JWT 토큰](#jwt-tokens) - 상태 없는 인증
품질 보증
콘텐츠 검토 체크리스트
<!-- 📋 Doc 품질 체크리스트 -->
## 사전 릴리스 체크리스트
### 콘텐츠 품질
- [ ] 정보가 정확하고 완전함
- [ ] 언어가 명확함
- [ ] 논리적 구조
- [ ] 예제 코드 실행
- [ ] 스크린샷이 최신임
### 기술적 검사
- [ ] 링크 유효성
- [ ] 코드 문법 강조
- [ ] 이미지 정확히 표시
- [ ] 테이블 서식
- [ ] 수학 공식 렌더링
### 사용자 경험
- [ ] 명확한 탐색
- [ ] 검색 작동
- [ ] 모바일 표시 적응
- [ ] 로드 속도 테스트
- [ ] 접근성 확인
### 유지보수
- [ ] 버전 정보 업데이트
- [ ] 변경 이력 기록
- [ ] 관련 문서 동기화
- [ ] 사용되지 않는 기능 표시
- [ ] 마이그레이션 가이드 제공
사용자 피드백 수집
<!-- ✅ 피드백 수집 메커니즘 -->
## 우리를 더 나은 문서로 만들어주세요
### 문서 피드백
오류나 제안이 있으시면:
1. **빠른 피드백**: [이슈 제출](https://github.com/example/docs/issues/new?template=doc-feedback.md)
2. **자세한 토론**: [토론 참여](https://github.com/example/docs/discussions)
3. **직접 수정**: [이 페이지 수정](https://github.com/example/docs/edit/main/docs/api/authentication.md)
### 이 페이지 평가
이 페이지가 도움이 되셨나요?
👍 예 | 👎 개선이 필요함 | �� 제안
### 연락처
- 📧 문서 팀: docs@example.com
- 💬 기술 지원: support@example.com
- 🐦 소셜: [@ExampleDocs](https://twitter.com/ExampleDocs)
관련 문법
도구 및 리소스
Doc 품질 도구
- textlint: 텍스트 교정 및 스타일 검사
- markdownlint: Markdown 문법 검사
- alex: 포함성 언어 검사
- Hemingway Editor: 가독성 분석
협업 플랫폼
- GitBook: 팀 문서 협업
- Notion: 다목적 문서 및 지식 관리
- Confluence: 기업용 문서 협업
- Slab: 현대적 팀 문서
분석 도구
- Google Analytics: 문서 트래픽 분석
- Hotjar: 사용자 행동 분석
- Mixpanel: 사용자 상호 작용 추적
- FullStory: 전체 사용자 세션 녹화
자동화 도구
- GitHub Actions: 문서 빌드 및 배포
- Zapier: 워크플로우 자동화
- IFTTT: 간단한 자동화 규칙
- n8n: 오픈 소스 워크플로우 자동화
이러한 베스트 프랙티스를 따르면 고품질, 사용자 친화적인 기술 문서를 작성하고 프로젝트의 성공을 위한 확고한 기초를 마련할 수 있습니다.