codecrafters-io / build-your-own-x

codecrafters-io / build-your-own-x

Build your own This repository is a compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch. What I cannot create, I do not understand — Richard Feynman. It’s a great way to learn.

构建你自己的 <插入技术名称>。本仓库汇集了高质量、循序渐进的指南,旨在教你如何从零开始重构我们喜爱的各项技术。“我无法创造的东西,我就无法理解。”——理查德·费曼(Richard Feynman)。这是学习技术的绝佳方式。


Categories / 分类

3D Renderer, AI Model, Augmented Reality, BitTorrent Client, Blockchain / Cryptocurrency, Bot, Command-Line Tool, Database, Docker, Emulator / Virtual Machine, Front-end Framework / Library, Game, Git, Memory Allocator, Network Stack, Neural Network, Operating System, Physics Engine, Processor, Programming Language, Regex Engine, Search Engine, Shell, Template Engine, Text Editor, Visual Recognition System, Voxel Engine, Web Browser, Web Server, Uncategorized Tutorials.

3D 渲染器、AI 模型、增强现实 (AR)、BitTorrent 客户端、区块链/加密货币、机器人 (Bot)、命令行工具、数据库、Docker、模拟器/虚拟机、前端框架/库、游戏、Git、内存分配器、网络栈、神经网络、操作系统、物理引擎、处理器、编程语言、正则表达式引擎、搜索引擎、Shell、模板引擎、文本编辑器、视觉识别系统、体素引擎 (Voxel Engine)、Web 浏览器、Web 服务器、未分类教程。


Build your own Distributed Systems / 构建分布式系统

  • Java: Building Your Own Kafka-like System From Scratch: A Step-by-Step Guide
    • Java: 从零开始构建你自己的 Kafka 类系统:分步指南

Build your own 3D Renderer / 构建 3D 渲染器

  • C++: Introduction to Ray Tracing: a Simple Method for Creating 3D Images
    • C++: 光线追踪入门:创建 3D 图像的简单方法
  • C++: How OpenGL works: software rendering in 500 lines of code
    • C++: OpenGL 的工作原理:500 行代码实现软件渲染
  • C++: Raycasting engine of Wolfenstein 3D
    • C++: 《德军总部 3D》的光线投射引擎
  • C++: Physically Based Rendering: From Theory To Implementation
    • C++: 基于物理的渲染 (PBR):从理论到实现
  • C++: Ray Tracing in One Weekend
    • C++: 用一个周末完成光线追踪
  • C++: Rasterization: a Practical Implementation
    • C++: 光栅化:实践实现
  • C# / TypeScript / JavaScript: Learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript
    • C# / TypeScript / JavaScript: 学习如何用 C#、TypeScript 或 JavaScript 从零编写 3D 软件渲染引擎
  • Java / JavaScript: Build your own 3D renderer
    • Java / JavaScript: 构建你自己的 3D 渲染器
  • Java: How to create your own simple 3D render engine in pure Java
    • Java: 如何用纯 Java 创建简单的 3D 渲染引擎
  • JavaScript / Pseudocode: Computer Graphics from scratch
    • JavaScript / 伪代码: 从零开始学习计算机图形学
  • Python: A 3D Modeller
    • Python: 3D 建模器

Build your own AI Model / 构建 AI 模型

  • Python: A Large Language Model (LLM)
    • Python: 大语言模型 (LLM)
  • Python: Diffusion Models for Image Generation
    • Python: 用于图像生成的扩散模型 (Diffusion Models)
  • Python: RAG for Document Search
    • Python: 用于文档搜索的 RAG (检索增强生成)

Build your own Augmented Reality / 构建增强现实 (AR)

  • C#: How To: Augmented Reality App Tutorial for Beginners with Vuforia and Unity 3D [video]
    • C#: 教程:使用 Vuforia 和 Unity 3D 的初学者增强现实应用指南 [视频]
  • C#: How To Unity ARCore [video]
    • C#: 如何使用 Unity ARCore [视频]
  • C#: AR Portal Tutorial with Unity [video]
    • C#: Unity AR 传送门教程 [视频]
  • C#: How to create a Dragon in Augmented Reality in Unity ARCore [video]
    • C#: 如何在 Unity ARCore 中创建增强现实龙 [视频]
  • C#: How to Augmented Reality AR Tutorial: ARKit Portal to the Upside Down [video]
    • C#: 增强现实 AR 教程:ARKit 颠倒世界传送门 [视频]
  • Python: Augmented Reality with Python and OpenCV
    • Python: 使用 Python 和 OpenCV 实现增强现实

(Note: Due to the extensive length of the original list, the above represents a selection of the provided content formatted in the requested style.)