Community라이팅 & 에디팅github.com

leonaluo88/painless-learning-web

사용자가 제공한 강의 자료 폴더, 교재, 강의 필기록 또는 샘플 시험지를 바탕으로, 혹은 학습하고 싶은 주제나 개념만 말해도, 학습 웹페이지, 복습 문제 웹페이지를 만들거나 업데이트하거나 학습 경로를 계획할 때 사용합니다. 한 과목이나 주제를 하나의 웹페이지로 만듭니다.

painless-learning-web란 무엇인가요?

이 스킬은 학습 자료를 기반으로 한 과목당 하나의 웹페이지를 생성하여, 사용자가 순서대로 학습하며 개념을 올바르게 이해하고 문제 풀이를 통해 숙달 여부를 스스로 확인할 수 있도록 돕는 지능형 교육 도우미입니다. Claude Code, Cursor, Codex 등의 다양한 AI 에이전트에서 사용할 수 있도록 설계되었으며, PDF, PPT, 강의 필기록, 이미지 등 여러 형식의 파일을 읽고 분석하여 지식 포인트를 추출하고, 이들 간의 의존성(전제 조건)을 포함한 방향성 비순환 그래프(DAG) 형태의 토폴로지를 자동으로 구축합니다. 이 구조를 바탕으로 학습 지도, 강의, 연습 문제, 모의고사, 기출문제 등으로 구성된 완전한 학습 웹페이지를 단일 HTML 파일로 생성합니다. 특히 시험 준비 모드에서는 기출문제를 분석하여 시험 범위를 역추론하고, 핵심 개념에 집중한 맞춤형 학습 경로를 제공하며, 오답 노트, 체크리스트, 진행률 코드 등 다양한 기능을 지원합니다. 또한 주 단위 증분 업데이트, 학습자 수준별 맞춤(경량 입문, 자율 학습, 시험 준비 등), 사용자 확인 단계 최소화(입문자나 시간이 부족한 경우) 등의 기능을 통해 유연하고 효율적인 학습 경험을 제공합니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/leonaluo88/painless-learning/tree/HEAD/workbuddy/painless-learning-web

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

무통증 학습 웹페이지 (Painless Learning Web)

학습 자료를 한 과목당 하나의 웹페이지로 만들어, 사용자가 순서대로 학습하면 이해하고 올바르게 배울 수 있으며, 문제를 통해 실제로 숙달했는지 검증할 수 있도록 합니다. 하나의 과목은 장기 프로젝트입니다: 매주 새로운 자료를 추가할 수 있고, 시험 준비 기간에는 같은 웹페이지에서 시험 관련 부분을 열어 공부할 수 있습니다. 사용자가 자료를 가지고 있지 않을 때는 먼저 학습 경로를 계획하고 신뢰할 수 있는 자료를 찾은 후 웹페이지를 만듭니다.


0. 환경 설정 (다양한 AI 에이전트에 맞게 조정)

이 스킬은 원래 Claude를 위해 작성되었습니다. 아래에서는 Codex, WorkBuddy 등 다른 에이전트에서 어떻게 적용하는지 설명합니다. 본문의 규칙은 모두 따르되, 환경 능력이 다른 부분은 여기서 처리합니다.

  • 파일 읽기: 사용 가능한 파일 도구나 스크립트를 사용하여 사용자가 제공한 폴더(PDF, PPT, DOCX, 이미지)를 읽습니다. OCR을 수행할 수 없으면 어떤 페이지를 읽지 못했는지 사용자에게 알려줍니다.
  • 인터넷 연결: 검색 도구가 있으면 처음부터 계획을 세우거나 사실을 확인할 때 사용합니다. 없으면 그 사실을 밝히고 사용자에게 자료를 제공해 달라고 요청합니다.
  • 질문하기: 사용자에게 물어봐야 할 때는 한 번에 모든 질문을 합니다. 선택형 질문 도구가 있으면 사용합니다.
  • 웹페이지 저장 위치: 기본값은 강의 폴더 안의 _학습웹페이지/입니다. (강의 폴더가 없으면 현재 작업 디렉토리에 <강의명>_학습웹페이지/를 만듭니다): index.html은 전체 웹페이지(단일 파일, 데이터 내장, 브라우저에서 직접 열림)입니다. data/course.json은 데이터 원본입니다. img/는 출처 스크린샷을 저장합니다. 호스팅된 웹페이지를 게시할 수 있으면 별도로 게시할 수 있지만, 로컬 폴더는 항상 원본입니다.
  • 웹페이지에서 AI 호출 금지: 본문에서 "웹페이지에서 Claude가 정리 / 샘플, db, assets 기능 사용"과 같은 부분은 localStorage에 저장하고, "모두 복사(AI용)" 버튼을 제공하여 사용자가 내용을 보내 정리하도록 합니다.
  • 검증: Python을 실행할 수 있으면 python3 scripts/validate_course.py <경로>/data/course.json을 실행하여 오류가 없을 때까지 수정합니다. 브라우저나 헤드리스 브라우저를 사용할 수 있으면 index.html을 열어 렌더링과 상호작용을 확인합니다. 수행할 수 없는 검사는 사용자에게 알려줍니다.

1. 먼저 사양 결정

먼저 사용자의 말과 자료를 보고 어떤 유형에 속하는지 판단합니다. 판단할 수 없으면 한 번의 질문(최대 3개)으로 명확히 합니다. 사용자가 자리하지 않을 때는 가장 합리적인 유형을 선택하고, 전달 시 어떤 유형을 선택했는지와 그 이유를 설명합니다.

유형일반적인 상황목표중점 사항
자율 학습·이해교재, 온라인 강의 필기록, 문서만 있음; 시험을 위한 것이 아님이해하고 올바르게 학습정확하게 설명하고 가르침; 이해 확인 문제 사용; 시험 경향 분석 없음, 시간 측정 없음
경량 입문특정 개념이나 작은 주제를 빨리 이해하고 싶음; 총 학습 시간이 3시간 미만으로 예상됨빠르고 올바른 이해 구축경로 제시 없음, 확인 기다리지 않음; 스스로 경로를 정한 후 직접 웹페이지 생성 ("4의 셋" 참조)
자율 학습·처음부터 계획배우고 싶은 분야는 알지만 자료는 없음기초부터 차근차근 배움먼저 조사하고, 경로 계획, 권위 있는 강의와 교재 찾기; 사용자가 경로를 확인한 후 웹페이지 생성; 설명은 단계적이고 이해를 돕도록 ("4의 둘" 참조)
강의 수강학기 중 매주 또는 격주로 강의 자료와 강의 필기록 제공강의를 따라가며 매주 내용 이해증분 업데이트; 주 단위로 진행; 강의 범위에 엄격하게 맞춤
시험 준비·단기 집중시험이 가까움, 시간이 적음단시간에 고득점 확보시험 경향 보정; 핵심과 중요한 것만 학습; 실제 기출문제로 직접 검증
시험 준비·철저고득점 목표, 시간이 충분함진정한 숙달시험 경향 보정; 닫힌 범위 내 모든 지식 포인트를 철저히 설명; 먼저 모의 문제 풀기, 기출문제는 마지막에 봉인

