尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

build-your-own-x 实战:从零造出你自己的技术组件

build-your-own-x 实战:从零造出你自己的技术组件 build-your-own-x 实战从零造出你自己的技术组件【免费下载链接】build-your-own-xMaster programming by recreating your favorite technologies from scratch.项目地址: https://gitcode.com/GitHub_Trending/bu/build-your-own-x文档读了三遍socket 还是连不上问题不在文档在于你还没亲手调通过一条真实连接。build-your-own-x 是一份从零重造你熟悉的技术的实战清单把 Git 到操作系统、30 多个领域共 300 多篇分步教程整理到一处。思路很直接讲不清楚的东西就自己动手造一遍。打开终端先把仓库拉到本地git clone https://gitcode.com/GitHub_Trending/bu/build-your-own-x打开 README.md 就能看到全部任务清单每个领域都有可以直接跟做的分步教程。这个仓库里你能造出什么系统与操作系统操作系统内核、Shell、内存分配器、Docker、Git做完你会明白进程到底是个什么内存是怎么被切出来给程序用的网络与协议TCP/IP 协议栈、HTTP 服务器、WebSocket、BitTorrent做完你会明白连不上时三次握手具体卡在哪一步存储与数据数据库引擎、Redis、搜索引擎、区块链做完你会明白数据凭什么写在磁盘上又怎么被索引找回来编译与语言编程语言、正则引擎、编译器、模板引擎做完你会明白一行源码是怎么变成机器指令的图形与游戏3D 渲染器、物理引擎、体素引擎、模拟器做完你会明白画面上的物体是怎么被一帧帧算出来的5 分钟跑通你的第一个组件 先写一个 12 行的 echo 服务这是能跑的最小数据库import socket s socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((127.0.0.1, 6380)) s.listen(1) print(listening on 6380) while True: c, _ s.accept() c.sendall(c.recv(1024)) c.close()另开一个终端执行nc 127.0.0.1 6380打一行字它会原样弹回来。看到 listening 输出的那一刻你就有了自己的第一个网络服务。从入门到挑战分阶段学习路线阶段推荐任务预期收获入门1~2 小时最小 HTTP 服务器、命令行小工具、正则引擎接住一个请求、解析一组参数看清完整链路进阶几天级从零造数据库、Git、内存分配器弄懂页管理、BTree、内存怎么从系统里抠出来挑战月级操作系统、处理器、3D 渲染器、Web 浏览器造出自己的系统分层明白分层为什么存在常见踩坑与快速排错bind 报 Address already in use端口被占住了加上setsockopt(SO_REUSEADDR)或干脆把端口改成 6381 再试。客户端发了没回音九成是 accept 没跑到或 recv 阻塞住了accept 后打印一下对端地址确认连接真的进来了。教程里的代码报语法错直接改。修掉这些报错的过程本身就是教程的一半。README 里找不到想要的领域翻到文件顶部的目录30 个领域全列在那儿了。收尾今晚就动手README 即完整任务清单想加新教程可以照着仓库里的 ISSUE_TEMPLATE 提一个。挑一个今晚就跑得动的任务吧做完它你自然会想造下一个 ️【免费下载链接】build-your-own-xMaster programming by recreating your favorite technologies from scratch.项目地址: https://gitcode.com/GitHub_Trending/bu/build-your-own-x创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表