TrendShift #1 · Learn by Building

build-your-own-x — 직접 만들면서
배우는 컴퓨터과학

Git, Docker, 데이터베이스, 운영체제, React 등 매일 쓰는 기술을 밑바닥부터 만들어 보는 튜토리얼 큐레이션 모음집.

codecrafters-io/build-your-own-x · README-only · CC0 · 503k★ 2026-05-21
00 — 들어가며Context

"우리는 만들 수 없는 것을 이해할 수 없다"

파인만의 한마디로 시작하는 학습 모음.

대부분의 강의·튜토리얼은 기존 도구를 쓰는 법을 가르친다. 그런데 진짜 기반 기술 — 운영체제, 데이터베이스, 컴파일러, 브라우저 — 이 어떻게 동작하는지는 책 한 권, 영상 한 편으로 끝나지 않는다. build-your-own-x는 "한 주제를 처음부터 직접 만들어 보는" 튜토리얼만 골라 모은 거대한 목차다.

레포 자체에는 코드가 거의 없다. 본체는 README 한 장(약 500줄, 46KB). 그 안에 31개 카테고리, 380개 이상의 외부 튜토리얼이 정리되어 있다. 1990년대 인터넷 초기의 "Yahoo! 디렉토리"가 웹사이트를 분류했다면, build-your-own-x는 개발자가 직접 만들어 봐야 할 것들을 분류한 셈이다.

Term · 용어
큐레이션 (Curation)
박물관 큐레이터가 작품을 골라 전시하듯, 인터넷에 흩어진 좋은 자료를 골라 한 곳에 모으고 순서를 잡는 행위. build-your-own-x의 핵심 가치 제공 방식이다.
Term · 용어
CC0 (Creative Commons Zero, 저작권 포기 라이선스)
"저작권을 전부 포기합니다, 마음껏 쓰세요." MIT·Apache보다 더 자유롭다. build-your-own-x가 채택한 라이선스라 학습자료·책에 자유롭게 인용·재배포 가능.
Term · 용어
CodeCrafters
"Build your own Redis/Git/Docker"를 채점·피드백과 함께 제공하는 유료 코딩 챌린지 서비스. build-your-own-x 원작자(Daniel Stefanovic)에게서 레포 운영을 넘겨받아 같은 컨셉을 사업화했다.
01 — 한 줄 요약TL;DR

이 프로젝트의 핵심 메시지

한 문장으로 줄이면.

Core Message

"편의점 김밥을 사 먹는 대신, 쌀을 씻고 단무지를 절이는 것부터 시작해서 김밥을 직접 만들어 보자 — 다만 김밥 대신 운영체제·데이터베이스·웹브라우저를."

build-your-own-x는 단순 링크 모음이 아니라 "직접 만들기"라는 학습 철학의 카탈로그다. 31개 카테고리, 380개 이상의 외부 튜토리얼을 단일 README로 큐레이션해, 어떤 기반 기술이든 "처음부터 만드는 레시피"로 진입할 수 있게 한다.

레포 자체의 코드량은 거의 0이지만, GitHub 트렌딩에 121회 등장하고 50만 스타를 받은 이유는 "제공하는 가치 = 누군가의 시간을 얼마나 절약해주는가"를 증명한 사례이기 때문이다.

02 — 왜 주목받는가Why now

50만 스타가 10년간 쌓인 이유

시대적 배경 + 경쟁 우위.

"왜 동작하는지"를 가르치는 자료

대부분의 강의는 how to use(쓰는 법)에 머문다. build-your-own-x의 튜토리얼들은 모두 why it works(왜 그렇게 동작하는지)에 답한다. 도구를 쓰는 사람 → 도구를 만드는 사람으로 도약시키는 자료다. AI가 코드를 대신 써주는 시대일수록 "왜 그 코드여야 하는가"를 판단할 수 있는 엔지니어의 가치가 오히려 올라간다.

31개 카테고리 · 380+ 튜토리얼 · 20+ 언어

