이 레포가 무엇을 하는 물건인가.
인민교육출판사(人教版) 등 공식 검정 교과서를 학년·과목·출판사별 폴더로 정리한, 코드 0줄짜리 레포입니다. README의 동기가 분명합니다 — 무료여야 할 자료가 접근 장벽과 되팔이 때문에 닿지 않는 사람들, 그리고 자녀에게 모국 교육과정을 접하게 하고 싶은 해외 교민.
구성은 단순합니다: 학제별 최상위 폴더(소학·초중·고중·대학 + 5·4학제 변형) 아래 과목 → 출판사 → 학년 순으로 PDF가 들어 있습니다. 수학은 대학 과정(고등수학·선형대수·이산수학·확률론)까지 커버하고, "시험을 위해서가 아니라 배우기 위해 읽는 사람이 늘기를"이라는 문장이 수학 섹션에 붙어 있습니다.
트렌딩 이유 · 경쟁 대비 장점.
원래도 교육 접근성 프로젝트로 스타를 모았지만, 최근 트렌딩의 맥락은 다릅니다 — RAG·NotebookLM류 도구가 보편화되면서 "체계적 커리큘럼을 갖춘 대량 PDF"가 AI 지식베이스의 1급 재료가 된 것입니다. 위키 덤프나 웹 크롤링과 달리, 교과서는 난이도가 단계적이고 검수된 정확한 콘텐츠라 학습용 코퍼스로서 품질이 다릅니다.
| 비교 항목 | 웹 크롤링 학습 자료 | 교과서 아카이브 |
|---|---|---|
| 품질 검수 | 없음 — 오류 혼재 | 국가 검정 교재 — 검수 완료 |
| 난이도 구조 | 평면적 | 학년·학기 단위로 계단식 |
| 커버리지 | 인기 주제 편중 | 전 과목 균등 (커리큘럼 보장) |
| 형식 | 잡다한 HTML | 일관된 PDF — 파싱 파이프라인 단일화 |
공식 플랫폼이 무료 제공하는 자료라 해도, 재배포 아카이브의 법적 지위는 국가·용도에 따라 다릅니다. 개인 학습·연구 목적 사용과 상업적 활용은 전혀 다른 문제이며, 이 레포 자체도 라이선스 명시가 없습니다.
"초1 수학 → 대학 확률론"으로 이어지는 연속 코퍼스는 AI 튜터 실험, 난이도 제어 생성, 중국어 교육 콘텐츠 연구에 바로 쓸 수 있는 드문 자원입니다.
데이터 레포의 "스택"은 운영 방식이다.
| 레이어 | 구성 | 역할 |
|---|---|---|
| 저장 | Git + GitHub (2,375 파일) | PDF 원본 보관. LFS 없이 순수 git. |
| 대용량 우회 | 파일 분할 (.pdf.1, .pdf.2…) | GitHub 100MB 제한 회피 — 50MB 초과 파일을 35MB 조각으로. |
| 병합 도구 | mergePDFs (별도 레포 ChinaTextbook-tools) | 조각을 더블클릭 한 번에 원본 PDF로 복원 (Windows/macOS/Linux 바이너리). |
| 수집 경로 | tchMaterial-parser (외부 오픈소스) | 중국 내 사용자가 공식 플랫폼에서 직접 재다운로드할 때 쓰는 도구. |
| 분류 체계 | 학제/과목/출판사/학년 폴더 트리 | 중국어 폴더명 자체가 메타데이터. |
코드 대신 "데이터 배포 설계"를 읽는다.
기술적으로 흥미로운 지점은 GitHub를 대용량 자료 CDN으로 쓰기 위한 우회 설계입니다. git LFS는 무료 대역폭 제한이 있어 인기 레포에선 금방 막힙니다. 대신 이 레포는 큰 PDF를 35MB 조각으로 잘라 일반 git 객체로 커밋하고, 복원용 네이티브 바이너리(mergePDFs)를 별도 레포에서 배포합니다. 사용자 경험은 "조각과 같은 폴더에서 더블클릭" 한 번 — 비개발자(학부모·교사)가 주 사용자라는 점을 고려한 낮은 문턱입니다.
이삿짐 택배에 비유하면, 장롱(대형 PDF)이 엘리베이터(100MB 제한)에 안 들어가니 분해해서 올린 뒤, 조립 설명서 대신 "버튼 하나짜리 조립 로봇"(mergePDFs)을 같이 보내주는 방식입니다.
폴더명이 곧 분류 체계다 (중국어).
| 항목 | 설명 |
|---|---|
| 5·4학제 분리 | 중국 일부 지역은 초등 5년+중학 4년 — 학제 차이를 폴더로 반영한 꼼꼼함. |
| 출판사 계층 | 같은 학년·과목도 인교판/북사대판 등 판본별 폴더 — 검색 시 판본 확인 필수. |
| 분할 파일 | *.pdf.1, *.pdf.2가 보이면 mergePDFs로 병합해야 열림. |
데이터 레포에서도 배울 것이 있다.
LFS 대역폭 비용 vs 파일 분할 + 복원 도구 — 제약(100MB)을 정면 돌파하지 않고 UX로 우회한 결정. 비슷한 제약(모델 가중치, 데이터셋 배포)에 응용할 수 있는 사고방식입니다.
학년 메타데이터가 폴더 경로에 박혀 있으므로, PDF→마크다운 변환 시 난이도 태그를 공짜로 얻습니다. "초등 5학년 수준으로 설명해줘"가 실제로 가능한 RAG를 만들 수 있는 구조.
"공식적으로 무료인데 실질적으로 닿지 않는" 자원의 재배포는 오픈 액세스 운동의 고전적 주제입니다. 접근성과 저작권 사이의 긴장을 실물로 보여주는 사례.
받으려면 무엇이 필요한가.
| 항목 | 요구사항 |
|---|---|
| 디스크 | 전체 클론은 수십 GB급 — 필요한 과목 폴더만 받는 sparse-checkout 권장. |
| 병합 도구 | 분할 PDF용 mergePDFs 바이너리 (ChinaTextbook-tools 릴리스에서 다운로드). |
| 네트워크 | 중국 내라면 tchMaterial-parser로 원 플랫폼에서 직접 받는 게 빠름 — README 안내. |
| 언어 | 폴더·파일명이 모두 중국어 — 간체자 기본 어휘(小学=초등, 数学=수학) 알아두면 탐색이 쉬움. |
난이도별로 손에 익히는 단계.
git clone --filter=blob:none --no-checkout + git sparse-checkout set 大学/线性代数로 선형대수 폴더만 내려받아 봅니다 — 대형 레포를 다루는 git 기술 연습을 겸한 과제.
.pdf.1/.pdf.2 파일이 있는 폴더에서 mergePDFs를 실행해 원본을 복원하고, 어떤 원리인지(단순 바이트 연결) 직접 cat으로도 재현해 봅니다.
수학 교과서 한 권을 markitdown 등으로 마크다운화 → 임베딩 → "이차방정식 단원 요약해줘" 질의까지. 폴더 경로의 학년 정보를 메타데이터로 붙이는 게 포인트.
같은 개념(예: 분수)을 초등·중학·고등 교과서에서 각각 추출해, LLM에게 "이 3단계 설명의 난이도 차이를 분석하라"는 과제를 줘 봅니다 — 단계적 교육 콘텐츠 생성 연구의 출발점.
한 주씩 따라가는 계획.
| 주차 | 주제 | 학습 자료 |
|---|---|---|
| 1주차 | sparse-checkout·partial clone 등 대형 레포 git 기술 | git 공식 문서 · 실습 1 |
| 2주차 | PDF 파싱 — 텍스트·수식·도판 추출 | markitdown · PaddleOCR |
| 3주차 | 커리큘럼 코퍼스로 RAG 구축 | 실습 3 · open-notebook류 도구 |
| 4주차 | 교육 AI — 난이도 제어 생성 연구 | 실습 4 · 관련 논문 검색 |
본문에 나온 용어 빠른 참조.
| 용어 | 의미 |
|---|---|
| 데이터 레포 | 코드가 아닌 데이터셋을 버전 관리·배포하는 저장소. |
| 义务教育 (의무교육) | 중국의 9년 의무교육 (초등 6년 + 중학 3년). |
| 人教版 | 인민교육출판사 판본 — 중국 교과서의 사실상 표준. |
| 必修 / 选择性必修 | 고등 과정의 필수 / 선택적 필수 과목 체계. |
| 五•四学制 | 초등 5년 + 중학 4년 학제 (일부 지역). |
| 파일 분할 | GitHub 100MB 제한 회피용 35MB 조각 — .pdf.N 확장자. |
| sparse-checkout | 레포의 일부 폴더만 작업 트리에 받는 git 기능. |
| 커리큘럼 코퍼스 | 난이도가 단계적으로 설계된 학습 자료 모음 — AI 학습 데이터로서의 희소 가치. |