알아야 할 상황 (자료에서 추론할 수 있으면 묻지 않음):

  • 학습 목적: 이해, 수강 따라가기, 또는 시험 준비
  • 가지고 있는 자료
  • 현재 기초
  • 마감일 또는 시험 날짜
  • 하루에 공부 가능한 시간
  • 시험 형식: 어떤 언어로 답안 작성, 필기 허용 여부, 계산기 제한

같은 과목이 처음에는 "강의 수강"이었다가 학기말에 "시험 준비"가 추가될 수 있습니다. 이때 새 웹페이지를 만들지 않고 기존 웹페이지에서 시험 준비 부분을 엽니다 (3절 참조).


2. 강의 데이터 파일

각 강의마다 course.json을 유지 관리하며, 웹페이지는 이 파일을 기반으로 생성됩니다. 업데이트 시 이 파일을 수정한 후 웹페이지를 다시 생성합니다.

다음 두 곳에 저장하여 다음 대화에서 이어서 작업할 수 있도록 합니다:

  1. 웹페이지 폴더 안의 data/course.json
  2. 사용자의 강의 폴더 _학습웹페이지/course.json (쓰기 가능한 경우)

업데이트 전에 이 파일을 먼저 읽습니다. 두 곳 모두에서 찾을 수 없으면 게시된 웹페이지에서 복원하고 사용자에게 알립니다.

{
  "course": {"code":"…", "name":"…", "profile":"self|self-plan|course|exam-sprint|exam-deep",
             "exam": {"date":"…", "format":"…", "answer_lang":"en|ko", "allowed":"…"}},
  "sources": [{"id":"W03L1", "file":"…", "url":"…", "type":"lecture|transcript|textbook|tutorial|lab|assignment|sample_exam|past_exam|exam_info|web", "week":3, "added":"…"}],
  "modules": [{"id":"M-sql-basic", "name":"…", "order":5}],
  "points": [{
    "id":"sql-left-join",        // 변경되지 않는 안정적인 ID
    "no":57,                      // 표시 번호, 생성할 때마다 재정렬
    "title":"한 줄 요약",
    "module":"M-sql-basic",
    "week":5,
    "tier":3,                     // 3 핵심 / 2 중요 / 1 부차적 / 0 시험범위 밖 (자율 학습 유형은 등급 없어도 됨)
    "depth":"apply",              // recall 인식 / explain 설명 가능 / apply 사용 가능 / transfer 전이 가능
    "pre":[{"id":"sql-inner-join","kind":"hard"}, {"id":"null","kind":"soft","why":"IS NULL"}],
    "src":[{"source":"W05L1","page":24}, {"source":"W05L1-transcript","time":"32:10"}],
    "exam_refs":["샘플시험2 Q2A"],
    "mastery":"어떤 문제를 풀 수 있어야 숙달했는지 판단 (한 줄, 반드시 문제로 검증 가능해야 함)",
    "status":"active|merged|deprecated",
    "changed":"날짜: 변경 사항",
    "note":"시험범위 밖 / 보충 / 교수님이 말씀하신…"
  }],
  "storyline": [{"from":"M-tree", "to":"M-rf", "why":"한 줄: 이전 모듈이 남긴 문제, 이후 모듈이 어떻게 연결되는지"}],
  "lessons": [{"id":"L-w05", "track":"learn|review", "title":"…", "points":[…], "steps":[…],
               "storyline":[{"role":"문제|생각|방법|결과|새로운문제", "text":"한두 문장", "formula":"선택, 가장 간단한 형태", "steps":[3,4]}]}],
  "questions": [ … 8절 참조 … ],
  "changelog": [{"date":"…", "summary":"…", "added":[…], "changed":[…], "conflicts":[…]}],
  "course_notes": [{"date":"…", "note":"이 강의에만 적용되는 선호도나 수정 사항 (예: 표기법, 특정 모듈을 더 깊게 설명해야 함). 이후 이 강의 업데이트 시 항상 준수"}]
}

규칙:

  • ID는 안정적: 진행률, 체크, 오답 노트 모두 ID로 저장되므로 업데이트 후에도 사용자의 진행 상황이 손실되지 않습니다.
  • 지식 포인트를 삭제하지 않습니다. 더 이상 필요하지 않으면 deprecated로 표시하고, 병합되면 merged로 표시하여 새 ID를 가리킵니다.
  • pre는 직접적인 선수 지식만 작성합니다. hard는 반드시 먼저 학습해야 함을 의미하고, soft는 개념 중 하나만 사용되며 어떤 개념인지 명시해야 함을 의미합니다.

3. 웹페이지 구조: 한 과목 한 웹페이지