3D 렌더러, AI 모델, 블록체인, 데이터베이스, Docker, 게임 엔진, Git, 운영체제, 컴파일러, 브라우저, 웹서버 — 진짜 개발자가 알아야 할 기반 기술이 거의 다 들어 있다. 같은 주제를 C·Go·Python·Ruby·Rust 등 여러 언어로 비교 학습할 수 있어, 언어의 본질적 차이를 체감하기 좋다.

경쟁 자료 비교 — 왜 이게 1위인가

자료장점한계
freeCodeCamp웹개발 입문에 강함"기반 기술 직접 만들기"는 거의 없음
YouTube 튜토리얼영상으로 따라하기 쉬움품질 편차 큼, 한 사람 관점에 갇힘
MIT OCW 등 대학 강의이론 깊이 ↑"분석" 위주, 접근성 낮음
build-your-own-x한 주제를 끝까지 직접 만든다학습자가 동기·시간 관리 필요

10년간 살아남은 큐레이션 메커니즘

2018년 Daniel Stefanovic이 시작 → 2026년 현재까지 꾸준히 새 튜토리얼이 추가되고 죽은 링크는 제거된다. 커뮤니티 기반 PR 흐름 덕분에 평균 품질이 높게 유지된다. 현재는 CodeCrafters 팀이 메인테이너 역할을 한다.

03 — 기술 스택Stack

전체 기술 지도

레포가 다루는 카테고리와 자주 등장하는 언어.

build-your-own-x는 특정 기술 스택을 쓰는 프로젝트가 아니라, 거의 모든 기술 스택을 다루는 인덱스다. 카테고리를 영역별로 나누면 다음과 같다.

시스템 / 저수준

