프로젝트 소개

build-your-own-x는 잘 쓰인, 손으로 해보는 튜토리얼의 커뮤니티 편집 모음으로, 개발자들이 실제 기술을 처음부터 재구축하는 방법을 안내합니다. 근본적인 철학은 파이넛 방식 학습입니다: 직접 구현함으로써 시스템을 깊이 이해하는 것입니다. ## 다루는 분야 저장소는 기술 도메인으로 구분하여 튜토리얼을 정리합니다. 각 항목은 특정 프로그래밍 언어로 작성된 튜토리얼 또는 기사를 링크합니다. 주요 분야는 다음과 같습니다: - **3D 렌더러** — 레이 트레이싱, 래스터화, OpenGL 소프트웨어 렌더링, PBR - **AI 모델** — LLM, 디퓨전 모델, RAG 파이프라인 - **증강 현실** — Unity ARCore/ARKit 튜토리얼 - **BitTorrent 클라이언트** — bencode 파싱, 페어 프로토콜 - **블록체인 / 암호화폐** — 작업 증명, 스마트 계약, 합의 알고리즘 - **봇** — IRC, Telegram, Discord, Slack, Reddit, Twitter 봇 - **명령줄 도구** — Go, Rust, Zig, Node.js CLI 앱 - **데이터베이스** — KV 저장소, Redis 클론, 그래프 데이터베이스, SQL 엔진 - **도커 / 컨테이너** — C, Go, Python, bash로 구현한 Linux 컨테이너 - **에뮬레이터 / 가상 머신** — CHIP-8, Game Boy, NES 에뮬레이터 - **프론트엔드 프레임워크** — React, Redux, AngularJS, 가상 DOM 재구현 - **게임** — C, C++, C#, Go, Java, JavaScript, Python, Ruby, Rust 게임 개발 - **Git** — git clone, commit, push 재구현 - **메모리 할당자** — 커스텀 malloc 구현 - **네트워크 스택** — TCP/IP 스택, VPN, 가상 스위치 - **신경망** — 퍼셉트론, 다층 퍼셉트론, OCR, 딥러닝 재구현 - **운영체제** — OS 구축 튜토리얼 - **프로세서** — CPU 설계부터 시작 - **프로그래밍 언어** — 언어 및 컴파일러 설계 - **검색 엔진** — 검색 엔진 내부 구조 - **셸** — 자체 셸 구축 - **웹 브라우저** — 브라우저 엔진 구현 - **웹 서버** — HTTP 서버부터 시작 ## 지원 언어 튜토리얼은 C, C++, Go, Python, JavaScript, TypeScript, Rust, Ruby, Java, C#, Haskell, Nim, Kotlin, Scala, Crystal, Common Lisp, R, Lua, Zig 등을 포함한 광범위한 언어를 다룹니다. ## 사용 방법 README의 목차를 탐색하여 깊게 이해하고 싶은 기술을 찾은 다음, 연결된 튜토리얼을 따라하세요. 각 튜토리얼은 오픈소스 커뮤니티가 작성한 독립적이고 단계별 가이드입니다. 저장소: https://github.com/codecrafters-io/build-your-own-x