# build-your-own-x **Repository Path**: lwdcode/build-your-own-x ## Basic Information - **Project Name**: build-your-own-x - **Description**: build-your-own-x教程同步与汉化 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/shuyun-zhiwei_0/build-your-own-x/wikis/pages - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2025-06-06 - **Last Updated**: 2025-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![Banner](https://codecrafters.io/images/byox-banner.gif)](https://codecrafters.io/github-banner) ## 构建你自己的 <技术领域> 本仓库汇集了精心编写的分步教程,指导你从零开始复现我们钟爱的技术。 > *我不能创造的东西,我就无法真正理解 —— 理查德·费曼* - [构建你自己的 <技术领域>](#构建你自己的-技术领域) - [教程](#教程) - [3D渲染器](#构建你自己的-3d渲染器) - [增强现实](#构建你自己的-增强现实) - [BitTorrent客户端](#构建你自己的-bittorrent客户端) - [区块链/加密货币](#构建你自己的-区块链加密货币) - [机器人](#构建你自己的-机器人) - [命令行工具](#构建你自己的-命令行工具) - [数据库](#构建你自己的-数据库) - [Docker](#构建你自己的-docker) - [模拟器/虚拟机](#构建你自己的-模拟器虚拟机) - [前端框架/库](#构建你自己的-前端框架库) - [游戏](#构建你自己的-游戏) - [Git](#构建你自己的-git) - [网络协议栈](#构建你自己的-网络协议栈) - [神经网络](#构建你自己的-神经网络) - [操作系统](#构建你自己的-操作系统) - [物理引擎](#构建你自己的-物理引擎) - [编程语言](#构建你自己的-编程语言) - [正则表达式引擎](#构建你自己的-正则表达式引擎) - [搜索引擎](#构建你自己的-搜索引擎) - [Shell](#构建你自己的-shell) - [模板引擎](#构建你自己的-模板引擎) - [文本编辑器](#构建你自己的-文本编辑器) - [视觉识别系统](#构建你自己的-视觉识别系统) - [体素引擎](#构建你自己的-体素引擎) - [网页浏览器](#构建你自己的-网页浏览器) - [Web服务器](#构建你自己的-web服务器) - [未分类](#未分类) - [贡献指南](#贡献指南) - [版权声明](#版权声明) ## 教程 #### 构建你自己的 `3D渲染器` - [**C++**: _光线追踪入门:创建3D图像的简易方法_](https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing/how-does-it-work) - [**C++**: _OpenGL工作原理:500行代码实现软渲染_](https://github.com/ssloy/tinyrenderer/wiki) - [**C++**: _Wolfenstein 3D的射线投射引擎_](http://lodev.org/cgtutor/raycasting.html) - [**C++**: _基于物理的渲染:从理论到实践_](http://www.pbr-book.org/) - [**C++**: _一周学会光线追踪_](https://raytracing.github.io/books/RayTracingInOneWeekend.html) - [**C++**: _光栅化算法实战指南_](https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/overview-rasterization-algorithm) - [**C#/TypeScript/JavaScript**: _使用C#、TypeScript或JavaScript从零编写3D软引擎_](https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/) - [**Java/JavaScript**: _构建你自己的光线追踪器_](https://avik-das.github.io/build-your-own-raytracer/) - [**Java**: _用纯Java创建简易3D渲染引擎_](http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html) - [**JavaScript/伪代码**: _从零开始的计算机图形学_](http://www.gabrielgambetta.com/computer-graphics-from-scratch/introduction.html) - [**Python**: _3D建模器开发实录_](http://aosabook.org/en/500L/a-3d-modeller.html) #### 构建你自己的 `增强现实` - [**C#**: _Vuforia与Unity 3D入门教程:AR应用开发指南_](https://www.youtube.com/watch?v=uXNjNcqW4kY) [视频] - [**C#**: _Unity ARCore开发全攻略_](https://www.youtube.com/playlist?list=PLKIKuXdn4ZMjuUAtdQfK1vwTZPQn_rgSv) [视频] - [**C#**: _Unity AR传送门开发教程_](https://www.youtube.com/playlist?list=PLPCqNOwwN794Gz5fzUSi1p4OqLU0HTmvn) [视频] - [**C#**: _使用Unity ARCore创建AR巨龙_](https://www.youtube.com/watch?v=qTSDPkPyPqs) [视频] - [**C#**: _ARKit异世界传送门开发教程_](https://www.youtube.com/watch?v=Z5AmqMuNi08) [视频] - [**Python**: _OpenCV与Python实现增强现实_](https://bitesofcode.wordpress.com/2017/09/12/augmented-reality-with-python-and-opencv-part-1/) #### 构建你自己的 `BitTorrent客户端` - [**C#**: _C#从零实现BitTorrent客户端_](https://www.seanjoflynn.com/research/bittorrent.html) - [**Go**: _Go语言实现BitTorrent客户端全解析_](https://blog.jse.li/posts/torrent/) - [**Nim**: _Bencode协议解析器开发指南_](https://xmonader.github.io/nimdays/day02_bencode.html) - [**Node.js**: _手写BitTorrent客户端实战_](https://allenkim67.github.io/programming/2016/05/04/how-to-make-your-own-bittorrent-client.html) - [**Python**: _Python 3.5实现BitTorrent客户端_](http://markuseliasson.se/article/bittorrent-in-python/) #### 构建你自己的 `区块链/加密货币` - [**ATS**: _函数式区块链实现_](https://beta.observablehq.com/@galletti94/functional-blockchain) - [**C#**: _C#区块链编程指南_](https://programmingblockchain.gitbooks.io/programmingblockchain/) - [**Crystal**: _Crystal语言实现区块链与工作量证明算法_](https://medium.com/@bradford_hamilton/write-your-own-blockchain-and-pow-algorithm-using-crystal-d53d5d9d0c52) - [**Go**: _Go语言构建区块链系列_](https://jeiwan.net/posts/building-blockchain-in-go-part-1/) - [**Go**: _200行Go代码实现简易区块链_](https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc) - [**Java**: _Java实现首个区块链_](https://medium.com/programmers-blockchain/create-simple-blockchain-java-tutorial-from-scratch-6eeed3cb03fa) - [**JavaScript**: _1500行代码实现加密货币_](https://github.com/conradoqg/naivecoin) - [**JavaScript**: _JavaScript构建区块链指南_](https://github.com/nambrot/blockchain-in-js) - [**JavaScript**: _JavaScript区块链开发全流程_](https://medium.com/digital-alchemy-holdings/learn-build-a-javascript-blockchain-part-1-ca61c285821e) - [**JavaScript**: _JavaScript区块链实现教程_](https://github.com/SavjeeTutorials/SavjeeCoin) - [**JavaScript**: _生产级加密货币开发指南_](https://hackernoon.com/how-to-launch-your-own-production-ready-cryptocurrency-ab97cb773371) - [**JavaScript**: _Node.js区块链开发实战_](https://www.smashingmagazine.com/2020/02/cryptocurrency-blockchain-node-js/) - [**Kotlin**: _Kotlin实现加密货币全解析_](https://medium.com/@vasilyf/lets-implement-a-cryptocurrency-in-kotlin-part-1-blockchain-8704069f8580) - [**Python**: _通过构建区块链学习原理_](https://hackernoon.com/learn-blockchains-by-building-one-117428612f46) - [**Python**: _Python区块链开发教程_](http://ecomunsing.com/build-your-own-blockchain) - [**Python**: _Python实战区块链开发_](http://adilmoujahid.com/posts/2018/03/intro-blockchain-bitcoin-python/) - [**Python**: _极简区块链实现指南_](https://medium.com/crypto-currently/lets-build-the-tiniest-blockchain-e70965a248b) - [**Ruby**: _循序渐进构建区块链_](https://github.com/yukimotopress/programming-blockchains-step-by-step) - [**Scala**: _基于Actor模型的区块链实现_](https://medium.freecodecamp.org/how-to-build-a-simple-actor-based-blockchain-aac1e996c177) - [**TypeScript**: _Naivecoin加密货币开发教程_](https://lhartikk.github.io/) - [**TypeScript**: _PoS共识加密货币实现_](https://naivecoinstake.learn.uno/) - [**Rust**: _Rust与Substrate构建区块链指南_](https://hackernoon.com/building-a-blockchain-in-rust-and-substrate-a-step-by-step-guide-for-developers-kc223ybp) #### 构建你自己的 `机器人` - [**Haskell**: _手写IRC机器人指南_](https://wiki.haskell.org/Roll_your_own_IRC_bot) - [**Node.js**: _Node.js实现Facebook Messenger智能机器人_](https://tutorials.botsfloor.com/creating-a-simple-facebook-messenger-ai-bot-with-api-ai-in-node-js-50ae2fa5c80d) - [**Node.js**: _打造响应式Telegram机器人_](https://www.sohamkamani.com/blog/2016/09/21/making-a-telegram-bot/) - [**Node.js**: _Discord机器人开发指南_](https://discordjs.guide/) - [**Node.js**: _GitHub应用gifbot开发全记录_](https://blog.scottlogic.com/2017/05/22/gifbot-github-integration.html) - [**Node.js**: _Web Speech API与Node.js构建AI聊天机器人_](https://www.smashingmagazine.com/2017/08/ai-chatbot-web-speech-api-node-js/) - [**Python**: _Python实现Slack机器人入门_](https://www.fullstackpython.com/blog/build-first-slack-bot-python.html) - [**Python**: _20分钟用Python和Django构建Slack机器人_](https://medium.com/freehunch/how-to-build-a-slack-bot-with-python-using-slack-events-api-django-under-20-minute-code-included-269c3a9bf64e) - [**Python**: _Reddit机器人开发实战_](http://pythonforengineers.com/build-a-reddit-bot-part-1/) - [**Python**: _Python制作Reddit机器人教程_](https://www.youtube.com/watch?v=krTUf7BpTc0) [视频] - [**Python**: _Python开发Telegram机器人指南_](https://www.freecodecamp.org/news/how-to-create-a-telegram-bot-using-python/) - [**Python**: _Tweepy实现Twitter机器人_](https://medium.freecodecamp.org/creating-a-twitter-bot-in-python-with-tweepy-ac524157a607) - [**Python**: _PRAW库开发Reddit机器人系列_](https://www.youtube.com/playlist?list=PLIFBTFgFpoJ9vmYYlfxRFV6U_XhG-4fpP) [视频] - [**R**: _R语言构建加密货币交易机器人_](https://towardsdatascience.com/build-a-cryptocurrency-trading-bot-with-r-1445c429e1b1) - [**Rust**: _Rust实现《星际争霸》AI机器人_](https://habr.com/en/post/436254/) #### 构建你自己的 `命令行工具` - [**Go**: _Go语言可视化本地Git贡献_](https://flaviocopes.com/go-git-contributions/) - [**Go**: _Go实现lolcat命令行工具_](https://flaviocopes.com/go-tutorial-lolcat/) - [**Go**: _Go实现cowsay命令_](https://flaviocopes.com/go-tutorial-cowsay/) - [**Go**: _Go实现fortune命令克隆_](https://flaviocopes.com/go-tutorial-fortune/) - [**Nim**: _Nim实现dotfiles管理工具_](https://xmonader.github.io/nimdays/day06_nistow.html) - [**Node.js**: _JavaScript开发CLI工具指南_](https://citw.dev/tutorial/create-your-own-cli-tool) - [**Rust**: _Rust命令行应用开发指南_](https://rust-cli.github.io/book/index.html) - [**Rust**: _Rust实现命令行工具实战_](https://mattgathu.dev/2017/08/29/writing-cli-app-rust.html) #### 构建你自己的 `数据库` - [**C**: _从零实现数据库教程_](https://cstack.github.io/db_tutorial/) - [**C++**: _自建Redis数据库指南_](https://build-your-own.org/redis) - [**C#**: _数据库开发实战_](https://www.codeproject.com/Articles/1029838/Build-Your-Own-Database) - [**Clojure**: _考古学启发的数据库设计_](http://aosabook.org/en/500L/an-archaeology-inspired-database.html) - [**Crystal**: _自建NoSQL数据库的意义_](https://medium.com/@marceloboeira/why-you-should-build-your-own-nosql-database-9bbba42039f5) - [**Go**: _从零构建数据库:持久化、索引与并发_](https://build-your-own.org/database/) - [**Go**: _Go语言实现Redis全解析_](https://www.build-redis-from-scratch.dev/) - [**JavaScript**: _内存图数据库Dagoba实现_](http://aosabook.org/en/500L/dagoba-an-in-memory-graph-database.html) - [**Python**: _DBDB狗窝数据库实现_](http://aosabook.org/en/500L/dbdb-dog-bed-database.html) - [**Python**: _Python实现简易Redis服务器_](http://charlesleifer.com/blog/building-a-simple-redis-server-with-python/) - [**Ruby**: _Ruby实现持久化KV存储_](https://dineshgowda.com/posts/build-your-own-persistent-kv-store/) - [**Rust**: _Rust实现Redis客户端与服务端_](https://tokio.rs/tokio/tutorial/setup) #### 构建你自己的 `Docker` - [**C**: _500行代码实现Linux容器_](https://blog.lizzie.io/linux-containers-in-500-loc.html) - [**Go**: _100行Go代码实现容器_](https://www.infoq.com/articles/build-a-container-golang) - [**Go**: _Go语言从零构建容器_](https://www.youtube.com/watch?v=8fi7uSYlOdc) [视频] - [**Python**: _Linux容器开发工作坊:重造Docker_](https://github.com/Fewbytes/rubber-docker) - [**Python**: _Python实现Docker概念验证_](https://github.com/tonybaloney/mocker) - [**Shell**: _100行bash实现Docker核心功能_](https://github.com/p8952/bocker) #### 构建你自己的 `模拟器/虚拟机` - [**C**: _自制字节码解释器指南_](https://medium.com/bumble-tech/home-grown-bytecode-interpreters-51e12d59b25c) - [**C**: _C语言实现虚拟机教程_](http://web.archive.org/web/20200121100942/https://blog.felixangell.com/virtual-machine-in-c/) - [**C**: _从零编写虚拟机指南_](https://justinmeiners.github.io/lc3-vm/) - [**C**: _Game Boy模拟器开发实录_](https://cturt.github.io/cinoop.html) - [**C++**: _CHIP-8模拟器开发教程_](http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/) - [**C++**: _CHIP-8模拟器开发指南_](http://www.codeslinger.co.uk/pages/projects/chip8.html) - [**C++**: _Game Boy模拟器开发系列_](http://www.codeslinger.co.uk/pages/projects/gameboy.html) - [**C++**: _Master System模拟器开发_](http://www.codeslinger.co.uk/pages/projects/mastersystem/memory.html) - [**C++**: _NES模拟器开发全记录_](https://www.youtube.com/playlist?list=PLrOv9FMX8xJHqMvSGB_9G9nZZ_4IgteYf) [视频] - [**Common Lisp**: _Common Lisp实现CHIP-8_](http://stevelosh.com/blog/2016/12/chip8-cpu/) - [**JavaScript**: _JavaScript实现Game Boy模拟器_](http://imrannazar.com/GameBoy-Emulation-in-JavaScript) - [**Python**: _CHIP-8模拟器/解释器开发基础_](http://omokute.blogspot.com.br/2012/06/emulation-basics-write-your-own-chip-8.html) - [**Rust**: _Rust学习实践:0dmg Game Boy模拟器_](https://jeremybanks.github.io/0dmg/) #### 构建你自己的 `前端框架/库` - [**JavaScript**: _解密JSX:手写JSX渲染器_](https://jasonformat.com/wtf-is-jsx/) - [**JavaScript**: _Didact:200行代码实现React核心_](https://github.com/hexacta/didact) - [**TypeScript**: _构建React式响应式系统_](https://dev.to/ryansolid/building-a-reactive-library-from-scratch-1i0p) - [**JavaScript**: _重写Redux:实现时间旅行调试_](https://zapier.com/engineering/how-to-build-redux/) - [**Rust**: _Yew框架原理剖析_](https://dev.to/stevepryde/build-a-frontend-web-app-with-rust-and-yew-3kga) - [**JavaScript**: _Svelte编译器实战_](https://lihautan.com/the-svelte-compiler-handbook/) - [**TypeScript**: _构建Vue 3响应式系统_](https://www.vuemastery.com/blog/lets-build-vue-3-reactivity-system/) - [**JavaScript**: _实现Next.js的SSR架构_](https://blog.logrocket.com/implementing-ssg-ssr-next-js/) - [**C++**: _WebAssembly组件框架开发_](https://medium.com/@torch2424/webassembly-is-in-the-browser-now-what-599059a88792) - [**JavaScript**: _构建Micro-frontends运行时_](https://martinfowler.com/articles/break-monolith-into-micro-frontends.html) - [**TypeScript**: _Three.js渲染管线定制_](https://threejsfundamentals.org/) - [**Rust**: _Bevy ECS游戏框架移植Web_](https://bevy-cheatbook.github.io/) - [**JavaScript**: _构建无框架状态机_](https://xstate.js.org/docs/) - [**WebAssembly**: _从C到Canvas的图形引擎_](https://wasmbyexample.dev/examples/webassembly-c-graphics/webassembly-c-graphics.zh.html) #### 构建你自己的 `游戏` - [**C**: _手工艺英雄_](https://handmadehero.org/) - [**C**: _用C语言编写NES游戏_](https://nesdoug.com/) - [**C**: _C语言实现国际象棋引擎_](https://www.youtube.com/playlist?list=PLZ1QII7yudbc-Ky058TEaOstZHVbT-2hg) [视频] - [**C**: _打造危险戴夫:游戏开发实录_](https://www.youtube.com/playlist?list=PLSkJey49cOgTSj465v2KbLZ7LMn10bCF9) [视频] - [**C**: _C语言游戏编程入门_](https://www.youtube.com/playlist?list=PLT6WFYYZE6uLMcPGS3qfpYm7T_gViYMMt) [视频] - [**C**: _C语言实现数独求解器_](https://www.youtube.com/playlist?list=PLkTXsX7igf8edTYU92nU-f5Ntzuf-RKvW) [视频] - [**C**: _C语言开发Rogue类RPG游戏_](https://www.youtube.com/playlist?list=PLkTXsX7igf8erbWGYT4iSAhpnJLJ0Nk5G) [视频] - [**C**: _俄罗斯方块重构启示录_](https://brennan.io/2015/06/12/tetris-reimplementation/) - [**C++**: _OpenGL实现打砖块游戏_](https://learnopengl.com/In-Practice/2D-Game/Breakout) - [**C++**: _SDL游戏编程入门2.0_](http://lazyfoo.net/tutorials/SDL/) - [**C++**: _跨平台俄罗斯方块游戏逻辑教程_](http://javilop.com/gamedev/tetris-tutorial-in-c-platform-independent-focused-in-game-logic-for-beginners/) - [**C++**: _C++重制洞穴物语_](https://www.youtube.com/watch?v=ETvApbD5xRo&list=PLNOBk_id22bw6LXhrGfhVwqQIa-M2MsLa) [视频] - [**C++**: _洞穴物语重构之旅_](https://www.youtube.com/playlist?list=PL006xsVEsbKjSKBmLu1clo85yLrwjY67X) [视频] - [**C++**: _从零开始打造太空侵略者_](http://nicktasios.nl/posts/space-invaders-from-scratch-part-1.html) - [**C#**: _通过RPG游戏学习C#_](http://scottlilly.com/learn-c-by-building-a-simple-rpg-index/) - [**C#**: _C#开发Roguelike游戏_](https://roguesharp.wordpress.com/) - [**C#**: _WPF框架下的RPG游戏开发_](https://scottlilly.com/build-a-cwpf-rpg/) - [**Go**: _Go语言游戏开发实战_](https://www.youtube.com/playlist?list=PLDZujg-VgQlZUy1iCqBbe5faZLMkA3g2x) [视频] - [**Java**: _Java 2D游戏引擎开发全教程_](https://www.youtube.com/watch?v=025QFeZfeyM) [视频] - [**Java**: _LWJGL 3实现3D游戏开发_](https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/) - [**JavaScript**: _Phaser引擎打造2D打砖块_](https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_breakout_game_Phaser) - [**JavaScript**: _HTML5+Phaser制作像素鸟_](http://www.lessmilk.com/tutorial/flappy-bird-phaser-1) - [**JavaScript**: _React+Redux+SVG游戏开发_](https://auth0.com/blog/developing-games-with-react-redux-and-svg-part-1/) - [**JavaScript**: _从零打造8球台球游戏_](https://www.youtube.com/watch?v=aXwCrtAo4Wc) [视频] - [**JavaScript**: _首个Roguelike游戏制作指南_](https://gamedevelopment.tutsplus.com/tutorials/how-to-make-your-first-roguelike--gamedev-13677) - [**JavaScript**: _程序员思维:JS+HTML+CSS实现贪吃蛇_](https://medium.freecodecamp.org/think-like-a-programmer-how-to-build-snake-using-only-javascript-html-and-css-7b1479c3339e) - [**Lua**: _BYTEPATH开发日志_](https://github.com/SSYGEN/blog/issues/30) - [**Python**: _PyGame游戏开发教程_](https://pythonprogramming.net/pygame-python-3-part-1-intro/) - [**Python**: _Python&Pygame游戏制作_](https://inventwithpython.com/makinggames.pdf) [PDF] - [**Python**: _Roguelike游戏开发修订版_](http://rogueliketutorials.com/) - [**Ruby**: _Ruby游戏开发实践_](https://leanpub.com/developing-games-with-ruby/read) - [**Ruby**: _Ruby贪吃蛇实现_](https://www.diatomenterprises.com/gamedev-on-ruby-why-not/) - [**Rust**: _Rust冒险:基础2D游戏开发_](https://a5huynh.github.io/posts/2018/adventures-in-rust/) - [**Rust**: _Rust+tcod实现Roguelike教程_](https://tomassedovic.github.io/roguelike-tutorial/) #### 构建你自己的 `Git` - [**Haskell**: _Haskell从零实现git clone_](http://stefan.saasen.me/articles/git-clone-in-haskell-from-the-bottom-up/) - [**JavaScript**: _Gitlet版本控制系统实现_](http://gitlet.maryrosecook.com/docs/gitlet.html) - [**JavaScript**: _构建GIT以深入学习GIT_](https://kushagra.dev/blog/build-git-learn-git/) - [**Python**: _极简Git客户端实现:仓库创建与推送_](https://benhoyt.com/writings/pygit/) - [**Python**: _自己动手写Git_](https://wyag.thb.lt/) - [**Python**: _ugit:通过自建Git学习其内部机制_](https://www.leshenko.net/p/ugit/) - [**Ruby**: _Ruby重构Git实现_](https://robots.thoughtbot.com/rebuilding-git-in-ruby) #### 构建你自己的 `网络协议栈` - [**C**: _Beej网络编程指南_](http://beej.us/guide/bgnet/) - [**C**: _从零编写TCP/IP协议栈_](http://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/) - [**C/Python**: _构建VPN/虚拟交换机_](https://github.com/peiyuanix/build-your-own-zerotier) - [**Ruby**: _Ruby实现网络协议栈指南_](https://medium.com/geckoboard-under-the-hood/how-to-build-a-network-stack-in-ruby-f73aeb1b661b) #### 构建你自己的 `神经网络` - [**C#**: _神经网络OCR实现_](https://www.codeproject.com/Articles/11285/Neural-Network-OCR) - [**F#**: _F#构建神经网络_](https://towardsdatascience.com/building-neural-networks-in-f-part-1-a2832ae972e6) - [**Go**: _Go实现多层感知机_](https://made2591.github.io/posts/neuralnetwork) - [**Go**: _Go语言实现简易神经网络_](https://sausheong.github.io/posts/how-to-build-a-simple-artificial-neural-network-with-go/) - [**Go**: _Go语言从零构建神经网络_](https://datadan.io/blog/neural-net-with-go) - [**JavaScript/Java**: _《代码本色》神经网络教程_](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6aCibgK1PTWWu9by6XFdCfh) [视频] - [**JavaScript**: _JavaScript实现感知机_](https://hackernoon.com/neural-networks-from-scratch-for-javascript-linguists-part1-the-perceptron-632a4d1fbad2) - [**Python**: _11行Python实现神经网络_](https://iamtrask.github.io/2015/07/12/basic-python-network/) - [**Python**: _从零实现神经网络_](https://victorzhou.com/blog/intro-to-neural-networks/) - [**Python**: _OCR光学字符识别实战_](http://aosabook.org/en/500L/optical-character-recognition-ocr.html) - [**Python**: _卷积神经网络实现交通标志分类_](https://navoshta.com/traffic-signs-classification/) - [**Python**: _Keras+LSTM生成音乐_](https://towardsdatascience.com/how-to-generate-music-using-a-lstm-neural-network-in-keras-68786834d4c5) - [**Python**: _卷积神经网络入门指南_](https://victorzhou.com/blog/intro-to-cnns-part-1/) - [**Python**: _神经网络:从零到英雄_](https://www.youtube.com/playlist?list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ) #### 构建你自己的 `操作系统` - [**汇编**: _微型x86引导程序开发_](http://joebergeron.io/posts/post_two.html) - [**汇编**: _树莓派操作系统开发指南_](http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/index.html) - [**C**: _软硬件全栈开发实践_](https://www.youtube.com/watch?v=ZjwvMcP3Nf0&list=PLU94OURih-CiP4WxKSMt3UcwMSDM3aTtX) [视频] - [**C**: _操作系统:从0到1_](https://tuhdo.github.io/os01/) - [**C**: _操作系统开发小书_](https://littleosbook.github.io/) - [**C**: _玩具级UNIX类操作系统开发_](http://jamesmolloy.co.uk/tutorial_html/) - [**C**: _内核开发101:从零编写内核_](https://arjunsreedharan.org/post/82710718100/kernel-101-lets-write-a-kernel) - [**C**: _内核开发201:支持键盘与显示的内核_](https://arjunsreedharan.org/post/99370248137/kernel-201-lets-write-a-kernel-with-keyboard) - [**C**: _ARM多任务微内核开发_](https://github.com/jserv/mini-arm-os) - [**C**: _从零构建操作系统教程_](https://github.com/cfenollosa/os-tutorial) - [**C**: _内存分配器实现指南_](https://danluu.com/malloc-tutorial/) - [**C**: _深入虚拟内存管理_](https://blog.holbertonschool.com/hack-the-virtual-memory-c-strings-proc/) - [**C**: _基于树莓派的Linux内核开发_](https://github.com/s-matyukevich/raspberry-pi-os) - [**C**: _傻瓜式操作系统开发指南_](https://medium.com/@lduck11007/operating-systems-development-for-dummies-3d4d786e8ac) - [**C++**: _从零编写操作系统系列_](https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M) [视频] - [**C++**: _引导程序开发实战_](http://3zanders.co.uk/2017/10/13/writing-a-bootloader/) - [**Rust**: _Rust编写操作系统指南_](https://os.phil-opp.com/) - [**Rust**: _RISC-V Rust操作系统教程_](https://osblog.stephenmarz.com/) - [**通用**: _Linux From Scratch构建指南_](https://linuxfromscratch.org/lfs) #### 构建你自己的 `物理引擎` - [**C**: _游戏物理引擎教程_](https://www.toptal.com/game/video-game-physics-part-i-an-introduction-to-rigid-body-dynamics) - [**C++**: _Allen Chou的游戏物理系列_](http://allenchou.net/game-physics-series/) - [**C++**: _自定义物理引擎开发指南_](https://gamedevelopment.tutsplus.com/series/how-to-create-a-custom-physics-engine--gamedev-12715) - [**C++**: _3D物理引擎开发教程_](https://www.youtube.com/playlist?list=PLEETnX-uPtBXm1KEr_2zQ6K_0hoGH6JJ0) [视频] - [**JavaScript**: _物理引擎工作原理_](http://buildnewgames.com/gamephysics/) - [**JavaScript**: _空间分割广相碰撞检测_](http://buildnewgames.com/broad-phase-collision-detection/) - [**JavaScript**: _JavaScript 2D物理引擎实现_](https://developer.ibm.com/tutorials/wa-build2dphysicsengine/?mhsrc=ibmsearch_a&mhq=2dphysic) #### 构建你自己的 `编程语言` - [**通用**: _mal - 自制Lisp解释器_](https://github.com/kanaka/mal#mal---make-a-lisp) - [**汇编**: _Jonesforth实现解析_](https://github.com/nornagon/jonesforth/blob/master/jonesforth.S) - [**C**: _手写垃圾回收器入门_](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/) - [**C**: _构建你自己的Lisp语言_](http://www.buildyourownlisp.com/) - [**C**: _C语言实现简易垃圾回收_](http://maplant.com/gc.html) - [**C**: _自举C语言解释器_](https://github.com/lotabout/write-a-C-interpreter) - [**C**: _Jack Crenshaw编译器开发C/x86实现_](https://github.com/lotabout/Let-s-build-a-compiler) - [**C**: _编译器开发全流程解析_](https://github.com/DoctorWkt/acwj) - [**C++**: _Flex实现编译器开发_](https://gnuu.org/2009/09/18/writing-your-own-toy-compiler/) - [**C++**: _如何创建编译器_](https://www.youtube.com/watch?v=eF9qWbuQLuw) [视频] - [**C++**: _LLVM实现Kaleidoscope语言_](https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html) - [**F#**: _解析器组合子深入解析_](https://fsharpforfunandprofit.com/posts/understanding-parser-combinators/) - [**Elixir**: _解密编译器:自建编译器指南_](https://www.youtube.com/watch?v=zMJYoYwOCd4) [视频] - [**Go**: _超小型编译器实现_](https://github.com/hazbo/the-super-tiny-compiler) - [**Go**: _Go语言词法分析实战_](https://www.youtube.com/watch?v=HxaD_trXwRE) [视频] - [**Haskell**: _从零构建编译器_](https://g-ford.github.io/cradle/) - [**Haskell**: _编写你自己的Haskell_](http://dev.stephendiehl.com/fun/) - [**Haskell**: _48小时实现Scheme语言_](https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours) - [**Haskell**: _Scheme语言实现指南_](https://www.wespiser.com/writings/wyas/home.html) - [**Java**: _手工打造解释器_](http://www.craftinginterpreters.com/) - [**Java**: _Enkel语言开发实录_](http://jakubdziworski.github.io/categories.html#Enkel-ref) - [**JavaScript**: _超小型编译器实现_](https://github.com/jamiebuilds/the-super-tiny-compiler) - [**JavaScript**: _超小型解释器实现_](https://github.com/keyanzhang/the-super-tiny-interpreter) - [**JavaScript**: _微型Lisp解释器_](https://maryrosecook.com/blog/post/little-lisp-interpreter) - [**JavaScript**: _JavaScript实现编程语言指南_](http://lisperator.net/pltut/) - [**JavaScript**: _Let's Go编写Lisp语言_](https://idiocy.org/lets-go-write-a-lisp/part-1.html) - [**OCaml**: _C语言编译器开发指南_](https://norasandler.com/2017/11/29/Write-a-Compiler.html) - [**OCaml**: _Lisp语言实现系列_](https://bernsteinbear.com/blog/lisp/) - [**Pascal**: _从零构建编译器_](https://compilers.iecc.com/crenshaw/) - [**Python**: _Python实现的Python解释器_](http://aosabook.org/en/500L/a-python-interpreter-written-in-python.html) - [**Python**: _lisp.py:自制Lisp解释器_](http://khamidou.com/compilers/lisp.py/) - [**Python**: _Python实现Lisp解释器指南_](http://norvig.com/lispy.html) - [**Python**: _从零构建解释器系列_](https://ruslanspivak.com/lsbasi-part1/) - [**Python**: _自制解释型编程语言_](https://www.youtube.com/watch?v=dj9CBS3ikGA&list=PLZQftyCk7_SdoVexSmwy_tBgs7P0b97yD&index=1) [视频] - [**Python**: _从源码到机器码:编译器开发指南_](https://build-your-own.org/compiler/) - [**Racket**: _优雅的Racket语言开发指南_](https://beautifulracket.com/) - [**Ruby**: _从零构建编译器_](https://www.destroyallsoftware.com/screencasts/catalog/a-compiler-from-scratch) - [**Ruby**: _Ruby实现Markdown编译器_](https://blog.beezwax.net/2017/07/07/writing-a-markdown-compiler/) - [**Rust**: _语言虚拟机开发指南_](https://blog.subnetzero.io/post/building-language-vm-part-00/) - [**Rust**: _Rust解析器组合子教程_](https://bodil.lol/parser-combinators/) - [**Swift**: _Swift实现Lisp语言_](https://www.uraimo.com/2017/02/05/building-a-lisp-from-scratch-with-swift/) - [**TypeScript**: _构建WebAssembly编译器_](https://blog.scottlogic.com/2019/05/17/webassembly-compiler.html) #### 构建你自己的 `正则表达式引擎` - [**C**: _正则表达式匹配器实现_](https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html) - [**C**: _正则表达式匹配的简单与高效_](https://swtch.com/~rsc/regexp/regexp1.html) - [**Go**: _从零构建正则引擎_](https://rhaeguard.github.io/posts/regex) - [**JavaScript**: _40行代码实现正则引擎_](https://nickdrane.com/build-your-own-regex/) - [**JavaScript**: _使用导数实现函数式正则_](http://dpk.io/dregs/toydregs) - [**JavaScript**: _正则表达式引擎实现指南_](https://deniskyashif.com/2019/02/17/implementing-a-regular-expression-engine/) - [**Perl**: _正则表达式工作原理_](https://perl.plover.com/Regex/article.html) - [**Python**: _回溯/NFA/DFA正则引擎实现_](https://build-your-own.org/b2a/r0_intro) - [**Scala**: _正则表达式无魔法解析_](https://rcoh.svbtle.com/no-magic-regular-expressions) #### 构建你自己的 `搜索引擎` - [**CSS**: _纯CSS实现搜索引擎_](https://stories.algolia.com/a-search-engine-in-css-b5ec4e902e97) - [**Python**: _Redis构建搜索引擎实战_](http://www.dr-josiah.com/2010/07/building-search-engine-using-redis-and.html) - [**Python**: _Python实现向量空间索引引擎_](https://boyter.org/2010/08/build-vector-space-search-engine-python/) - [**Python**: _Python搜索引擎开发教程_](https://www.youtube.com/watch?v=cY7pE7vX6MU) [视频] - [**Python**: _基于反馈的文本搜索优化_](https://medium.com/filament-ai/making-text-search-learn-from-feedback-4fe210fd87b0) - [**Python**: _TF-IDF关键词提取实战_](https://stevenloria.com/tf-idf/) #### 构建你自己的 `Shell` - [**C**: _C语言编写Shell教程_](https://brennan.io/2015/01/16/write-a-shell-in-c/) - [**C**: _从零构建Shell工作坊_](https://github.com/kamalmarhubi/shell-workshop) - [**C**: _UNIX Shell开发指南_](https://indradhanush.github.io/blog/writing-a-unix-shell-part-1/) - [**C**: _构建你自己的Shell_](https://github.com/tokenrove/build-your-own-shell) - [**C**: _C语言实现Shell教程_](https://danishpraka.sh/posts/write-a-shell/) - [**Go**: _Go语言实现简易Shell_](https://sj14.gitlab.io/post/2018-07-01-go-unix-shell/) - [**Rust**: _Rust构建Shell指南_](https://www.joshmcguigan.com/blog/build-your-own-shell-rust/) #### 构建你自己的 `模板引擎` - [**JavaScript**: _20行JavaScript实现模板引擎_](http://krasimirtsonev.com/blog/article/Javascript-template-engine-in-just-20-line) - [**JavaScript**: _深入JavaScript微模板_](https://medium.com/wdstack/understanding-javascript-micro-templating-f37a37b3b40e) - [**Python**: _Python玩具模板引擎实现_](http://alexmic.net/building-a-template-engine/) - [**Python**: _模板引擎开发实录_](http://aosabook.org/en/500L/a-template-engine.html) - [**Ruby**: _30行代码实现模板引擎_](http://bits.citrusbyte.com/how-to-write-a-template-library/) #### 构建你自己的 `文本编辑器` - [**C**: _从零构建文本编辑器_](https://viewsourcecode.org/snaptoken/kilo/) - [**C++**: _简易文本编辑器设计指南_](http://www.fltk.org/doc-1.1/editor.html) - [**Python**: _Python文本编辑器开发教程_](https://www.youtube.com/watch?v=xqDonHEYPgA) [视频] - [**Python**: _Python打造简易文本编辑器_](http://www.instructables.com/id/Create-a-Simple-Python-Text-Editor/) - [**Ruby**: _Rails实现协作式文本编辑器_](https://blog.aha.io/text-editor/) - [**Rust**: _Hecto:Rust实现文本编辑器_](https://www.flenker.blog/hecto/) #### 构建你自己的 `视觉识别系统` - [**Python**: _Python实现车牌识别系统_](https://medium.com/devcenter/developing-a-license-plate-recognition-system-with-machine-learning-in-python-787833569ccd) - [**Python**: _TensorFlow实现人脸识别系统_](https://hackernoon.com/building-a-facial-recognition-pipeline-with-deep-learning-in-tensorflow-66e7645015b8) #### 构建你自己的 `体素引擎` - [**C++**: _体素引擎开发指南_](https://sites.google.com/site/letsmakeavoxelengine/home) - [**Java**: _Java体素引擎开发教程_](https://www.youtube.com/watch?v=QZ4Vk2PkPZk&list=PL80Zqpd23vJfyWQi-8FKDbeO_ZQamLKJL) [视频] #### 构建你自己的 `网页浏览器` - [**Rust**: _从零构建浏览器引擎_](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) - [**Python**: _浏览器工程开发指南_](https://browser.engineering) #### 构建你自己的 `Web服务器` - [**C#**: _从零编写Web服务器_](https://www.codeproject.com/Articles/859108/Writing-a-Web-Server-from-Scratch) - [**Node.js**: _JavaScript实现Web服务器_](https://build-your-own.org/webserver/) - [**Node.js**: _Node.js流式Web服务器开发_](https://www.codementor.io/@ziad-saab/let-s-code-a-web-server-from-scratch-with-nodejs-streams-h4uc9utji) - [**Node.js**: _Express框架实现指南_](https://github.com/antoaravinth/lets-build-express) - [**PHP**: _纯PHP实现Web服务器_](http://station.clancats.com/writing-a-webserver-in-pure-php/) - [**Python**: _简易Web服务器开发实录_](http://aosabook.org/en/500L/a-simple-web-server.html) - [**Python**: _从零构建Web服务器_](https://ruslanspivak.com/lsbaws-part1/) - [**Python**: _Web应用开发全流程_](https://defn.io/2018/02/25/web-app-from-scratch-01/) - [**Python**: _Python实现基础HTTP服务器_](http://joaoventura.net/blog/2017/python-webserver/) - [**Python**: _Flask实现RESTful API_](http://blog.luisrei.com/articles/flaskrest.html) - [**Ruby**: _Ruby实现WebSocket服务器_](http://blog.honeybadger.io/building-a-simple-websockets-server-from-scratch-in-ruby/) #### 未分类 - [**通用**: _从与非门到俄罗斯方块:计算机系统构建_](http://nand2tetris.org/) - [**Alloy**: _同源策略实现解析_](http://aosabook.org/en/500L/the-same-origin-policy.html) - [**C**: _1000行代码实现视频播放器_](http://dranger.com/ffmpeg/ffmpeg.html) - [**C**: _C语言哈希表实现指南_](https://github.com/jamesroutley/write-a-hash-table) - [**C**: _终端模拟器基础实现_](https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html) - [**C**: _Linux系统调用开发指南_](https://brennan.io/2016/11/14/kernel-dev-ep3/) - [**C**: _MQTT代理服务器实现_](https://codepr.github.io/posts/sol-mqtt-broker) - [**C++**: _200美元自制VR头显_](https://github.com/relativty/Relativ) - [**C++**: _X窗口管理器开发指南_](https://seasonofcode.com/posts/how-x-window-managers-work-and-how-to-write-one-part-i.html) - [**C++**: _Linux调试器开发系列_](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/) - [**C++**: _64KB程序开发揭秘_](http://www.lofibucket.com/articles/64k_intro.html) - [**C++**: _游戏引擎开发系列教程_](https://www.youtube.com/playlist?list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT) [视频] - [**C#**: _C#网络编程全指南_](https://16bpp.net/tutorials/csharp-networking) - [**C#**: _C#实现3D骨骼动画渲染_](https://www.seanjoflynn.com/research/skeletal-animation.html) - [**Clojure**: _拼写检查器实现指南_](https://bernhardwenzel.com/articles/clojure-spellchecker/) - [**Go**: _100行Go实现终端模拟器_](https://ishuah.com/2021/03/10/build-a-terminal-emulator-in-100-lines-of-go/) - [**Go**: _Go实现负载均衡器_](https://kasvith.me/posts/lets-create-a-simple-lb-go/) - [**Go**: _视频编码原理实现_](https://github.com/kevmo314/codec-from-scratch) - [**Java**: _Android版Reddit客户端开发_](https://www.youtube.com/playlist?list=PLgCYzUzKIBE9HUJU-upNvl3TRVAo9W47y) [视频] - [**JavaScript**: _模块打包器实现指南_](https://github.com/ronami/minipack) - [**JavaScript**: _Promise实现原理解析_](https://levelup.gitconnected.com/understand-javascript-promises-by-building-a-promise-from-scratch-84c0fd855720) - [**JavaScript**: _TDD方式实现Promise_](https://www.mauriciopoppe.com/notes/computer-science/computation/promises/) - [**JavaScript**: _实现call/apply/bind方法_](https://blog.usejournal.com/implement-your-own-call-apply-and-bind-method-in-javascript-42cc85dba1b) - [**JavaScript**: _JavaScript算法与数据结构_](https://github.com/trekhleb/javascript-algorithms) - [**JavaScript**: _React Native打车应用开发_](https://pusher.com/tutorials/ride-hailing-react-native) - [**JavaScript**: _10分钟实现广告拦截器_](https://levelup.gitconnected.com/building-your-own-adblocker-in-literally-10-minutes-1eec093b04cd) - [**Kotlin**: _轻量级缓存实现_](https://github.com/kezhenxu94/cache-lite) - [**Lua**: _CDN系统实现指南_](https://github.com/leandromoreira/cdn-up-and-running) - [**Nim**: _Redis协议解析器开发_](https://xmonader.github.io/nimdays/day12_resp.html) - [**Nim**: _构建系统实现指南_](https://xmonader.github.io/nimdays/day11_buildsystem.html) - [**Nim**: _迷你测试框架开发_](https://xmonader.github.io/nimdays/day08_minitest.html) - [**Nim**: _DMIDecode解析器开发_](https://xmonader.github.io/nimdays/day01_dmidecode.html) - [**Nim**: _INI文件解析器实现_](https://xmonader.github.io/nimdays/day05_iniparser.html) - [**Nim**: _异步链接检查器开发_](https://xmonader.github.io/nimdays/day04_asynclinkschecker.html) - [**Nim**: _短链接服务实现_](https://xmonader.github.io/nimdays/day07_shorturl.html) - [**Node.js**: _40行代码实现静态网站生成器_](https://www.webdevdrops.com/en/build-static-site-generator-nodejs-8969ebe34b22/) - [**Node.js**: _Node实现单点登录系统_](https://codeburst.io/building-a-simple-single-sign-on-sso-server-and-solution-from-scratch-in-node-js-ea6ee5fdf340) - [**Node.js**: _Node命令行工具开发指南_](https://medium.freecodecamp.org/how-to-create-a-real-world-node-cli-app-with-node-391b727bbed3) - [**Node.js**: _Node实现DNS服务器_](https://engineerhead.github.io/dns-server/) - [**PHP**: _PHP实现MVC框架_](https://chaitya62.github.io/2018/04/29/Writing-your-own-MVC-from-Scratch-in-PHP.html) - [**PHP**: _自制博客系统指南_](https://ilovephp.jondh.me.uk/en/tutorial/make-your-own-blog) - [**PHP**: _无框架现代PHP开发_](https://kevinsmith.io/modern-php-without-a-framework) - [**PHP**: _PHP搜索引擎实现_](https://boyter.org/2013/01/code-for-a-search-engine-in-php-part-1/) - [**Python**: _深度学习库实现指南_](https://www.youtube.com/watch?v=o64FV-ez6Gw) [视频] - [**Python**: _5分钟实现移动文档扫描仪_](https://www.pyimagesearch.com/2014/09/01/build-kick-ass-mobile-document-scanner-just-5-minutes/) - [**Python**: _持续集成系统开发_](http://aosabook.org/en/500L/a-continuous-integration-system.html) - [**Python**: _Python推荐系统入门_](https://www.datacamp.com/community/tutorials/recommender-systems-python) - [**Python**: _Scikit-learn实现短信过滤_](https://medium.com/@kopilov.vlad/detect-sms-spam-in-kaggle-with-scikit-learn-5f6afa7a3ca2) - [**Python**: _基于内容推荐引擎实现_](http://blog.untrod.com/2016/06/simple-similar-products-recommendation-engine-in-python.html) - [**Python**: _LSTM股票预测实战_](https://www.datacamp.com/community/tutorials/lstm-python-stock-market) - [**Python**: _GAN生成对抗网络实现_](https://blog.paperspace.com/implementing-gans-in-tensorflow/) - [**Python**: _决策树算法实现解析_](https://lethalbrains.com/learn-ml-algorithms-by-coding-decision-trees-439ac503c9a4) - [**Python**: _JSON解码算法实现_](https://github.com/cheery/json-algorithm) - [**Python**: _Python实现Git插件_](https://joshburns-xyz.vercel.app/posts/build-your-own-git-plugin) - [**Ruby**: _现实世界计步器开发_](http://aosabook.org/en/500L/a-pedometer-in-the-real-world.html) - [**Ruby**: _Ruby实现Linux桌面应用_](https://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby) - [**Rust**: _Rust实现DNS服务器_](https://github.com/EmilHernvall/dnsguide/blob/master/README.md) - [**Rust**: _Rust实现聊天服务_](https://nbaksalyar.github.io/2015/07/10/writing-chat-in-rust.html) - [**Rust**: _WebGL水效果实现指南_](https://www.chinedufn.com/3d-webgl-basic-water-tutorial/) - [**TypeScript**: _迷你包管理器实现_](https://github.com/g-plane/tiny-package-manager) ## 贡献指南 - 欢迎提交PR,或[创建issue](https://github.com/codecrafters-io/build-your-own-x/issues/new) - 协助审核[待审提交](https://github.com/codecrafters-io/build-your-own-x/issues)并提供反馈 ## 版权声明 本仓库由Admin在[CodeCrafters, Inc.](https://codecrafters.io)基础上二次汉化而成,采用GPL-2.0协议,使用者须遵循此协议。 ## 注意:根据CC0协议,[CodeCrafters, Inc.](https://codecrafters.io)已放弃所有版权及相关权利