OS · Container · Hardware

  • Operating System — 부트로더부터 커널까지 (예: Writing an OS in Rust, os01)
  • Docker / Container — Linux namespaces · cgroups 직접 호출 (Linux containers in 500 LoC, bocker)
  • Emulator / Virtual Machine — NES·CHIP-8·LC-3 같은 가상 머신
  • Memory AllocatorMalloc is not magic 류 튜토리얼
  • Network Stack — Ethernet → ARP → TCP까지 한 단계씩 (Let's code a TCP/IP stack)
  • Processor (Verilog) — FPGA로 CPU 직접 설계
  • Shell · Memory Management

데이터 / 검색

Database · Search · Distributed

  • Database — SQL DB (cstack/db_tutorial), Redis 흉내내기 (Build Your Own Redis), B+Tree 자료구조
  • Search Engine — TF-IDF, 벡터 인덱스, BM25
  • Regex Engine — 정규식 엔진 직접 작성
  • Distributed Systems — Kafka·Raft·일관성 모델 흉내내기

웹 / 네트워크

Browser · Server · Framework

  • Web Browser — 렌더링 엔진·CSS 파서 직접 구현 (Browser Engineering)
  • Web Server — HTTP, WebSocket을 처음부터 (Let's Build A Web Server)
  • Front-end Framework — React·Angular 흉내내기 (Build your own React by pomb.us)
  • Template Engine · Static Site Generator

AI / ML

LLM · Neural Net · Vision

  • AI Model — GPT 처음부터 (rasbt/LLMs-from-scratch), Diffusion, RAG
  • Neural Network — 11줄짜리 신경망 → CNN → Transformer
  • Vision Recognition — 얼굴 / 번호판 인식기 직접 만들기
  • Recommendation System

그래픽 / 게임

3D · Physics · Game

  • 3D Renderer — Ray Tracing in One Weekend (C++), 래스터라이저
  • Physics Engine — 강체 시뮬레이션, 충돌 처리
  • Game — Tetris, Cave Story, Roguelike, Snake
  • Voxel Engine — 마인크래프트 스타일 청크 시스템
  • AR / VR

언어 / 툴

Compiler · Editor · Bot

  • Programming Language — 인터프리터·컴파일러 (Crafting Interpreters)
  • Git — blob/tree/commit 객체 모델 (Write yourself a Git!)
  • Text Editorkilo(C, 1KLoC), hecto(Rust 포트)
  • Command-Line Tool — cowsay 클론, 미니 ls/cat
  • Bot — Slack / Discord / Reddit / Twitter 봇

자주 등장하는 언어 분포

언어강세 분야대표 튜토리얼
COS · 컨테이너 · 메모리 · 네트워크kilo (텍스트 에디터), os01
C++게임 · 3D 렌더러 · 에뮬레이터Ray Tracing in One Weekend, NES Emulator
PythonAI/ML · 인터프리터 · 웹서버Norvig의 lisp.py, Let's Build A Web Server
Go분산 시스템 · CLI · DB · BitTorrentBitTorrent in Go, Build Your Own Redis from Scratch (Go 구현 별도)
RustOS · 브라우저 · 컴파일러 · DNSWriting an OS in Rust (phil-opp), Hecto
JavaScript프론트엔드 · 게임 · 블록체인Build your own React (pomb.us)
Java / KotlinJVM 언어 · 컴파일러Crafting Interpreters (book)
04 — 아키텍처Design

레포 구조 + 큐레이션 설계 패턴

코드는 단순한데, "왜 이렇게 만들었는가"가 핵심.

레포의 구조도

┌─────────────────────────────────────────────────────────────┐
│  GitHub Repository (codecrafters-io/build-your-own-x)       │
│                                                             │
│   ┌────────────────────────────────────────────────────┐    │
│   │  README.md  ← 거의 전부가 여기 (~500줄, 약 46KB)       │    │
│   └────────────────────────────────────────────────────┘    │
│              │                                              │
│              │ (목차로 분기)                                  │
│              ▼                                              │
│   ┌────────────────────────────────────────────────────┐    │
│   │  30개 카테고리 섹션                                  │    │
│   │   ├─ #### Build your own `Database`                │    │
│   │   ├─ #### Build your own `Docker`                  │    │
│   │   ├─ #### Build your own `Git`                     │    │
│   │   ├─ ... (총 31개)                                  │    │
│   │   └─ #### Uncategorized (잡다한 80여 개)             │    │
│   └────────────────────────────────────────────────────┘    │
│              │                                              │
│              │ (각 항목은 외부로 링크)                         │
│              ▼                                              │
│   ┌────────────────────────────────────────────────────┐    │
│   │  외부 튜토리얼 (380+ 개)                             │    │
│   │   ├─ 블로그 글 (medium, 개인 블로그)                  │    │
│   │   ├─ 오픈소스 가이드북 (raytracing.github.io 등)      │    │
│   │   ├─ YouTube 영상 시리즈                            │    │
│   │   ├─ 깃허브 워크샵 레포                              │    │
│   │   └─ 책 PDF / Leanpub                              │    │
│   └────────────────────────────────────────────────────┘    │
│                                                             │
│   GitHub Issues  ←── 새 튜토리얼 제안 / 죽은 링크 제보         │
│   Pull Requests  ←── 커뮤니티가 PR로 항목 추가                │
└─────────────────────────────────────────────────────────────┘

설계 패턴 1 — 단일 README라는 의도된 단순함

Docusaurus·Gatsby 같은 정적 사이트 생성기로 만들면 더 멋있어 보이지만, 그러면 "새 튜토리얼 한 줄 추가하기"의 진입장벽이 올라간다. README는 마크다운 한 줄만 추가하는 PR이면 끝이다. 이 단순함이 10년간 활발한 기여를 유지한 비결이다.

Analogy · 위키 vs 정적 사이트

Wikipedia가 "누구나 편집 버튼만 누르면 기여"되는 것처럼, build-your-own-x는 "PR 한 줄 = 기여 완료"라는 마찰 없는 흐름을 택했다. 디자인 정교함을 포기한 대신 기여자 수를 얻은 셈.

설계 패턴 2 — 언어 표기 컨벤션 = 마크다운 UX

* [**언어**: _튜토리얼 제목_](URL)
* [**Go**: _Build Your Own Redis from Scratch_](https://...)
* [**Python**: _A 3D Modeller_](http://aosabook.org/...)

언어를 굵게 표시하는 컨벤션 덕분에 독자는 "내가 쓰는 언어 / 배우고 싶은 언어"로 빠르게 필터링한다. 일종의 UX 디자인이 마크다운 컨벤션에 녹아 있는 셈.

설계 패턴 3 — 커뮤니티 워크플로우

사용자 ──┬─── 새 튜토리얼 발견
         │
         ├─── Pull Request로 README.md 한 줄 추가
         │       │
         │       ▼
         │    CodeCrafters 팀 리뷰 (품질 / 중복 / 카테고리)
         │       │
         │       ▼
         │    Merge → 즉시 README에 반영
         │
         └─── 죽은 링크 발견 → Issue 제출 → 정기 정리

CC0 라이선스 → 누구든 자유롭게 fork, 학습자료로 재배포 가능
Trap · 함정
화려한 디자인부터 만들고 싶은 유혹

"이거 진짜 멋진 사이트로 만들면 더 잘 될 텐데" — 이 유혹에 빠지면 본질이 흔들린다. 정작 기여자가 PR을 안 보내게 되면 큐레이션이 시들고, 그 순간 콘텐츠 자체의 가치도 무너진다.

Fix · 해결책
기여 마찰을 최우선으로

"새 항목을 추가하는 데 30초 이상 걸리면 안 된다"는 원칙. README 한 장 + 줄 추가 PR이라는 가장 단순한 흐름이 10년간 콘텐츠를 살아 있게 만들었다.

05 — 디렉토리Repo map

레포 구조 해부

실제 폴더는 의외로 매우 단순하다.

build-your-own-x/
├── README.md          ← 본체. 모든 내용이 여기 있음 (~500줄, 약 46KB)
├── ISSUE_TEMPLATE.md  ← Issue 템플릿 (루트 직배치)
├── .gitattributes
└── codecrafters-banner.png

(끝!)
Analogy · 코드 없는 50만 스타

화려한 기술 스택 없이 50만 스타 + 47,000 포크를 달성한 케이스. 별을 찍는 이유는 코드의 복잡성이 아니라 제공하는 가치의 크기다. "내가 만들 수 있는 작은 리스트가 누군가의 학습 경로를 바꾼다"는 점을 기억하자.

README.md 내부 섹션 구조

# Build your own <insert-technology-here>
  - 인용구: 파인만의 "What I cannot create, I do not understand"
  - 30개 카테고리 목차 (앵커 링크)

## Tutorials
  #### Build your own `Distributed Systems`
    * [Java]: ...
  #### Build your own `3D Renderer`
    * [C++]: ...
    * [Python]: ...
  ... (31개 섹션 반복)
  #### Uncategorized
    * [C]: ...

## Contribute
  - PR 보내는 방법

## Origins & License
  - CC0 라이선스 표기
  - 원작자: Daniel Stefanovic
  - 현재 유지: CodeCrafters, Inc.
06 — 학습 포인트Paths

관심사별 추천 경로

전부 다 할 수는 없으니, 자기 분야에 맞춰 골라 들어가는 법.

AI / LLM 엔지니어 지망

Neural Net → LLM → RAG

  • Neural Network 카테고리 → "A Neural Network in 11 lines of Python"으로 역전파의 본질 체득
  • AI Model 카테고리 → rasbt/LLMs-from-scratch로 GPT 아키텍처 직접 구현
  • 같은 카테고리의 RAG from scratch로 LangChain 내부 동작 학습
  • Karpathy의 Neural Networks: Zero to Hero 영상 시리즈 (Uncategorized에 링크됨)

실습: 위 자료로 만든 미니 LLM을 본인 일기 데이터로 파인튜닝 → "내 글체로 쓰는 챗봇" 만들기

풀스택 웹개발자

React → Web Server → Redis → Git

  • Front-end FrameworkBuild your own React (pomb.us) — 가상DOM/Reconciler를 1주 안에 이해
  • Web ServerBuild Your Own Web Server From Scratch In JavaScript (Node.js)
  • DatabaseBuild Your Own Redis from Scratch (C/C++) — Sorted Set / AOF 동작 체험
  • GitWrite yourself a Git! (Python) — 매일 쓰는 git 명령어의 내부 데이터구조

실습: "내가 만든 React + 내가 만든 Web Server"로 todo 앱 한 페이지 띄워보기 (라이브러리 없이)

DevOps / 시스템 엔지니어

Docker → OS → TCP/IP → Malloc

  • DockerLinux containers in 500 lines of code — cgroups/namespaces 본질
  • Operating SystemWriting an OS in Rust (phil-opp) — 부트로더부터
  • Network StackLet's code a TCP/IP stack — Ethernet/ARP/TCP 한 단계씩
  • Memory AllocatorMalloc is not magic

실습: bocker(100줄 bash로 만든 Docker)를 따라 만들고 네트워크 분리 기능 추가

게임 / 그래픽 개발자

Ray Tracing → Physics → Voxel → VM

  • 3D RendererRay Tracing in One Weekend (C++) — 주말 한 번이면 끝나는 명작
  • Physics EngineHow to Create a Custom Physics Engine 시리즈
  • Voxel Engine → 마인크래프트 스타일 청크 시스템
  • EmulatorWrite your Own Virtual Machine (LC-3) — CPU의 본질 체득

실습: Ray Tracer 1주 만에 완성 → 자기 사진을 ASCII art로 변환하는 미니 렌더러로 확장

07 — 요구사항Setup

하드웨어·시스템 요구사항

대부분 노트북 한 대면 충분하지만, 카테고리별로 다르다.

카테고리최소 사양필요 도구
대부분의 튜토리얼일반 노트북 (RAM 8GB↑)해당 언어의 컴파일러/인터프리터 + 텍스트 에디터
Build your own OSRAM 8GB↑ · Linux/macOS 권장QEMU(에뮬레이터) 필수, GDB 익숙하면 좋음, Windows는 WSL2
Build your own AI Model (LLM)Apple Silicon M2↑ 또는 NVIDIA GPU 8GB↑Python·PyTorch, Colab/Kaggle 무료 GPU도 가능 (속도 ↓)
Build your own ProcessorFPGA 보드 필요Lattice ECP5 또는 Xilinx Arty A7 (10~30만원). Verilator로 보드 없이 시뮬도 가능
Build your own DockerLinux 호스트 (커널 4.x↑)cgroups/namespaces 지원, macOS는 일부 기능 제한
Trap · Windows 사용자 주의

"Build your own OS / Docker / Network Stack" 류는 Linux 커널 기능에 의존한다. Windows에서는 WSL2 (Ubuntu)를 먼저 설치하고 그 안에서 진행하는 게 정신건강에 좋다. macOS도 Docker 관련 튜토리얼은 일부 제약이 있어 Linux VM 권장.

08 — 실습 과제Hands-on

직접 해볼 수 있는 5단계

난이도별 실습 — 입문 → 중급 → 도전.

실습 1 — Slack/Discord 봇Easy

1) Bot 카테고리에서 Python Slack/Discord 튜토리얼 선택 2) 매일 본인 GitHub 커밋 수를 Slack에 알려주는 봇 작성 (단 30~50줄) 3) GitHub API 호출 + 메시지 포맷 4) cron / GitHub Actions로 매일 자동 실행

