108 Commits

Author SHA1 Message Date
riba2534
62437b6886 fix: CI 改用 pnpm 解决 npm 'Exit handler never called' 崩溃
GitHub runner 上 npm install/ci 反复 'Exit handler never called!' 崩溃
(72s 无输出后退出),改用 pnpm 9 + Node 22:
- pnpm/action-setup@v4 + setup-node cache pnpm
- 生成 pnpm-lock.yaml,删除 package-lock.json
- package.json 加 packageManager 字段,scripts 统一 pnpm
2026-06-28 13:28:04 +08:00
riba2534
9566ffd438 fix: CI 改用 Node 20 + 增大内存 + no-fund/no-audit 诊断 npm 崩溃 2026-06-28 13:25:05 +08:00
riba2534
a86196e2ea fix: 修复 CI npm ci 失败改用 npm install + Node 22
- npm ci 在 GitHub runner 上偶发 'Exit handler never called' 错误,
  改用 npm install 更稳健,去掉可能干扰的 npm cache 配置
- Node 20 已 deprecated,升级到 22 LTS
- 同时优化根 README:增加网站链接、徽章、目录、本地运行说明,
  按标准开源项目结构组织
2026-06-28 13:22:57 +08:00
riba2534
c6ddea28fe feat: 新增 VitePress 电子书网站,部署到 Cloudflare Pages
将笔记转化为精美的 VitePress 静态电子书网站:

- site/ 工程目录:构建脚本从 chXX/README.md + .c 源码 + images/ 幂等生成
  19 个章节页 + 96 个源码页(每个 .c 独立页面,Shiki 语法高亮)
- 构建脚本零依赖,处理 3 种代码链接形态(同章/跨章/绝对URL)+
  110 处图片路径转换,保持原 Markdown 结构不变
- 首页 hero 用 AI 生成的网络主题封面图,配套 favicon 多尺寸
- 中文衬线正文排版 + GitHub 风格代码主题 + 本地全文搜索
- GitHub Actions + wrangler 自动部署到 Cloudflare Pages
- 域名 tcp.riba2534.cn

原 chXX/ 目录与根 README 保持不动,网站内容每次构建从源重新生成。
2026-06-28 13:20:32 +08:00
riba2534
5625eea472 docs: 全面校对全部章节文档与示例代码
通过多智能体工作流对 19 章笔记(README.md)与 96 个 .c 示例代码做深度
审查与对抗性验证,修复 317 处确认问题,涵盖:

技术正确性:
- 修复缓冲区溢出:echo_mpserv.c / echo_storeserv.c 等的 read(buf, BUFSIZ)
  改为 BUF_SIZE(buf 仅 30 字节,BUFSIZ 远大于此)
- 修复 open() 缺少 mode 参数:low_open.c / fd_seri.c / desto.c 等
  O_CREAT 调用补 0644(原导致 low_read 链路失败)
- 修复 feof 循环 off-by-one:news_sender.c / echo_stdserv.c 改用 fgets
  返回值判断
- 修复线程竞态:chat_server.c / webserv_linux.c 的 &clnt_sock 栈地址
  传子线程改为 malloc 分配 + free
- 修复索引混淆:char_EPLTserv.c 错用 clnt_sock 查找改为 ep_events[i].data.fd
- 修复格式化符:thread4.c 的 sizeof 用 %d 改为 %zu
- 修正习题答案:ch01 fd 序号、ch13 MSG_OOB 加粗项、ch09 Nagle 等

文档规范:
- 统一术语:IPv4/IPv6、接收(receive)/连接(connection)
- 修正错别字:occured→occurred、cooffee→coffee、Usgae→Usage、
  eerror→error、proess→process 等
- 修复病句、补全习题答案解释
- GitHub 绝对 URL 改为相对路径,统一项目引用规范
- 同步根 README.md(前言 + 19 章合并)

另:重命名 ch10/remove_zomebie.c → remove_zombie.c(修正拼写)

所有 .c 文件经 gcc 编译验证通过(ch17 epoll 文件因 macOS 无 sys/epoll.h
跳过,已人工复核)。
2026-06-28 12:47:46 +08:00
riba2534
a9ef4b6dc4 Merge pull request #33 from riba2534/localize-images
Localize images
v2.0
2026-01-05 19:17:15 +08:00
riba2534
5fd7ee716c fix: 修复根目录 README.md 中 .c 文件的引用路径 2026-01-05 17:25:45 +08:00
riba2534
c307bb9e22 docs: 更新 CLAUDE.md 添加图片目录说明
- 添加根目录 images/ 说明
- 添加图片引用格式规范

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 17:00:15 +08:00
riba2534
a0535654be fix: 将错误命名的 .svg 文件重命名为 .png
- 8 个文件扩展名错误(.svg 但内容是 PNG)
- 已重命名为正确的 .png 扩展名
- 更新所有 README.md 中的图片引用

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 16:53:29 +08:00
riba2534
8670924c21 fix: 重新下载 55 个占位图片为真实图片
- 使用 wget 正确下载所有之前失败的图片
- 所有 110 个图片文件现在都是有效的 PNG 图片
- 移除了所有 HTML 403 错误页面占位符

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 16:48:12 +08:00
riba2534
0d17c981ee chore: 将所有外部图片本地化到仓库
- 下载 110 张外部图片到根目录 images/ 文件夹
- 更新所有 README.md 中的图片引用为统一路径 images/xxx.png
- 55 张图片成功下载(PNG 格式)
- 55 张失效图片创建占位文件(SVG/PNG)
- 移除所有外部图片链接依赖

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 16:34:13 +08:00
riba2534
d44ecdf807 docs: 全面审查并修正所有章节文档内容
- 修正各章节中的错别字和术语错误(如 IPv4 大写规范、接收/接受区分等)
- 补充和完善部分习题答案
- 优化技术描述的准确性和专业性
- 合并所有章节内容到根 README.md

