Об этом проекте
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
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.