배우는 것: 외부 API 호출, OAuth 토큰, 스케줄 실행 — 주말 2~3시간.

실습 2 — cowsay 클론 (Go)Easy

1) Command-Line Tool 카테고리에서 Go CLI 튜토리얼 선택 2) 터미널에서 ASCII 소가 말을 거는 그 프로그램을 직접 작성 3) CLI 인자 파싱(flag 패키지), 파이프 입력 처리 4) go build로 단일 바이너리 빌드

배우는 것: CLI 인자 처리, 파일 입출력 기본기, Go 빌드 시스템 — 주말 하루.

실습 3 — Build your own React (pomb.us)Medium

1) Front-end Framework 카테고리에서 pomb.us 튜토리얼 선택 2) Step-by-step으로 createElement → render → 동시성 → Fiber → Reconciliation까지 구현 3) 만든 미니 React로 간단한 counter 앱 띄우기 4) 실제 React 소스코드와 비교

배우는 것: 가상DOM·Fiber·Reconciliation 동작 원리. 그동안 마법으로 느껴졌던 React가 명확해짐 — 1주 (저녁 1~2시간).

실습 4 — Linux containers in 500 LoC (C)Medium

1) Docker 카테고리 → Linux containers in 500 lines of code 선택 2) namespaces / cgroups를 직접 호출해 미니 Docker 작성 3) 격리된 환경에서 bash 실행 → 호스트와 분리된 PID/네트워크 확인 4) 메모리 제한 / CPU 제한 추가