新增文件:
- CLAUDE.md: 项目开发指南
- .claude/agents/content-reviewer.md: 内容审查 subagent
- .claude/agents/merger.md: 文档合并 subagent

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 15:28:29 +08:00
riba2534
f163bca3a9 Merge pull request #30 from JiuMu3/patch-2
Update todes.c
2024-09-26 00:08:01 +08:00
riba2534
3da1dd0a23 Merge pull request #29 from JiuMu3/patch-1
Update stdcpy.c
2024-09-26 00:07:35 +08:00
JiuMu3
99dd590519 Update todes.c 2024-09-25 21:36:31 +08:00
JiuMu3
a03816979c Update stdcpy.c
应当为fopen
2024-09-25 21:28:51 +08:00
riba2534
6f26d90ea6 Merge pull request #25 from hhuzzz/master
修改部分错字
2023-08-04 21:08:40 +08:00
hhuzzz
5f3bd92ef4 修改ch02和ch03错别字 2023-08-04 20:58:51 +08:00
hhuzzz
3e61868312 修改ch02错别字 2023-08-03 13:58:05 +08:00
riba2534
337e83a819 Merge pull request #24 from adoption-loli/master 2023-07-29 00:28:11 +08:00
adoption-loli
173338dc6f 纠错,IP打成了TP 2023-07-29 00:05:13 +08:00
riba2534
7bcf0d114b Merge pull request #13 from shangguanyongshi/master
修改部分错字
2022-08-02 20:47:49 +08:00
上官永石
17ebb75054 修改 ch17 & ch18 错字 2022-08-02 20:42:57 +08:00
上官永石
a6e9849138 修改 ch15 错字 2022-07-30 11:39:31 +08:00
上官永石
8d76ea3be9 修改 ch14 错别字 2022-07-29 11:01:45 +08:00
上官永石
c7428c258c 修改 ch13 错别字 2022-07-26 16:10:19 +08:00
上官永石
c0c529f48c 修改 ch12 错别字 2022-07-26 16:09:55 +08:00
上官永石
59b1ef6dcd 修改 ch11 错别字 2022-07-26 16:09:38 +08:00
上官永石
edc675c41c 修改 ch10 错别字 2022-07-12 21:24:15 +08:00
riba2534
aad42209ac Merge pull request #12 from shangguanyongshi/master
修改部分错字
2022-07-11 16:46:49 +08:00
上官永石
d6161b2d8f 修改 ch08 & ch09 错别字 2022-07-11 16:40:42 +08:00
上官永石
4318901937 修改 ch06 和 ch07 错字 2022-07-06 11:28:42 +08:00
riba2534
7a7d5d45d2 Merge pull request #11 from shangguanyongshi/master
修改部分错字和表述
2022-07-04 21:09:40 +08:00
上官永石
88b459b74b 修改 ch05 错别字 2022-07-04 20:21:03 +08:00
上官永石
3ac4736611 修改 ch04 部分表述 & 修改错别字 2022-07-04 20:20:18 +08:00
上官永石
ceae1e9a24 修改 ch03 部分表述 2022-07-04 20:19:19 +08:00
上官永石
abe41d5c58 修改 ch02 错别字 2022-07-04 20:18:30 +08:00
riba2534
5c81d1cf53 Merge pull request #10 from shangguanyongshi/master
修改 ch04 错字 & 修改部分表述
2022-06-29 23:44:15 +08:00
上官永石
2cbd9cf376 修改 ch04 错字 & 修改部分表述 2022-06-29 23:19:36 +08:00
riba2534
5f76c268d2 Merge pull request #9 from shangguanyongshi/master
修改 ch03 错别字 & 修改部分表述
2022-06-27 17:46:10 +08:00
上官永石
38f813d211 修改 ch03 错别字 & 修改部分表述 2022-06-27 17:03:38 +08:00
riba2534
af732ea15f Merge pull request #8 from caixiongjiang/master
补充课后作业
2022-04-14 18:33:55 +08:00
caixiongjiang
4e8142a987 补充课后作业 2022-04-14 16:28:46 +08:00
riba2534
704226a684 Merge pull request #7 from twyc/master
fix ch14 typo
2021-11-30 20:13:55 +08:00
wangyichao
eb18de980c fix typo 2021-11-30 20:06:13 +08:00
riba2534
72678401a0 Merge pull request #5 from chi199702/master
修改错别字
2021-11-12 14:03:00 +08:00
aBao
d498f95c13 Update README.md
修改错别字
2021-11-12 13:59:32 +08:00
riba2534
2b7f604a52 Merge pull request #4 from LiUzHiAn/fix_typo
fix ch05 typo & update exercise solution
2021-10-07 01:17:42 +08:00
LiUzHiAn
1983a6eaed fix ch05 typo & update exercise solution 2021-09-17 15:14:12 +08:00
riba2534
738fa5100e Merge pull request #2 from igoguojia/master
feat:改正错别字
2021-04-29 15:32:56 +08:00