# 📚 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주 이상 꾸준히 사용하여 습관화