배우는 것: Linux 커널 격리 기능, Docker 동작 원리, k8s 학습의 기초 — 1~2주.

실습 5 — LLMs from scratch (Python)Hard

1) AI Model 카테고리 → rasbt의 책 챕터별로 진행 2) 토크나이저 (BPE) → 어텐션 → 트랜스포머 → GPT-2 크기 모델 직접 구현 3) 본인 일기 데이터로 파인튜닝 4) "내 글체로 쓰는 챗봇" 데모 만들기

배우는 것: 트랜스포머 내부 구조, 파인튜닝 워크플로우. "나는 LLM을 처음부터 만들어 본 사람"이라고 말할 수 있게 됨 — 3~4주.

Trap · 가장 흔한 함정
"카탈로그를 즐기다가 아무것도 못 만들기"

리스트가 너무 길어서 "오 이것도 재밌어 보이네, 저것도..."를 반복하다 정작 하나도 끝까지 못 가는 함정에 빠지기 쉽다. 350개 튜토리얼 다 안 해도 된다.

Fix · 해결책
"한 달에 한 카테고리" 규칙

한 달에 카테고리 하나만 정해서 끝까지 한다. 끝낸 다음에야 다음 항목을 고른다. 1년이면 12개 — 인생 학습 곡선이 완전히 달라진다.

