Об этом проекте

build-your-own-x — это курируемое сообществом собрание качественных практических руководств, которые ведут разработчиков через воссоздание реальных технологий с нуля. Философия подхода основана на методе Фейнмана: глубокое понимание системы достигается через её самостоятельную реализацию. ## Что включено Репозиторий организует руководства по доменам технологий. Каждая запись ссылается на tutorial или статью, написанную на конкретном языке программирования. Наиболее заметные домены: - **3D-рендерер** — трассировка лучей, растеризация, программный рендеринг OpenGL, PBR - **ИИ-модель** — LLM, диффузионные модели, RAG-конвейеры - **Дополненная реальность** — Unity ARCore/ARKit туториалы - **BitTorrent-клиент** — парсинг bencode, протоколы peer-to-peer - **Блокчейн / Криптовалюта** — proof-of-work, смарт-контракты, консенсус - **Бот** — IRC, Telegram, Discord, Slack, Reddit, Twitter боты - **Командная строка (CLI)** — Go, Rust, Zig, Node.js CLI-приложения - **База данных** — KV-хранилища, клоны Redis, графовые БД, SQL-движки - **Docker / Контейнеры** — реализация Linux-контейнеров на C, Go, Python, bash - **Эмулятор / Виртуальная машина** — 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, переосмысление глубокого обучения - **Операционная система** — руководства по созданию ОС - **Процессор** — дизайн CPU с нуля - **Язык программирования** — проектирование языков и компиляторов - **Поисковый движок** — внутреннее устройство поисковых систем - **Оболочка** — создание собственной командной оболочки - **Веб-браузер** — реализация браузера - **Веб-сервер** — HTTP-сервер с нуля ## Представленные языки Руководства охватывают широкий спектр языков: C, C++, Go, Python, JavaScript, TypeScript, Rust, Ruby, Java, C#, Haskell, Nim, Kotlin, Scala, Crystal, Common Lisp, R, Lua, Zig и другие. ## Как использовать Просмотрите оглавление README, найдите технологию, которую хотите понять глубоко, затем следуйте по ссылке на руководство. Каждое руководство — самостоятельное пошаговое описание, созданное open-source сообществом. Репозиторий: https://github.com/codecrafters-io/build-your-own-x