# 📚 1/4/7/14 복습 시스템 구축 작업명세서
## 🎯 시스템 개요
**목적**: 에빙하우스 망각곡선을 기반으로 한 과학적 복습 시스템 구축
**방법**: 1일/4일/7일/14일 간격의 체계적 복습 관리
**도구**: Obsidian + Dataview 플러그인
---
## 📂 1단계: 폴더 구조 생성
### 필수 폴더 구조
```
📁 [과목명] (예: Python Programming)
├── 📁 Chapter/ # 학습 파일들
├── 📁 MoC/ # Map of Contents (선택)
└── 📄 대시보드_[과목명].md # 메인 대시보드
```
### AI 작업 요청 예시
```
다음 경로에 폴더를 생성해주세요:
- 메인 폴더: /path/to/obsidian/vault/02 코어 프로젝트/[과목명]
- 하위 폴더: Chapter, MoC
```
---
## 📝 2단계: Frontmatter 표준 설계
### 필수 필드 정의
```yaml
---
subject: "[과목명]" # 과목 이름
chapter: [숫자] # 단원/챕터 번호
title: "[단원 제목]" # 구체적인 학습 내용
first_study: YYYY-MM-DD # 최초 학습일
review_1day: YYYY-MM-DD # 1일 복습일 (null로 시작)
review_4day: YYYY-MM-DD # 4일 복습일 (null로 시작)
review_7day: YYYY-MM-DD # 7일 복습일 (null로 시작)
review_14day: YYYY-MM-DD # 14일 복습일 (null로 시작)
status: "not_started" # 진행 상태
tags: [study, AI, LLM] # 태그 (선택)
---
```
### 상태값 표준
- `not_started`: 미시작
- `first_study_done`: 최초 학습 완료
- `review_1day_done`: 1일 복습 완료
- `review_4day_done`: 4일 복습 완료
- `review_7day_done`: 7일 복습 완료
- `completed`: 14일 복습까지 완료
---
## 📄 3단계: 챕터 파일 생성
### AI 작업 요청 템플릿
```
다음 조건으로 [과목명] 학습 파일들을 생성해주세요:
**기본 정보:**
- 과목명: "[과목명]"
- 총 단원 수: [X]개
- 학습 시작일: YYYY-MM-DD
- 파일 저장 경로: /path/to/obsidian/vault/02 코어 프로젝트/[과목명]/Chapter/
**파일명 형식:**
- [XX]일차_[단원번호].[세부번호]_[주제명].md
- 예: 01일차_1장_Python 기초.md
**단원 목록:**
1. [단원 1 제목]
2. [단원 2 제목]
3. [단원 3 제목]
... (전체 목록 제공)
**요구사항:**
1. 각 파일의 frontmatter에 위 표준 양식 적용
2. first_study 날짜를 연속된 날짜로 설정 (시작일부터 +1일씩)
3. review_1day, review_4day, review_7day, review_14day는 first_study 기준으로 자동 계산
4. 모든 파일의 초기 status는 "not_started"로 설정
5. chapter 번호는 1부터 순차적으로 부여
**날짜 계산 공식:**
- review_1day = first_study + 1일
- review_4day = first_study + 4일
- review_7day = first_study + 7일
- review_14day = first_study + 14일
```
### 파일 내용 구조 (선택)
```markdown
# [단원 제목]
## 학습 목표
- 목표 1
- 목표 2
## 핵심 내용
- 내용 1
- 내용 2
## 실습/예제
- 예제 1
- 예제 2
## 복습 체크리스트
### 1일 복습
- [ ] 핵심 개념 재확인
- [ ] 주요 용어 암기 확인
### 4일 복습
- [ ] 응용 문제 풀이
- [ ] 다른 단원과의 연관성 파악
### 7일 복습
- [ ] 심화 문제 도전
- [ ] 실무 적용 사례 학습
### 14일 복습
- [ ] 종합 문제 풀이
- [ ] 전체 단원과의 통합 이해
```
---
## 📊 4단계: 대시보드 생성
### AI 작업 요청 템플릿
```
다음 조건으로 [과목명] 학습 대시보드를 생성해주세요:
**기본 정보:**
- 파일명: 대시보드_[과목명].md
- 저장 경로: /path/to/obsidian/vault/02 코어 프로젝트/[과목명]/
- 현재 날짜: YYYY-MM-DD (오늘 날짜)
- 과목명: "[과목명]"
- Chapter 폴더 경로: "02 코어 프로젝트/[과목명]/Chapter"
**필수 구성 요소:**
1. 🎯 오늘 복습할 단원들 (체크박스 포함)
2. 🆕 오늘 신규 학습할 단원
3. 📋 세부 복습 현황 (1/4/7/14일별 구분)
4. 📈 전체 진도표
5. 📅 날짜별 학습 계획표 (시작일부터 마지막 14일 복습일까지)
6. 📊 일일 학습량 요약
7. 📚 각 단원 바로가기 (장별 구분)
8. ✅ 복습 완료 후 해야 할 일 (상태 업데이트 가이드)
9. 📊 학습 통계
10. 🎯 사용 팁
**Dataview 쿼리 주의사항:**
- 모든 FROM 절에 정확한 Chapter 폴더 경로 사용
- choice() 함수 사용 금지 (에러 발생)
- pages() 함수 사용 금지 (에러 발생)
- 복잡한 UNION 쿼리 사용 금지
**링크 형식:**
- Chapter 폴더 파일 링크: [[Chapter/파일명|별칭]]
- 별칭은 "X일차" 형태로 간단하게 표시
```
### 대시보드 핵심 Dataview 쿼리 템플릿
```dataview
# 오늘 복습 대상
FROM "02 코어 프로젝트/[과목명]/Chapter"
WHERE subject = "[과목명]"
AND first_study
AND (
(!review_1day AND (date("현재날짜") - date(first_study)).days = 1) OR
(!review_4day AND review_1day AND (date("현재날짜") - date(first_study)).days = 4) OR
(!review_7day AND review_4day AND (date("현재날짜") - date(first_study)).days = 7) OR
(!review_14day AND review_7day AND (date("현재날짜") - date(first_study)).days = 14)
)
```
---
## 📅 5단계: 날짜별 학습 계획표 생성
### AI 작업 요청
```
날짜별 학습 계획표를 다음 조건으로 생성해주세요:
**기간 계산:**
- 시작일: [첫 번째 단원의 first_study 날짜]
- 종료일: [마지막 단원의 review_14day 날짜]
- 전체 기간: 시작일부터 종료일까지 모든 날짜
**표 형식:**
| 날짜 | 신규 학습 | 1일 복습 | 4일 복습 | 7일 복습 | 14일 복습 |
|------|-----------|----------|----------|----------|-----------|
**링크 형식:**
- [[Chapter/파일명|X일차]] 형태
- 해당 날짜에 학습/복습이 없는 경우 "-" 표시
**월별 구분:**
- 7월, 8월 등 월별로 테이블 분리
- 각 월의 1일부터 말일까지 표시
```
---
## 🔄 6단계: 시스템 사용법
### 학습 진행 시 작업 순서
1. **신규 학습 완료 시**
```yaml
first_study: 2025-07-10
status: "first_study_done"
```
2. **복습 완료 시**
```yaml
review_1day: 2025-07-11
status: "review_1day_done"
```
3. **최종 완료 시**
```yaml
review_14day: 2025-07-24
status: "completed"
```
### 일일 사용 워크플로우
1. 대시보드 열기
2. "오늘 복습할 단원들" 확인
3. 체크박스 클릭하며 학습 진행
4. 완료 후 각 파일의 frontmatter 업데이트
5. 대시보드에서 진행 상황 재확인
---
## 🛠️ 7단계: 시스템 확장
### 다른 과목 추가 시
1. 새로운 과목 폴더 생성
2. 해당 과목의 frontmatter 설계
3. 챕터 파일들 생성 (위 템플릿 활용)
4. 과목별 대시보드 생성
5. 필요시 통합 대시보드 생성
### 커스터마이징 옵션
- **복습 간격 조정**: 1/4/7/14 대신 1/3/7/21 등으로 변경 가능
- **과목별 특성**: 실습 위주, 이론 위주 등에 따른 템플릿 조정
- **난이도 시스템**: difficulty 필드 추가로 난이도별 관리
- **태그 시스템**: 세부 분류를 위한 계층적 태그 활용
---
## ⚠️ 주의사항
### Dataview 에러 방지
1. **사용 금지 함수**
- `choice()`: 복잡한 조건문에서 에러 발생
- `pages()`: 인식되지 않는 함수
- 복잡한 `UNION` 구문
2. **권장 대안**
- 단순한 문자열 연결 사용
- 정적 테이블과 간단한 쿼리 조합
- 상태별로 쿼리 분리
### 파일 관리
1. **경로 일관성**: 모든 링크와 쿼리에서 동일한 경로 사용
2. **파일명 규칙**: 일관된 명명 규칙 유지
3. **백업**: 정기적인 볼트 백업 실시
---
## 📋 체크리스트
### 시스템 구축 완료 확인
- [ ] 폴더 구조 생성 완료
- [ ] Frontmatter 표준 정의 완료
- [ ] 모든 챕터 파일 생성 완료
- [ ] 날짜 계산이 정확한지 확인
- [ ] 대시보드 생성 및 테스트 완료
- [ ] 모든 Dataview 쿼리 정상 작동 확인
- [ ] 링크 연결 상태 확인
- [ ] 날짜별 학습 계획표 검증
- [ ] 사용법 문서 작성 완료
### 시스템 운영 점검
- [ ] 일일 대시보드 확인 루틴 수립
- [ ] Frontmatter 업데이트 방법 숙지
- [ ] 복습 완료 체크리스트 활용
- [ ] 진행 상황 정기 검토 일정 설정
---
## 💡 성공 팁
1. **일관성**: 매일 같은 시간에 대시보드 확인
2. **정직성**: 복습 완료 상태를 정확히 기록
3. **유연성**: 개인 일정에 맞춰 날짜 조정 가능
4. **확장성**: 필요에 따라 필드나 기능 추가
5. **지속성**: 최소 3주 이상 꾸준히 사용하여 습관화