09 — 학습 로드맵12 weeks

12주 심화 학습 로드맵

"직접 만들어보며 풀스택 + AI 기반 다지기" 코스.

Week 01~02
워밍업 — Bot + CLI

Bot 카테고리에서 Discord/Slack 봇 1개 + Go로 CLI 도구 1개. 목표는 "끝까지 만드는 습관" 만들기. 작은 성공 경험이 다음 단계의 연료가 된다.

Week 03~04
웹의 본질 — Build your own React

pomb.us의 Build your own React를 끝까지. 가상DOM/Reconciler 이해 → 평소 React 코드 리뷰 수준이 한 단계 점프한다.

Week 05~06
데이터의 본질 — Build your own Redis (C/C++)

Build Your Own Redis from Scratch 완주. 자료구조·네트워크 IO·persistence 패턴 한 번에 흡수. Supabase/PostgreSQL을 다룰 때 깊이가 달라진다.

Week 07~08
DevOps의 본질 — Build your own Docker

Linux containers in 500 LoC 완주. Kubernetes/Docker Compose 운영 시 "이게 왜 이렇게 동작하지?"의 답을 알게 된다.

Week 09~10
Git의 본질 — Write yourself a Git

Python으로 미니 Git 작성. blob/tree/commit 객체 모델 이해 → merge conflict가 더 이상 무섭지 않게 된다.

Week 11~12
AI의 본질 — Neural Network 11 lines → 미니 GPT

Python 11줄 신경망 → CNN → 미니 GPT. "AI는 마법이 아니다"는 자신감 획득. 다음 단계로 rasbt의 LLMs-from-scratch 책으로 자연스럽게 진입.

10 — 키워드 사전Glossary

핵심 용어 한눈에

레포의 튜토리얼에서 자주 등장하는 용어들.