전체 과목은 하나의 웹페이지입니다 (_학습웹페이지/index.html, "0. 환경 설정" 참조). 상단 탭으로 섹션을 전환하고 URL 해시로 위치를 지정합니다 (예: #map, #lesson/L-w05/3, #q/q-id). 섹션 간 이동이 용이합니다.

섹션 및 각 유형에 표시할 내용

| 섹션 | 내용 | 자율 학습 (처음부터 계획 포함) | 강의 수강 | 시험 준비 | |---|---|---|---| | 지도 | 모듈 토폴로지 다이어그램, 모든 지식 포인트 (체크박스, 선수 지식, 출처), 진행률, "이번 업데이트" 패널 | ✓ (처음부터 계획 시 학습 경로, 추천 자료 포함) | ✓ | ✓, "시험 관점" 추가 | | 강의 | 단계별 설명, 각 단계마다 자가 테스트 | ✓ (장 또는 단계별) | ✓ (주별) | ✓, "복습 라인" 추가 | | 연습 | 지식 포인트별 자체 제작 문제 (시험 준비 시 모의 문제도 여기에 배치, 태그로 구분); "미숙달" 필터는 오답 노트로 사용 | ✓ | ✓ | ✓ | | 시험 정보 | 시험 사실, 자료 우선 순위, 문제별 표, 모듈 비중, 시험범위 밖 목록, 교수님 말씀 | — | — | ✓ | | 모의 문제 | 연습 페이지에 통합, "모의" 태그로 필터, 별도 섹션 없음 | — | — | 철저 버전 | | 기출문제 | 샘플 시험지 및 기출 문제지 (문제 풀이手册) | — | — | ✓ (철저 버전은 먼저 봉인) | | Cheat Sheet 임시 저장 | 학습 중 외우고 싶지 않은 내용을 임시 저장, 이후 AI가 맥락을 고려하여 정리하고 마지막에 노트纸 생성 (6절 5번 참조) | — | — | ✓ (시험에서 필기 허용 시) |

토폴로지 다이어그램은 반드시 생성

  • 각 웹페이지의 지도 섹션에는 지식 포인트 토폴로지 다이어그램이 있어야 합니다. 사양, 시간 제한, 확인 건너뛰기 여부와 관계없이 반드시 생성해야 합니다. 선수 지식도 그려야 합니다 (예: "API가 무엇인지" 배울 때 클라이언트, 서버, HTTP 요청 등의 선수 지식을 그려야 함).
  • 토폴로지 다이어그램을 그리지 않아도 되는 두 가지 경우: 배울 내용이 매우 좁은 경우 (1-3개의 지식 포인트) 또는 지식 포인트 간에 실제로 선후 관계가 없는 경우. 이 경우 지도 위치에 토폴로지 다이어그램이 없는 이유를 한 문장으로 작성합니다.
  • 시간이 부족할 때는 강의 단계와 문제 수를 줄일 수 있지만, 토폴로지 다이어그램은 삭제할 수 없습니다.

탐색 레이아웃 (강의 및 문제 풀이 우선)

  • 강의와 문제 풀이가 주체이며, 지도, 시험 정보, 학습 경로는 개요일 뿐 상단 공간의 대부분을 차지해서는 안 됩니다.
  • 상단은 한 줄로 고정된 바: 강의 코드 + 주요 섹션 탭 + 카운트다운 / 진행률 / 용어 / 진행률 코드 작은 버튼. 주요 섹션은 강의(기본 열림), 문제 풀이(하위 페이지: 연습, 기출문제), 개요(하위 페이지: 지도, 시험 정보, 학습 경로), Cheat Sheet(임시 저장 기능이 있을 때)입니다.
  • 두 번째 줄은 현재 주요 섹션의 하위 페이지 탭과 한 줄 Cheat Sheet 입력 상자(포커스 시 확장)입니다.
  • 시험 정보 섹션은 모든 시험 준비 웹페이지에 유지되며 내용이 완료되면 더 이상 변경되지 않습니다. 학습 경로는 진행 상황에 따라 변경되며 사용자가 반드시 참조하지는 않으므로 개요에 배치합니다.

사용자 접근성을 높이기

웹페이지를 받은 사람이 먼저 사용법을 배울 필요가 없어야 합니다.

  • 각 섹션을 처음 열 때 상단에 연한 색상의 설명 (끌 수 있음)이 한 문장으로 이 페이지 사용법을 설명합니다. 예: "확실하지 않은 문제는 '숙달됨'을 체크하지 마세요. '미숙달' 필터가 오답 노트입니다."
  • 사이트 전체에 한 가지 유형의 문제 카드만 사용: 문제 → 옵션 또는 입력 상자 → 힌트 / 정답 보기 → 오른쪽 상단 "숙달됨" 체크박스. 강의 자가 테스트, 연습, 기출문제 모두 이 카드를 사용하여 한 번 배우면 모든 곳에서 사용할 수 있습니다.
  • 버튼은 동사를 사용한 텍스트로 작성합니다 ("정답 보기", "다음 단계"). 아이콘만 있는 버튼은 사용하지 않습니다. 한 페이지의 필터와 스위치는 최소한으로 유지하고, 자주 사용하지 않는 기능은 만들지 않습니다.
  • 같은 작업에 대해 하나의 진입점과 하나의 상태만 제공합니다. "수정 완료", "실행 취소", "숙달됨"과 같이 의미가 비슷한 상태를 공존시키지 않습니다.

모든 저장 가능한 작업은 실행 취소 가능

새 웹페이지를 받은 사람은 먼저 이것저것 클릭해 보려고 합니다. 따라서 저장되는 모든 작업은 작업 전 상태로 복원할 수 있어야 하며, 시험 삼아 해본 흔적이 남지 않아야 합니다.

  • 스위치 유형 ("숙달됨", 지식 포인트 체크, 단계 "완료"): 다시 클릭하면 취소됩니다. 체크만 되고 취소는 안 되는 방식으로 만들지 마십시오.
  • 답변 기록: 각 문제에 "다시 풀기" 버튼이 있어 해당 문제의 답변과 피드백을 지우고 풀지 않은 상태로 되돌립니다.
  • 초기화, 제거, 가져오기와 같이 데이터가 손실되는 작업: 작업 완료 후 하단에 알림 표시줄 "초기화됨 · 실행 취소"가 나타나며, 약 8초 이내에 "실행 취소"를 클릭하면 완전히 복원됩니다. 브라우저의 confirm()은 사용하지 않습니다.
    • 타이머 초기화, Cheat Sheet 항목 제거, 진행률 코드 가져오기는 모두 이 알림 표시줄을 사용합니다.
    • Cheat Sheet의 제거는 소프트 삭제를 사용합니다: 페이지 하단의 "최근 제거됨"으로 이동시켜 알림 표시줄 시간이 지나도 거기에서 복원할 수 있습니다.
    • 진행률 코드를 가져오기 전에 현재 진행 상황을 자동으로 백업합니다.
  • 원클릭 초기화: 진행률 코드 팝업에 "내 모든 기록 지우기"를 넣어 시험 삼아 사용한 후 처음부터 다시 시작할 수 있도록 합니다. 클릭하기 전에 자동으로 백업하고, 지운 후 같은 팝업에 "방금 전 기록 복원" 버튼을 유지합니다.
  • 구현 방식: 데이터 손실이 발생할 수 있는 각 쓰기 전에 영향을 받는 상태 부분의 스냅샷을 저장합니다. 실행 취소는 스냅샷을 다시 쓰는 것입니다. 원클릭 초기화의 백업은 별도의 localStorage 키에 저장되며, 다음 초기화 시에만 덮어씁니다.

학습 모드와 시험 모드가 공존할 때 배치 방법

  • 지도는 하나만 있으며, "학습 관점 / 시험 관점" 전환을 제공합니다:

    • 학습 관점: 주 또는 장별로 정렬, 모든 지식 포인트 표시
    • 시험 관점: 시험 비중별로 정렬, 시험 범위 밖의 지식 포인트는 회색 처리, 시험 출처 태그와 학습 경로 표시

    두 관점은 동일한 체크 진행 상황을 공유합니다.

  • 강의는 두 가지 라인으로 나뉩니다:

    • 학습 라인: 학기 중 매주 진행되는 강의로 계속 유지됩니다.
    • 복습 라인: 시험 준비 시 추가되는 강의로 학습 경로에 따라 정렬됩니다. 복습 라인은 이미 배운 내용을 반복하지 않습니다: 이미 배운 지식 포인트는 압축된 복습 카드만 제공하고 원래 강의의 설명에 연결하며, 시험 관점(문제 출제 방식, 답변 깊이, 일반적인 실수 포인트)을 추가합니다. 시험에 필요하고 학습 라인에서 충분히 설명되지 않은 부분만 자세히 설명합니다.
  • 연습 문제 은행은 하나만 있습니다: 평소 자가 테스트와 시험 준비 모의 문제가 모두 포함되며 태그로 필터링됩니다. 오답 노트는 모드 간 공유됩니다.

  • 시험 정보, 기출문제 섹션은 시험 준비 모드에서만 나타납니다. 기출문제 매뉴얼은 시험 준비에 속하므로 학습 모드에 포함되지 않습니다.

웹페이지의 일반 기능

  • 상단: 강의명, 유형, 전체 진행률, 시험 카운트다운 (시험 준비 시)
  • 타이머: 각 단계 카드의 오른쪽 상단 (눈에 띄는 위치, 측면에 숨기지 않음). "현재 단계 소요 시간 mm:ss · 강의 누적" 표시, 매초 갱신. "일시 정지 / 계속" 및 "초기화" 버튼 (초기화는 현재 단계만 초기화, 초기화 후 "실행 취소" 알림 표시줄 표시). 일시 정지 상태는 단계 간 유지. 다른 탭으로 전환 시 자동 일시 정지. 소요 시간은 현재 단계 또는 문제에 기록됩니다.
  • 메인 라인 팝업: 언제든지 현재 강의의 논리적 메인 라인을 열 수 있으며 "여기 있습니다"를 강조 표시합니다 (7절 "논리적 메인 라인" 참조).
  • 용어 대조 팝업 (한-영 대조, 각각 한 문장 설명 포함). 수학, 통계 관련 강의에는 기호 번역기를 추가합니다.
  • 강의 자료 링크: 강의 폴더의 원본 PDF에 대한 상대 경로를 사용하며 #page=N을 포함합니다 (브라우저 내장 PDF 뷰어가 해당 페이지로 이동). 필기록에는 시간 지점을 표시합니다. 온라인 자료에는 원본 링크를 제공합니다.
  • 진행률 코드: 텍스트 조각을 내보내 AI에 보내면 AI가 어디가 약한지 알 수 있습니다. 가져오기는 체크만 추가하고 삭제하지 않습니다. 가져오기 전에 자동 백업되며 실행 취소할 수 있습니다.
  • 모든 상태는 "강의 코드 + 안정적인 ID"로 localStorage에 저장되며, 읽기/쓰기 시 항상 try/catch로 감쌉니다.
  • 통일된 색상 구성, 다크 모드 포함, 같은 강의 내에서 일관성 유지.
  • 모바일 대응: 사이드바는 상단에 쌓고, 테이블은 가로 스크롤 가능, 안전 영역에 맞춤.
  • 수식은 MathJax의 SVG 출력(tex-svg) 사용. 표기법 및 조판 규칙은 7절 "조판 및 표기법" 참조.
  • 토폴로지 다이어그램: 지식 포인트가 많을 경우 Graphviz로 미리 레이아웃을 계산하고 페이지에 클릭 및 확대/축소 가능한 SVG를 그립니다. 지식 포인트를 클릭하면 모든 선수 및 후속 지식 포인트가 강조 표시됩니다. "시험 문제별 보기"를 통해 특정 문제를 푸는 데 필요한 모든 지식 포인트를 강조할 수 있습니다. 모듈 수준의 작은 다이어그램은 Mermaid를 사용할 수 있습니다.
  • 출처 스크린샷: 지식 포인트가 참조하는 강의 자료 페이지만 내보냅니다 (pdftoppm 등의 명령줄 도구를 사용하여 PDF에서 직접 PNG로 내보내며, 모든 페이지를 보지 않으므로 토큰 소비가 거의 없음). 웹페이지 폴더의 img/에 저장하고, 출처를 클릭하면 그림을 볼 수 있는 팝업이 표시됩니다 (PPT 파일은 브라우저에서 특정 페이지를 열 수 없으므로 스크린샷 사용).
  • 웹페이지의 데이터는 index.html에 직접 포함되며, data/course.json은 원본으로 별도 저장됩니다.

4. 새로 만들기 (자료가 있을 때)

1. 자료 읽기

  • 사용 가능한 파일 도구를 사용하여 사용자가 제공한 폴더 또는 업로드된 파일을 읽습니다. 각 파일을 완전히 읽습니다: 스캔된 페이지와 손글씨 페이지는 OCR을 수행하고, 이미지는 페이지별로 확인합니다.
  • 강의 필기록과 온라인 강의 텍스트 기록도 동일하게 중요합니다: 구두로 설명된 예제, 강조된 중요 포인트 ("이건 시험에 나와요", "여기서 많은 사람들이 틀려요"), 강의 자료에 없는 설명을 모두 추출하고 시간 지점을 표시합니다.
  • 먼저 사용자에게 파일 목록을 반환하고 읽을 수 없는 파일을 표시합니다.

2. 범위 및 정확성

  • 강의 수강 및 시험 준비: 범위는 강의 자료와 강의 녹화를 기준으로 하며, 교과 외 내용을 추가하지 않습니다. 반드시 보충해야 하는 배경 지식은 "보충"으로 표시합니다. 표기법은 강의 자료와 일관성을 유지합니다.
  • 자율 학습·이해: 범위는 사용자의 학습 목표를 기준으로 하며, 자료는 출발점일 뿐입니다. 자료가 명확하지 않거나 오류가 있는 경우 권위 있는 설명을 보충할 수 있지만 표시해야 합니다. 온라인 강의 텍스트 기록에는 종종 인식 오류나 구두 실수가 있으므로 맥락에 따라 수정하고 신뢰할 수 있는 출처와 대조하여 핵심 사실과 공식을 확인해야 합니다. 불확실한 부분은 명시해야 합니다.

3. 지식 포인트 분해

  • 세분화 정도를 미세하게 유지: 각 항목은 한 가지(정의, 속성, 방법, 문제 유형 또는 함정)만 설명합니다. 한 항목에 두 가지로 분리하여 검증할 수 있는 것이 있으면 계속 분해합니다.
  • 학습 유형의 깊이는 먼저 자료의 설명 수준을 따릅니다: 자료가 유도를 하면 explain까지, 자료가 예제 문제를 풀면 apply까지. 자율 학습 유형은 사용자의 목표에 따라 결정합니다.

4. 토폴로지 구축

  • 방향성 비순환 그래프(DAG)를 구성합니다. 순환이 발생하면 분해가 잘못된 것이므로 다시 분해해야 합니다.
  • 강의 수강 유형: 주별로 정렬하고, 주 내에서는 의존성에 따라 정렬합니다. 자율 학습 유형: 의존성에 따라 완전히 정렬합니다.
  • 모듈 다이어그램은 Mermaid flowchart를 사용합니다: 실선은 반드시 먼저 학습해야 함을 의미하고, 점선은 개념 중 하나만 사용됨을 의미합니다(어떤 개념인지 명시). 중요도에 따라 색상으로 구분합니다. 노드에는 번호 범위를 표시합니다. 다이어그램 아래에는 전체 다이어그램의 주요 라인 수를 요약하는 문장을 작성합니다.

5. 먼저 토폴로지 다이어그램을 확인한 후 생성

  • 사용자에게 확인을 요청하는 핵심은 지식 포인트 토폴로지 다이어그램이지 모듈 경로가 아닙니다. 방법: 먼저 모든 지식 포인트를 하나씩 분해하고 흩어 놓습니다. 시험 문제(또는 학습 목표)에 필요한 지식 포인트에서 시작하여, 그들의 선수 지식, 선수 지식의 선수 지식...을 찾아 토폴로지 다이어그램을 구성합니다. 선수 관계는 모듈 간에 연결되어야 합니다 (예: 모듈 8의 문제가 모듈 7의 도구, 선수 과목의 개념을 사용하는 경우). 웹페이지의 설명이 학교 자료보다 더 자연스럽게 이어지도록 합니다.
  • 지식 포인트 번호는 "즉시 선수" 순서로 정렬합니다: 각 선수 지식은 처음으로 사용되기 직전에 배치되며, 선수 내용을 처음에 몰아넣지 않습니다.
  • 먼저 지도, 시험 정보, 학습 경로만 포함된 첫 번째 버전의 웹페이지를 게시하여 사용자가 대화형 다이어그램에서 직접 확인할 수 있도록 합니다. 확인 후 강의와 문제 은행을 배치 생성합니다.
  • 선수 과목 지식도 출처에 따라 별도의 강의로 구성합니다 (예: "행렬과 계수 (선수 속성 보충)"). 각 강의의 0단계에는 "다음 내용을 먼저 확인하세요 (다른 강의에서)"를 나열하고 연결합니다.
  • 사용자가 판단할 수 있을 때만 토폴로지 다이어그램 확인 요청: 사용자가 강의 자료, 시험 범위를 가지고 있거나 관련 기초가 있는 경우에만 보내 확인을 요청합니다. 입문자일 때는 확인을 요청하지 마십시오. 옳고 그름을 판단할 수 없기 때문입니다. AI가 강의 자료나 권위 있는 출처와 대조하여 직접 한 번 확인한 후 웹페이지에 바로 넣습니다.
  • 확인을 건너뛰는 경우(사용자가 입문자이거나 시간이 부족한 경우)에도 토폴로지 다이어그램은 생성되어 지도 섹션에 배치됩니다.

4의 둘. 자료가 없을 때: 먼저 경로 계획

1. 목표 명확히 하기

  • 어느 수준까지 배울 것인지, 무엇을 위해 배우는지 (논문 이해, 프로젝트, 면접, 취미)
  • 관련 기초 지식이 있는지
  • 주당 시간이 얼마나 되는지

대화에서 추론할 수 있으면 묻지 않습니다.

2. 조사

  • 인터넷 검색이 가능하면 이 분야에서公认된 자료를 찾습니다: 대학 공개 강의 (강의 홈페이지, 강의 노트, 동영상), 고전 교재, 공식 문서, 리뷰. 원본이고 권위 있는 출처를 우선으로 찾고, 링크와 구체적인 장 또는 강의 차시를 기록합니다.
  • 2-3개의 권위 있는 출처의 개요를 대조하여 이 분야의 주요 블록, 기초, 심화, 그리고 이들 간의 선후 관계를归纳합니다.

3. 학습 경로 제시, 사용자 확인 먼저 받기

  • 분야 전체 개요: 이 분야의 주요 블록. 사용자의 목표를 위해 반드시 학습해야 하는 블록과 당장 학습하지 않아도 되는 블록.

  • 선수 지식 확인: 필요한 기초 지식. 사용자가 자신이 아는지 확실하지 않을 때는 3-5개의 진단 문제를 제시하고 결과에 따라 시작점을 조정합니다.

  • 메인 자료: 하나의 강의나 책을 메인으로 추천하고 나머지는 보충 자료로 추천하며, 이유를 설명합니다 (권위, 난이도 적합성, 무료 이용 가능 여부).

  • 단계별 경로: 각 단계마다 다음을 명시:

    • 학습 목표 (검증 가능해야 함)
    • 핵심 개념
    • 추천 자료 (구체적인 장 또는 강의 차시까지, 링크 포함)
    • 예상 시간
    • 단계 검증 방식

    단계 간에는 "이전 단계가 해결한 것, 이 단계가 해결할 새로운 문제"를 설명해야 합니다.

  • 사용자에게 확인을 요청하는 것은 목표, 시간, 메인 자료입니다. 지식 포인트 토폴로지 다이어그램은 사용자 확인이 필요하지 않습니다: AI가 권위 있는 출처와 대조하여 확인한 후 직접 웹페이지에 넣습니다.

4. 사용자가 경로를 확인한 후 웹페이지 만들기

  • 학습 경로가 지도가 됩니다. 조사된 자료는 sources로 기록되며 (type은 web 또는 textbook), 각 지식 포인트는 출처를 표시합니다.
  • 설명은 AI가 이러한 출처를 기반으로 작성하며, 핵심 사실과 공식은 확인하고 원본 링크를 제공하여 사용자가 심층 학습할 수 있도록 합니다.
  • 사용자가 나중에 교재, 강의 필기록 또는 강의 노트를 받으면 새 자료로 증분 업데이트(5절)를 진행합니다: 출처와 깊이를 보충하고 처음부터 다시 시작하지 않습니다.

5. 단계적이고 이해를 돕는 설명 방식

  • 각 단계는 하나의 문제, 현상 또는 필요에서 시작합니다. 먼저 사용자가 생각해 보게 하고, 먼저 추측을 선택하게 한 후 정답과 이유를 공개합니다.
  • 한 번에 한 걸음만 나아가고, 이미 배운 것을 사용하여 새로운 것을引出합니다.
  • 어려운 부분은 먼저 가장 간단한 특수 사례를 제시한 후 일반화합니다.
  • 각 단계가 끝날 때 정리: 이제 무엇을 할 수 있는지, 현재 지식으로 해결할 수 없는 문제는 무엇인지, 다음 단계에서 해결할 것인지.

4의 셋. 경량 입문 (총 시간 3시간 미만)

1. 판단 방법

다음 두 조건을 충족하면 경량 입문으로 처리합니다:

  • 사용자가 개념이나 작은 주제에 대해 묻는 경우 (예: "X가 무엇인가요?", "X 입문", "X에 대해 알고 싶습니다")
  • 총 학습 시간이 3시간 미만으로 예상되며, 약 15개의 지식 포인트, 1-3개 강의를 초과하지 않음

이 규모를 초과하면 "자율 학습·이해" 또는 "처음부터 계획"으로 전환합니다.

2. 프로세스

  • 질문하지 않음, 주제 자체가 명확하지 않은 경우는 제외.
  • 경로 확인 등을 보내지 않음: 스스로 지식 포인트와 순서를 정한 후 직접 웹페이지를 생성합니다.
  • 사용자의 기초를 모를 때는 "똑똑한门外汉"을 시작점으로 가정합니다. 필요한 선수 지식을 먼저 배우도록 요구하지 않고 0단계에 "선수 지식 요약"을 제공합니다: 각 선수 지식을 한 문장으로 명확하게 설명합니다.
  • 인터넷 연결이 가능하면 검색을 통해 핵심 사실과 공식을 확인하고 출처에 링크를 제공합니다.

3. 웹페이지 간소화

  • 세 개의 섹션만 유지:
    • 강의: 1-3개 강의, 각 강의 5-10단계
    • 연습: 각 지식 포인트당 1-2문제
    • 간소화된 지도: 지식 포인트 소형 토폴로지 다이어그램. 선수 지식(예: API 학습 시 클라이언트, 서버, HTTP)을 그려야 하며, 하나의 메인 라인을 추가합니다.
  • 시험 정보, 모의 문제, 기출문제, 타이머, 복습 큐, 진행률 코드는 만들지 않습니다.
  • 다음은 유지:
    • 직관 먼저 설명 후 정의 작성, 하나의 예제가全程贯穿
    • 사람 말로 설명하는 상자 (수리 과학 유형)
    • 각 강의 마지막의 논리적 메인 라인
    • 각 지식 포인트의 숙달 기준 및 자가 테스트, 오답 시针对性 설명
  • 마지막 페이지에는 "다음에 배울 수 있는 것"을 작성합니다. 사용자가 더 깊이 배우고 싶어하면 "자율 학습" 또는 "처음부터 계획"으로 업그레이드하여 같은 웹페이지에서 확장할 수 있습니다. 따라서 course.json도 이때 정상적으로 저장해야 합니다.

5. 증분 업데이트 (매주 또는 격주)

  1. course.json과 새 자료를 읽습니다.
  2. 새 자료에서 지식 포인트를 분해하고, 기존 지식 포인트와 하나씩 비교하여 다음 중 하나로 분류합니다:
상황처리
완전히 새로운 내용, 선수 지식이 모두 있음새로 추가
기존 지식 포인트의 확장 또는 심화새 지식 포인트 생성, 기존 지식 포인트를 hard 선수로 설정. 기존 포인트에 넣지 않음
기존 지식 포인트와 동일한 것새로 만들지 않음. 기존 포인트에 출처 추가. 깊이가 향상되면 depth 업데이트
교수님이 이전 내용을 수정함기존 포인트 수정, changed에 기록, 웹페이지에 "수정됨" 표시
후발 선수 지식 (새 내용이 사실 기존 포인트의 기초임)이 선수 지식을 새로 추가하고, 기존 포인트에 선수 간선 추가. 이미 게시된 강의는 재배치하지 않고, 새 강의에 "되돌아보기" 카드 추가, 기존 포인트에 연결하고 이제 어떻게 다시 이해할 수 있는지 설명
새 자료와 기존 자료가 모순됨 (표기법 또는 표현이 다름)두 표현 모두 기록, "확인 필요" 표시, 전달 시 사용자에게 어느 것을 기준으로 할지 질문
간선 추가 후 순환 발생너무 굵게 분해된 지식 포인트를 분해하고, 기존 ID를 merged로 표시하여 분해된 새 포인트를 가리킴
새 주제새 모듈 생성. 새 내용을 기존 모듈에 넣을 수 있으면 기존 모듈 확장, 모듈 이름 함부로 변경하지 않음
  1. 검증: 모든 pre가 가리키는 ID가 존재하고 active 상태인지, 그래프에 순환이 없는지, 어떤 지식 포인트도 자신의 hard 선수 지식보다 먼저 나타나지 않는지 확인 (후발 선수 지식 제외, 하지만 되돌아보기 카드가 있어야 함).
  2. 내용이 변경된 기존 지식 포인트는 "업데이트 있음, 다시 보기 권장" 표시, 사용자의 원래 체크는 유지.
  3. changelog에 기록하고, 지도의 "이번 업데이트" 패널에 표시: 새로 추가된 것, 수정된 것, 후발 선수 지식, 확인이 필요한 것.
  4. 웹페이지를 다시 생성하고 같은 웹페이지 폴더에 다시 씁니다 (호스팅된 웹페이지는 같은 주소에 게시). 사용자의 경로나 링크는 변경되지 않습니다.

6. 시험 준비

1. 시험을 기준으로 지식 포인트 역추론

  1. 자료에 우선순위 부여: 목표는 샘플 시험지 또는 공식 답안이 있는 기출 문제지, 참고는 다른 기출 문제지와 과제, 메인은 여전히 강의 자료, 튜토리얼과 랩은 보충.
  2. 문제 분해: 각 문제를 하위 질문으로 분해한 후, 필요한 기술로 분해하고 "이 질문을 맞히기 위해 반드시 알아야 하는 지식 포인트"를 나열합니다.
  3. 역추론 닫힌 범위: 이러한 지식 포인트에서 시작하여 hard 선수 지식을 따라 계속 거슬러 올라가 시험에 필요한 모든 지식 포인트를 얻습니다. 닫힌 범위 밖의 지식 포인트는 부차적 또는 시험범위 밖으로 강등됩니다.
  4. 깊이 보정: 문제의 질문 방식에 따라 깊이를 결정합니다. 같은 지식 포인트가 여러 문제에서 출제될 때는 가장 깊은 수준을 취합니다:
    • 판단, 선택 → recall
    • 설명, 비교, 이유 묻기 → explain
    • 계산, 코드 작성, 그림 그리기, 단계별 수행 → apply
    • 새로운 상황, 종합, 설계 → transfer
  5. 격차 확인:
    • 시험에 필요하지만 강의 자료에 없는 내용 → 상식적인 설명 작성, "강의 자료에 없음" 표시
    • 강의 자료에 있지만 시험 설명에서 명시적으로 제외된 내용 → 시험범위 밖 표시
    • 작년에 출제되었지만 올해 강의 자료에 없는 내용 → 별도로 나열
  6. 결과를 시험 정보 섹션에 기록: 문제별 표 (문제 → 지식 포인트 → 배점), 모듈 비중 표, 시험범위 밖 목록, 교수님 말씀 (날짜 표시), 기출 문제 패턴, 일반적인 답변 템플릿.
  7. 학습 경로: 사용자의 가용 시간에 따라 구간을 나눕니다. 강의는 항상 강의 모듈별로 구성되며 (하나의 모듈은 하나의 강의, 선수 지식도 출처에 따라 별도 강의로 구성), 나중에 재사용할 수 있습니다. 학습 경로는 강의의 단계만 참조합니다 ("오늘은 어떤 강의의 어떤 단계를 배울지"), 하루 단위로 강의를 나누지 않습니다. 각 구간마다 배울 번호, 왜 여기에 배치되었는지, 학습 후 어떤 문제로 검증할지 나열합니다. 단기 집중 버전에는 별도의 안전 장치 버전을 첨부하고 "먼저 생략할 수 있는" 번호를 나열합니다. 철저 버전은 하루 단위로 계획하며, 매일 새로 배울 내용과 복습해야 할 내용을 포함합니다.

2. 단기 집중 버전과 철저 버전

단기 집중 버전철저 버전
범위핵심 및 중요닫힌 범위 내 모든 지식 포인트
설명문제 풀이에 충분할 정도로만보정된 깊이로 철저히 설명; transfer 수준은 변형 문제까지
연습기출문제로 직접 검증먼저 모의 문제 풀기, 숙달된 후 기출문제
기출문제배우면서 바로 사용봉인: 특정 문제 유형의 모의 문제가 모두达标한 후에야 해당 기출문제 잠금 해제; 마지막에 전체 시간 재며 모의 시험

시간이 부족할 때는 다음 순서로 줄입니다: 먼저 부차적 지식 포인트 설명 줄이기, 다음 문제 수 줄이기, 마지막으로 강의 단계 축소. 토폴로지 다이어그램과 시험 정보는 줄이지 않습니다.

3. 모의 문제 (철저 버전은 반드시)

  • 각 시험 문제 유형당 3-6개의 모의 문제 작성: 동일한 기술을 테스트하되, 상황과 데이터를 변경하고 난이도는 기출문제 이상. 각 문제에 해당 기출문제 유형(예: "샘플 시험 2 Q2D 유형")과 테스트하는 기술을 표시.
  • 출제 순서: 먼저 단일 기술 문제, 다음 조합 기술 문제, 마지막으로 기출문제와 동등한 종합 수준의 문제.
  • 각 모듈 강의 직후 해당 모듈의 모의 문제가 바로 이어집니다.
  • 모의 문제는 연습 페이지에 배치되며 "모의" 태그가 붙고 별도 섹션이 없습니다.

4. 기출문제 매뉴얼

  • 모듈은 시험 비중에 따라 정렬됩니다. 모듈 0은 시험 정보 및 답변 전략입니다. 각 모듈 시작 부분에는 "필수 암기" 상자가 있습니다.
  • 각 문제에는 다음이 포함됩니다: 레벨 태그 (공식 답변 / 유도 답변, 유도 답변은 비공식임을 명시), 출처 및 배점, 원본 문제, 한국어 번역 (시험이 영어일 때), 풀이思路, 기본 접힌 답변, "숙달됨" 체크. 각 하위 질문은 사이트 전체 통일 문제 카드 사용.
  • 시험이 영어로 답안을 작성할 때는 답변 먼저 바로 따라 쓸 수 있는 영어를 제시한 후, 한국어로 왜 이런 답변이 나왔는지 설명합니다.
  • 전체 시험지 타이머 (시험 시간 사전 설정, 일시 정지 및 초기화 가능) 및 "모든 답변 펼치기 / 접기" 스위치. 개별 문제 타이머, 텍스트 강조, 실수 유형 분류와 같은 자주 사용되지 않는 기능은 만들지 않습니다.

5. Cheat Sheet 임시 저장 (시험에서 필기 허용 시 항상 추가)

  • 페이지 상단에 한 줄 입력 상자: 텍스트를 붙여넣고 Enter를 누르면 저장. LaTeX는 자동 렌더링. 이미지도 직접 붙여넣기 가능 (data URL로 저장). Cheat Sheet 페이지 아무 곳에나 붙여넣어도 저장됩니다.
  • 각 항목은 붙여넣을 때의 맥락 (어느 강의의 어느 단계, 어느 지식 포인트)을 기록합니다. 항목은 localStorage에 저장됩니다.
  • "모두 복사 (AI용)" 버튼: 사용자가 내용을 맥락과 함께 AI에 보내면 AI가 조각난 내용을 읽기 쉬운 항목 (제목 + 본문, 한국어 설명, 영어 용어 유지, 수식은 LaTeX 사용)으로 정리하여 웹페이지 데이터에 다시 씁니다. 원본은 유지되며 전환하여 볼 수 있습니다.
  • 카드 클릭 시 선택 (다중 선택 가능), 마우스 오른쪽 버튼 메뉴 "선택한 항목 제거". 페이지 내 확인 상자로 확인 (confirm() 사용 불가). 모바일에서는 도구 모음 버튼 사용. 제거는 소프트 삭제: 알림 표시줄로 실행 취소하거나 "최근 제거됨"에서 복원할 수 있습니다.
  • 용도: 노트 용지를 만들 때, 임시 저장 페이지의 내용은 "가장 덜 확실한 부분"으로 Cheat Sheet의 작은 부분에 배치되고, 나머지는 AI가 강의 내용에 따라 자동 생성합니다.

7. 설명 작성 방법

모든 유형 공통

  • 각 강의는 0단계로 시작합니다: 이 강의가 해결하는 문제. 학습 후 당신이 할 수 있어야 하는 것 (검증 가능한 번호 목록).
  • 먼저 직관을 제공하고, 정의를 작성한 후, 예제를 제시합니다. 하나의 예제가 강의 전체를贯穿하며, 이후 단계에서 반복적으로 사용합니다.
  • 문장은 짧게, 사람 말로, 헛된 말은 쓰지 않습니다. 한국어로 설명하되, 영어 원문은 유지합니다. 시험이 영어일 경우 각 단계마다 영어 키워드를 표시합니다.
  • 강의는 한 번에 한 단계만 표시합니다. 하단에는 이전 단계 / 다음 단계 버튼이 있습니다. 카드 상단에는 다음이 명시됩니다: N단계 · 예상 시간 (분) · 지식 포인트 번호 · 영어 용어.
  • 왼쪽 사이드바는 세 개의 레이어로 구성되며, 한눈에 구분되고 혼잡하지 않아야 합니다:
    • 유닛 (선수 지식, Module X...): 접을 수 있는 제목 표시줄, 배경색과 진행률 포함, 현재 유닛만 기본 펼쳐짐. 사용자가 직접 클릭하여 펼치거나 접은 것만 기록합니다 (의 초기화 toggle을 사용자 작업으로 간주하지 마십시오).
    • 강의: 각 강의당 한 줄, 왼쪽 모듈 색상 점, 오른쪽 진행률 작은 태그. 현재 강의는 테두리 강조. 생성되지 않은 강의는 회색 처리.
    • 단계: 현재 강의 아래에만 펼쳐지며, 세로 타임라인으로 연결됩니다. 각 단계 앞에는 번호가 있는 작은 원 (완료 시 ✓), 글꼴 크기는 더 작고, 오른쪽에 소요 시간. "강의 메인 라인" 버튼은 단계 목록 위에 배치.
  • 카드 내에서는 필요에 따라 다음 내용 블록을 사용합니다:
    • 핵심 공식 또는 정의 상자
    • 사람 말 상자
    • 예제 상자
    • 시험 포인트 상자: 출처 표시, "다음" 버튼을 누르면 한 줄씩 펼쳐짐
    • 일반적인 어려움 상자
    • 답변 작성 방법 상자
    • 알아두기만 하면 됨 (작은 글씨)
    • 되돌아보기 카드 (증분 업데이트 시)
    • 자가 테스트
  • 시험 준비에서도 학문적 이해를 중요시: 샘플 시험지는 유형과 대표 문제를 나타낼 뿐, 닫힌 범위 밖의 내용이 출제되지 않음을 의미하지 않습니다. 이해가 목적이고, 시험은 단지 검증 수단입니다.
    • 각 단계의 "지금 배우는 이유"는 학문적 동기를 기반으로 작성합니다 (이전 단계가 남긴 문제, 이 단계가 어떻게 해결하는지). "시험에 나오니까"라는 이유는 사용하지 않습니다. 시험 출처는 각 단계 끝에 별도로 나열합니다.
    • 닫힌 범위 밖의 지식 포인트도 강의에 포함시키고 명확히 설명하되, 부차적이라고 표시합니다.

한 단계 설명의 고정 형식

각 단계는 다음 순서로 작성합니다. 해당 항목이 없으면 건너뛰지만 순서를 바꾸지 않습니다:

  1. 지금 배우는 이유: 한 문장으로 학문적 동기 작성 (이전 단계가 남긴 문제, 이 단계가 어떻게 해결하는지)
  2. 직관: 1-3문장, 또는贯穿 예제의 구체적인 숫자를 사용하여 문제를引出
  3. 정의 / 핵심 공식 상자: 공식은 별도 줄로 중앙 정렬
  4. 사람 말: 공식 바로 아래, 각 기호를 하나씩 설명 (무엇인지, 숫자/벡터/행렬 모양, 무작위 또는 고정). 그 다음 "어떤 양이 변할 때 결과가 어떻게 변하는지"를 한 문장으로 설명
  5. 예제 상자:贯穿 예제의 숫자를 대입하여 한 번 계산하고, 각 단계마다 한 줄씩
  6. 일반적인 어려움 상자 (있는 경우에만)
  7. 자가 테스트 문제: 1-2개, 이 단계의 숙달 기준을 정확히 검증
  8. 시험 출처: 마지막 줄 작은 글씨로, 이 단계를 테스트하는 기출문제 하위 질문 나열

수식 및 조판의 고정 형식 (MAST90138 복습 강의 참조)

  • 인라인 또는 별도 줄: 짧은 기호는 인라인으로 작성 ($\hat\beta_1$). 정의, 핵심 공식, 암기해야 할 결론은 별도 줄로 중앙 정렬.
  • 유도 체인: aligned 사용, 등호로 정렬, 각 행 오른쪽에 \quad\text{(근거)}로 짧은 근거 작성. 매우 긴 부등식이나 수식도 aligned를 사용하여 여러 행으로 나누어 카드를 넘치게 하지 않음.
  • 수치 계산은 세 단계 고정: 먼저 공식 작성 → 숫자 대입 → 결과 작성. 결과는 유효 숫자 3-4자리로 유지. 모든 수치는 코드로 검증.
  • 수식에서는 \text{}만 사용하여 짧은 단어를 작성하고, 긴 한국어 문장은 사용하지 않음.
  • 표기법은 실제 LaTeX 사용, 강의 자료와 일관성 유지: 벡터, 행렬은 굵은 글씨 (\mathbf{X}, \boldsymbol\beta). 필기체 필요 시 (Fisher 정보 \mathcal I, 모델 \mathcal M, 정규 \mathcal N). 연산자와 분포명은 정체 사용 (\operatorname{Var}, \mathrm{SS}_{\text{res}}, \mathrm{Bin}). Unicode로 수식을 조합하지 마십시오 (XᵀX, β̂, F(2,4) 등). 지식 포인트 제목, 숙달 기준, 옵션, 힌트, 기출문제 번역에서도 동일합니다. SVG 토폴로지 다이어그램 노드 레이블만 순수 텍스트 사용.
  • MathJax 설정에 매크로 세트 정의 (예: \X, \bb, \SSres, \FI). 사이트 전체에서 공유하여 표기법 일관성 유지. \boldsymbol 사용 시 boldsymbol 패키지를 로드해야 함. Python에서 LaTeX 문자열을 작성할 때는 항상 r"…" 사용.
  • 수식에 <, > 직접 사용 금지: 데이터가 innerHTML을 통해 페이지에 삽입될 때 $\rk(\X)<p$의 <p는 브라우저에서 HTML 태그 시작으로 해석되어 이후 전체 내용이 사라지고 $\rk(\X)와 같은 반쪽 코드가 드러납니다. 웹페이지 생성 시 통일 처리: 모든 데이터 문자열을 순회

… (원본 내용이 잘렸습니다)


이 스킬은 사용자에게 맞춤형 학습 경험을 제공하기 위해 설계되었습니다. 각 기능과 규칙은 학습 효율성과 사용자 경험을 최적화하기 위한 것입니다.

관련 스킬