컴파일러 (Compiler)
한국어 책 → 일본어 책으로 통째로 번역하는 번역가. "한 번 통역하고 그 결과를 보관해두는 사람". C/Go/Rust가 컴파일 언어.
인터프리터 (Interpreter)
실시간 동시통역사. 한 문장 듣고 바로 번역해서 말해준다. Python/JS가 대표적. 즉시 실행 가능하나 속도는 더 느림.
가상DOM (Virtual DOM)
실제 종이에 펜으로 그리기 전 머릿속에서 먼저 그려보는 "스케치판". React는 가상DOM에서 변경점을 계산한 뒤 실제 DOM에는 최소한만 반영.
네임스페이스 (Linux Namespace)
한 아파트 안에서 각 호수의 문이 잠겨 서로의 거실을 볼 수 없게 하는 장치. Docker가 컨테이너를 격리할 때 쓰는 Linux 커널 기능.
cgroups
"이 호수는 전기 1kW까지만 써!"처럼 자원 사용량을 제한하는 검침기. Docker가 메모리/CPU 제한을 거는 메커니즘.
Ray Tracing (레이 트레이싱)
"카메라에서 빛이 거꾸로 출발한다고 가정하고, 어떤 물체에 부딪히는지 따라가는" 렌더링 방식. 〈겨울왕국〉의 얼음 표현이 이걸로.
B+Tree
도서관 책장의 "가나다 색인 시스템"의 컴퓨터 버전. MySQL/PostgreSQL이 인덱스로 쓰는 자료구조. Build your own Database에서 직접 만든다.
RAG (Retrieval-Augmented Generation)
"오픈북 시험" — LLM이 답하기 전에 관련 문서를 먼저 찾아 그걸 보고 답하게 하는 기법. ChatGPT의 최신성 한계 보완.
Backpropagation (역전파)
시험에서 틀린 답을 보고 "어느 챕터의 이해가 부족했나" 거꾸로 되짚어 공부하는 행위. 신경망 학습의 핵심 알고리즘.
Parser Combinator (파서 컴비네이터)
레고 블록을 조합하듯 작은 파서들을 합쳐 복잡한 파서를 만드는 기법. Haskell/Rust 진영의 컴파일러 튜토리얼에서 자주 등장.
CC0 라이선스
"저작권을 전부 포기합니다, 마음껏 쓰세요." MIT/Apache보다 더 자유롭다. build-your-own-x가 채택해서 학습자료에 자유롭게 활용 가능.
큐레이션 (Curation)
박물관 큐레이터가 작품을 골라 전시하듯, 인터넷의 좋은 자료를 골라 정리하는 행위. build-your-own-x의 핵심 가치 제공 방식.
QEMU
CPU·메모리·디바이스 전체를 소프트웨어로 흉내내는 에뮬레이터. 직접 만든 OS를 실제 하드웨어 없이 부팅·디버깅하는 데 필수.
GDB
GNU Debugger. C/C++ 디버거의 표준. 메모리 덤프·중단점·역추적 — OS·메모리 할당자 튜토리얼에 익숙해지면 큰 도움.
Fiber (React)
React 16부터 도입된 새 reconciler. 렌더링을 작은 단위로 쪼개 우선순위에 따라 일시 중단·재개 가능. Build your own React의 핵심 주제.
AOF (Append-Only File)
Redis가 데이터를 영구 저장하는 방식 중 하나. 모든 쓰기 명령을 파일에 순차 기록 → 재시작 시 재실행해 상태 복원.
11 — 참고 링크Refs

더 깊이 파고들 자료

레포 본체 · 베스트 단일 튜토리얼 · 관련 커뮤니티.

레포 · 운영자

베스트 단일 튜토리얼 (강력 추천)

학습 커뮤니티 · 관련 자료

Action · 이번 주에 해볼 것

build-your-own-x를 처음 만났다면 이 순서로 5단계.

  1. 레포 README 한 번 통독. 30개 카테고리를 한 번 쭉 훑어본다. "내가 관심 있는 카테고리 3개"를 표시. 이 단계가 가장 중요 — 욕심 부리지 말고 3개만.
  2. 가장 작은 튜토리얼 하나 완주. Bot 카테고리에서 30~50줄짜리 Slack 봇 같은 거. "끝까지 만드는 경험"이 다음 단계의 연료.
  3. 본인 분야의 "본질" 카테고리 진입. 풀스택이면 Build your own React, DevOps면 Linux containers in 500 LoC, AI면 Neural Network 11 lines. 끝까지 코드를 따라 친다.
  4. "왜 이렇게 동작하는가"를 한 문장으로 적기. 튜토리얼이 끝났으면 노트 한 페이지로 정리. 가상DOM이 왜 필요한가, cgroups가 어떻게 자원을 제한하는가 등을 자기 말로.
  5. 한 달에 카테고리 하나 규칙 시작. 캘린더에 "5월 = React 자체 구현 완주" 같은 식으로 적고 끝낸 다음에 다음 카테고리 고르기. 1년 후엔 12개 기반 기술을 직접 만들어 본 사람이 된다.
원문 · codecrafters-io/build-your-own-x · 2026-05-21 · TrendShift 전체 트렌딩 1위