<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>MoIu Home · 博客</title><description>XiaoMo 的个人主页：文章、小游戏与在线工具。</description><link>https://www.moiu.cn/</link><language>zh-CN</language><item><title>PCL2 关掉 MC 下载：启动器被打回工具原形</title><link>https://www.moiu.cn/zh/blog/mc-launcher-download-shutdown/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/mc-launcher-download-shutdown/</guid><description>10 月 20 日，PCL 与 HMCL 几乎同时关掉了中国大陆的 MC 下载功能。本文整理已确认的时间线、官方口径与未经证实的传闻，并说明它对玩家和启动器生态意味着什么。</description><pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate><category>游戏</category><category>工具</category></item><item><title>Astro 7.4.2 把内容同步从 60 秒压到 1 秒内：只是换了一种数宽度的办法</title><link>https://www.moiu.cn/zh/blog/astro-742-content-sync/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/astro-742-content-sync/</guid><description>4.4 万条内容的 chunked 存储，切块步骤从约 60 秒降到 1 秒以内，输出字节完全一致。这次改的不是算法，是「怎么知道一个字符占几个字节」。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>Astro</category><category>性能</category><category>建站</category></item><item><title>Bun 1.4.4 塞进一个格式化器：跑 Prettier 的仓库 59 毫秒，快 286 倍</title><link>https://www.moiu.cn/zh/blog/bun-144-fmt/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/bun-144-fmt/</guid><description>bun fmt 直接兼容 Prettier 配置与插件，在 Prettier 自己的仓库上 59.7 毫秒对 17.1 秒，内存 48 MB 对 459 MB。真正值得看的是它怎么证明自己「输出一致」：逐字节比对加语义回归检查。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>性能</category><category>后端</category></item><item><title>Deno 2.9.8 里最该看的一条：它开始不信任被攻破的 eMudhra 根证书</title><link>https://www.moiu.cn/zh/blog/deno-298/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/deno-298/</guid><description>这个补丁版 13 条修复，一半是权限与沙箱边角，一半是 Node 兼容层的语义对齐。其中「不再信任被攻破的 eMudhra CA」这条，和同期 uv、CPython 的处理连成一条线。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>后端</category><category>工具</category></item><item><title>Electron 45 上 Chromium 156、Node 24.22、V8 15.6：破坏性变更都在沙箱边界上</title><link>https://www.moiu.cn/zh/blog/electron-45/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/electron-45/</guid><description>v45.0.0 的破坏性变更集中在三处：沙箱预加载脚本不再有 events/timers/url 与 Buffer 等全局、iframe 里创建的 Worker 不再自动拿到 Node、扩展页面不再无条件注入预加载脚本。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>性能</category><category>后端</category></item><item><title>Home Assistant 2026.10.3 的补丁清单：集成修复占八成，剩下的在追基础设施</title><link>https://www.moiu.cn/zh/blog/home-assistant-2026103/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/home-assistant-2026103/</guid><description>这个补丁版三十来条改动里，绝大多数是具体集成的 bug（Proxmox、UniFi Access、Sensibo、KNX、FRITZ!SmartHome…），其余是 Python 3.14.8、uv 一路升到 0.13.5、runner 换 Ubuntu 26.04 这类底座更新。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>后端</category><category>工具</category></item><item><title>llama.cpp 的第 11899 号构建：给多模态客户端一个「问它支持什么」的接口</title><link>https://www.moiu.cn/zh/blog/llama-cpp-b11899/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/llama-cpp-b11899/</guid><description>b11899 是每日构建，主要改动只有一条：mtmd 增加 get_capabilities，能报出音频流、参考音色、文本生成等能力，同时保留旧接口兼容。构建号本身说明这个项目的节奏。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>后端</category><category>性能</category></item><item><title>Node 三条线同一天发安全版：11 个 CVE，5 个高危，两个在 tls、一个在 dns</title><link>https://www.moiu.cn/zh/blog/node-26121-security/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/node-26121-security/</guid><description>10 月 21 日 Node 同时发 26.12.1、24.22.1、22.23.4，修 11 个 CVE。高危集中在 tls 与 dns 的输入解析，另有两条权限模型的边角修复，以及根证书换到 NSS 3.131.1。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>后端</category><category>漏洞分析</category></item><item><title>Ollama 0.40.11 开始出声：macOS 本地语音生成，加一套只会回答「是/否/打分」的决策模型</title><link>https://www.moiu.cn/zh/blog/ollama-04011-speech/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/ollama-04011-speech/</guid><description>这个版本两件事：ollama run 能在 macOS 上边生成边播放语音，并暴露 OpenAI 兼容的 /v1/audio/speech；另外引入 d3 决策模型族，专门做分类、判断与概率打分。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>后端</category></item><item><title>Redis 三线同日发安全版：集群总线传播超过 4GB 的消息会堆溢出</title><link>https://www.moiu.cn/zh/blog/redis-8103-cluster/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/redis-8103-cluster/</guid><description>8.10.3、8.8.4、8.6.8 修同一个问题：cluster 模式下通过总线传播大于 4GB 的 PUBLISH/SPUBLISH 消息会堆溢出。影响面窄，但触发条件里有值得记住的东西。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>后端</category><category>漏洞分析</category></item><item><title>Ruff 0.17.2：新增一条「正则不必重复编译」的预览规则，外加一批误报修复</title><link>https://www.moiu.cn/zh/blog/ruff-0172/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/ruff-0172/</guid><description>这个补丁版主要修误报：星号约束的类型变量、pydocstyle 的反斜杠转义、pylint 对星号元素的判断；另外把删除注释的修复标记为不安全，并做了两处性能优化。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>性能</category><category>后端</category></item><item><title>Traefik 3.7.16：ForwardAuth 终于支持 NTLM 与 Kerberos，同时修一个 CVE</title><link>https://www.moiu.cn/zh/blog/traefik-3716/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/traefik-3716/</guid><description>这个补丁版两件事：修 GHSA-hrpp-p4fc-wwf8 对应的漏洞；让 ForwardAuth 与 ingress-nginx 的 auth-url 支持 NTLM/Kerberos。后者解决的是「企业内网 SSO 挂在网关后面就登不上」的老问题。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>后端</category><category>安全</category><category>工具</category></item><item><title>TypeScript 7.1 Beta：ambient 模块终于能声明 import attributes，还顺手把 target 推到 es2026</title><link>https://www.moiu.cn/zh/blog/typescript-71-beta/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/typescript-71-beta/</guid><description>7.1 Beta 有六节内容：ambient 模块的 import attributes、source phase imports、--target es2026、新库方法、7.1 的 API（快照 / 文件系统 / content mappers）与若干行为变更。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>后端</category><category>性能</category></item><item><title>uv 0.13.5：换掉被攻破的根证书，顺手把托管的 CPython 升到三个安全补丁版</title><link>https://www.moiu.cn/zh/blog/uv-0135-cpython/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/uv-0135-cpython/</guid><description>0.13.4 从 uv 自己的证书库里删掉 eMudhra/emSign 根，0.13.5 把托管的 CPython 3.11+ 全部换到 python-build-standalone 20261021，含 3.15.1 / 3.14.9 / 3.13.17 与 pip 26.2.2。升级后要跑一次 uv python upgrade。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>后端</category><category>安全</category><category>工具</category></item><item><title>Vite 8.3.5 一半的修复在 bundled-dev：把 dev 也打包这条路还在补课</title><link>https://www.moiu.cn/zh/blog/vite-835/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/vite-835/</guid><description>21 条修复里 8 条属于 bundled-dev（HMR 传播、错误栈映射、server.origin、import.meta.env 注入），另两条是 chunk import map 的正确性问题，还有一条是 CSS 里字面百分号导致构建失败。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>建站</category><category>性能</category><category>工具</category></item><item><title>Vue 3.6 的第 13 个候选版：八条修复里有七条在 Vapor 编译器里</title><link>https://www.moiu.cn/zh/blog/vue-36-rc13-vapor/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/vue-36-rc13-vapor/</guid><description>3.6.0-rc.13 的更新清单几乎全指向 compiler-vapor，另外还有一条把异步组件的 200ms 默认延迟改回去了。这两件事说明 Vapor 还在补语义等价，而默认值也是 API。</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>Vue</category><category>性能</category><category>建站</category></item><item><title>BeyondTrust Remote Support 认证绕过已在野利用，CISA 把它拉进 KEV</title><link>https://www.moiu.cn/zh/blog/beyondtrust-cve-2026-102764/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/beyondtrust-cve-2026-102764/</guid><description>CVE-2026-102764 是 BeyondTrust Remote Support 的认证绕过，影响 26.2.3 及更早版本，10 月 16 日被列入 KEV。这篇讲影响面、补丁路径与自查线索。</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>Python 3.15 落地：UTF-8 成了默认，frozendict 进内建，JIT 再快一档</title><link>https://www.moiu.cn/zh/blog/python-315/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/python-315/</guid><description>Python 3.15.0 于 10 月 9 日发布，含 5643 个提交、1012 位贡献者。按「会改你代码行为」的顺序，讲清 UTF-8 默认、惰性导入、frozendict 与 JIT。</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate><category>后端</category><category>性能</category><category>工具</category></item><item><title>Safari TP 254：calc-size() 来了，size 简写也来了</title><link>https://www.moiu.cn/zh/blog/safari-tp-254/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/safari-tp-254/</guid><description>Safari Technology Preview 254 于 10 月 8 日发布，CSS 侧补上 calc-size()、size 与单边圆角简写，渲染侧给 macOS 加了实时捏合缩放。</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate><category>CSS</category><category>性能</category></item><item><title>Servo 0.6 把 CSS Grid 默认打开了，一堆网站终于对版</title><link>https://www.moiu.cn/zh/blog/servo-css-grid/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/servo-css-grid/</guid><description>Servo 0.6.0 把 8 月的 417 个提交打包发布，CSS Grid 从实验开关变成默认能力。这篇挑出发布说明里真正影响页面观感与写法的几条。</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate><category>CSS</category><category>性能</category></item><item><title>Zig 0.17：语法开始冻结，构建系统被拆成两半</title><link>https://www.moiu.cn/zh/blog/zig-017/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/zig-017/</guid><description>Zig 0.17.0 于 10 月 2 日发布，5 个月、206 位贡献者、925 次提交。这篇挑出会打断编译的语法改动、标准库重命名与构建系统的结构性变化。</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate><category>性能</category><category>工具</category><category>后端</category></item><item><title>Cloudflare 三小时 5xx：一次配置变更如何打穿半个互联网</title><link>https://www.moiu.cn/zh/blog/cloudflare-outage/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cloudflare-outage/</guid><description>2025 年 11 月 18 日，Cloudflare 的核心代理在约三小时里持续返回 5xx，大量网站跟着躺下。官方复盘给出的根因是一次内部配置变更，不是攻击。真正值得记的是它的传播方式。</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>性能</category><category>建站</category></item><item><title>CSS 有了 if()：条件样式不用再靠媒体查询叠罗汉</title><link>https://www.moiu.cn/zh/blog/css-if-function/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/css-if-function/</guid><description>Chrome 137 起支持 CSS 的 if() 函数，可以在任意属性值里写条件分支，按自定义属性、媒体查询或特性支持来选择值。它不替代媒体查询，但能把大量重复的样式块收成一行。</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>MCP Inspector 的 9.4 分漏洞：会执行命令的开发工具，不该裸奔在 0.0.0.0</title><link>https://www.moiu.cn/zh/blog/mcp-inspector-cve/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/mcp-inspector-cve/</guid><description>0.14.1 之前的 MCP Inspector 在客户端与代理之间没有鉴权，未认证请求就能借 stdio 启动 MCP 命令，CVSS 打到 9.4。这不是&quot;开发工具无所谓&quot;，而是本地代理类工具的通病。</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>Node.js 24 进入 LTS：Krypton 管到 2028，升级前先看这几个变化</title><link>https://www.moiu.cn/zh/blog/nodejs-24-lts/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/nodejs-24-lts/</guid><description>Node.js 24 在 2025 年 10 月 28 日转为 LTS，代号 Krypton，维护到 2028 年 4 月。V8 13.6、npm 11、权限模型稳定、require(esm) 默认开启，升级前有几个真实的坑要先知道。</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>后端</category><category>工具</category></item><item><title>PHP 两个 9.2 分 RCE：官方说的根因，和公开 PoC 演示的不是一条路</title><link>https://www.moiu.cn/zh/blog/php2shell-poc/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/php2shell-poc/</guid><description>10 月 21 日 PHP 修掉 CVE-2026-109618 与 109619（CVSS 9.2），次日社区就放出了 PoC。这篇讲清 longjmp 与 stale global state 两条根因，附可复现的靶场与 PoC，以及这个 PoC 与官方描述对不上的地方。</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category><category>后端</category></item><item><title>PostgreSQL 18：异步 I/O 把读盘拉快三倍，uuidv7 终于进主线</title><link>https://www.moiu.cn/zh/blog/postgresql-18/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/postgresql-18/</guid><description>PostgreSQL 18 在 2025 年 9 月发布，新的异步 I/O 子系统让部分读场景快了三倍，uuidv7() 与虚拟生成列进了主线，OAuth 2.0 认证也补上了。这篇说清哪些升级理由是真的。</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>后端</category></item><item><title>CVSS 10.0 的 React 漏洞：一个请求就能在服务器上执行代码</title><link>https://www.moiu.cn/zh/blog/react-server-components-rce/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/react-server-components-rce/</guid><description>React Server Components 的 payload 解码缺陷被评到 10.0 满分，未认证的远程代码执行。受影响的是 react-server-dom-* 的四个版本，修好的只有三个。这篇说清谁中招、怎么查、怎么补。</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>一个被改写的 tag：两万多个仓库的密钥进了构建日志</title><link>https://www.moiu.cn/zh/blog/tj-actions-supply-chain/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tj-actions-supply-chain/</guid><description>2025 年 3 月，tj-actions/changed-files 的版本 tag 被指向恶意提交，CI 里的 token 被打印进日志。CVE-2025-30066 不是&quot;某个包被投毒&quot;，而是 tag 可变这个默认习惯的账单。</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>TLS 证书只剩 47 天：自动续期从&quot;最好有&quot;变成&quot;必须有&quot;</title><link>https://www.moiu.cn/zh/blog/tls-47-day-certs/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tls-47-day-certs/</guid><description>CA/Browser Forum 的 SC-081 把证书最长寿命一路压到 47 天，2026 年 3 月起先降到 200 天，2029 年到 47 天。手动换证书的运维方式正式进入倒计时。</description><pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>建站</category></item><item><title>CVSS 4.0 的 9.2 分在说什么，以及它没说三件事</title><link>https://www.moiu.cn/zh/blog/cvss-v4-reading-a-9-2/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cvss-v4-reading-a-9-2/</guid><description>今天 PHP 那两个漏洞都是 CVSS v4.0 9.2。这个分数是筛选器，不是优先级——它衡量漏洞本身的严重性，不衡量你的资产、你的暴露面，也不衡量修它要停多久业务。</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>八个中级 CA 的私钥，全是小于 256 的整数</title><link>https://www.moiu.cn/zh/blog/emudhra-eight-intermediate-keys/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/emudhra-eight-intermediate-keys/</guid><description>有人用 CCADB 的证书语料跑了一遍扫描，发现 eMudhra 八个中级 CA 的私钥能被直接枚举出来——它们生成时是 0 到 255 之间的整数。昨天 Mozilla 决定紧急吊销 emSign ECC Root CA - G3。</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>PHP 今天 14:00 UTC 修两个 9.2 分漏洞：在那之前能做的三件事</title><link>https://www.moiu.cn/zh/blog/php-critical-release-2026-10-21/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/php-critical-release-2026-10-21/</guid><description>PHP 官方在 10 月 20 日晚发预警，说 10 月 21 日 14:00 UTC 会发一个安全版本，修两个 CVSS v4.0 都是 9.2 的严重漏洞。细节要等发布，但排班和回滚预案现在就能定。</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category><category>后端</category></item><item><title>三天 12 条 PHP 相关 CVE，没有一条出在 PHP 本身</title><link>https://www.moiu.cn/zh/blog/php-cves-are-not-in-php/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/php-cves-are-not-in-php/</guid><description>我在 NVD 里按 PHP 关键词拉了 10 月 19 到 21 日的通告，12 条全是插件、CMS 和库的问题。这比&quot;PHP 又有漏洞了&quot;更值得警惕，因为它说明你的风险清单根本不在语言上。</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>后端</category></item><item><title>十个开源游戏、48 MB：自托管第三方游戏要付的三种代价</title><link>https://www.moiu.cn/zh/blog/self-hosting-open-source-games/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/self-hosting-open-source-games/</guid><description>我把十个 MIT/公有领域的 HTML5 游戏原样搬进了这个静态站，总计 48.4 MB。真正花时间的不是搬文件，是许可证、体积和&quot;它们本来从 CDN 加载&quot;这三件事。</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate><category>游戏</category><category>建站</category><category>性能</category></item><item><title>三维场景什么时候才该开始加载</title><link>https://www.moiu.cn/zh/blog/scene-webgl-lifecycle/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/scene-webgl-lifecycle/</guid><description>一个页面里塞十四座 Three 场景，关键不是画得快，而是「什么时候才开始下载」。这里记两道闸、一次 SPA 换页的翻车，以及卸载时漏掉的 WebGL 上下文。</description><pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate><category>Astro</category><category>性能</category></item><item><title>CVE-2026-99999：Debian 内核里那个能逃出虚拟机的 IPv4 校验和 bug</title><link>https://www.moiu.cn/zh/blog/cve-2026-99999-debian/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cve-2026-99999-debian/</guid><description>Debian 安全跟踪页把 CVE-2026-99999 标成 Linux 内核 IPv4 校验和校验缺失，攻击者可从 Guest 逃到 KVM 宿主。bookworm 修在 6.1.190-1，trixie 修在 6.12.113-1。</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><category>漏洞分析</category><category>Debian</category><category>安全</category></item><item><title>扒了 DeepSeek 官方榜单：V4.1 Flash-1017 到底强在哪</title><link>https://www.moiu.cn/zh/blog/deepseek-v4-1-flash-1017/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/deepseek-v4-1-flash-1017/</guid><description>我把 DeepSeek 官方更新日志里的基准表、性能-费用图和四个案例图全扒下来对照了一遍。结论是：这次更新主要补的是&quot;动手干活&quot;的能力，价格没涨，但长任务仍然会失败。</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><category>大模型</category><category>性能</category></item><item><title>华容道：先写判定，再写动画</title><link>https://www.moiu.cn/zh/blog/klotski-as-data/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/klotski-as-data/</guid><description>滑块游戏的难点不在棋盘画得多好看，而在「这一块能不能挪过去」。把 4×5 的棋盘压成占位表，判定只剩三行；最少步数用 BFS，别用 A*。</description><pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>873 个漏洞、54 款大模型：2026 年大模型安全众测报告读后</title><link>https://www.moiu.cn/zh/blog/cert-2026-llm-security-report/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cert-2026-llm-security-report/</guid><description>2467 名白帽子测了 25 家厂商的 54 款大模型与智能体，挖出 873 个漏洞，其中 608 个是大模型/智能体特有。提示注入仍排第一，API Key 硬编码能一次泄露 239 个模型的密钥。</description><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><category>大模型</category><category>安全</category><category>漏洞分析</category></item><item><title>Next.js 十月安全补丁：三个洞，两个能远程执行</title><link>https://www.moiu.cn/zh/blog/nextjs-react-oct-2026-rce/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/nextjs-react-oct-2026-rce/</guid><description>10 月中旬 Next.js / React 连发三个漏洞：图片处理 RCE、use cache RCE、Server Action 拒绝服务。补丁是带外的，自托管 next start 的人别等下一个版本号。</description><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category><category>建站</category></item><item><title>接水管：让每一张地图都一定有解</title><link>https://www.moiu.cn/zh/blog/pipes-spanning-tree/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/pipes-spanning-tree/</guid><description>随机撒管道很容易做出无解地图。用随机生成树铺一遍，再把每格随机转九十度——可解性由构造保证，玩家只需要转回来。</description><pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>智能体的身份比它的能力更危险</title><link>https://www.moiu.cn/zh/blog/agent-identity-abuse-2026/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/agent-identity-abuse-2026/</guid><description>大模型众测报告里，智能体身份与权限滥用、目标劫持占了两类。多智能体委托链路、上下文记忆缺陷、伪造工具返回，都能让低权限 Agent 拿到高权限凭证。这篇讲清楚 confused deputy 在 Agent 时代怎么复现。</description><pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate><category>大模型</category><category>安全</category><category>智能体</category></item><item><title>用 CSS 做半调网点与套印错位</title><link>https://www.moiu.cn/zh/blog/css-halftone/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/css-halftone/</guid><description>印刷感不是滤镜，是三个可量化的东西：网点角度、套印偏移、油墨透明度。用 repeating-conic-gradient 和 mask 拼出来，全程不加图片。</description><pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>提示注入排第一，但真正的问题是我们还在把数据当指令</title><link>https://www.moiu.cn/zh/blog/prompt-injection-2026/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/prompt-injection-2026/</guid><description>2026 年大模型安全众测里，提示注入仍是最常见的漏洞。它难修不是因为模型笨，而是因为系统没有&quot;数据&quot;和&quot;指令&quot;的边界。我梳理了一条真实可复现的攻击链和几条能落地的防御。</description><pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate><category>大模型</category><category>安全</category></item><item><title>从 PwnEscape 看 Agent 沙箱：microVM 不是绝对边界</title><link>https://www.moiu.cn/zh/blog/agent-sandbox-escape-pwnescape/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/agent-sandbox-escape-pwnescape/</guid><description>PwnEscape 利用 virtio-net/TAP 的 L2/L3 偏移错配，从 Guest 打到 KVM 宿主，编号 CVE-2026-99999。它提醒所有跑 Agent 沙箱的人：把不可信代码关进 microVM，前提是宿主内核没有能被 Guest 打穿的路径。</description><pubDate>Fri, 16 Oct 2026 00:00:00 GMT</pubDate><category>漏洞分析</category><category>大模型</category><category>智能体</category></item><item><title>239 个模型的密钥，一个硬编码变量</title><link>https://www.moiu.cn/zh/blog/llm-api-key-leak-2026/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/llm-api-key-leak-2026/</guid><description>大模型众测报告里最刺眼的例子：某产品把云平台 239 个模型的 API Key 硬编码在前端。密钥泄露不是新问题，但大模型把它放大了——一个 key 背后是一整片模型和一张账单。这篇讲怎么扫、怎么管、怎么轮换。</description><pubDate>Fri, 16 Oct 2026 00:00:00 GMT</pubDate><category>大模型</category><category>安全</category></item><item><title>双语静态站的站内搜索：Pagefind 的取舍</title><link>https://www.moiu.cn/zh/blog/pagefind-bilingual/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/pagefind-bilingual/</guid><description>静态站没有后端，搜索只能在构建时把索引烘进产物。Pagefind 适合这里，但它对中文不分词、构建日志还会刷一行「不支持词干」——都不是 bug。</description><pubDate>Fri, 16 Oct 2026 00:00:00 GMT</pubDate><category>建站</category><category>性能</category></item><item><title>CDN 是怎么把内容搬到你家门口的</title><link>https://www.moiu.cn/zh/blog/cdn-edge/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cdn-edge/</guid><description>你打开一个托管在弗吉尼亚的站点，图片却可能来自天津的某台机器。这篇讲 CDN 的三件事、为什么缓存命中率是唯一重要的指标、边缘节点除了缓存还能干什么，以及 CDN 为什么非要挤进互联网交换中心。</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>网络</category><category>性能</category></item><item><title>写古典密码工具时容易踩的三个坑</title><link>https://www.moiu.cn/zh/blog/classical-ciphers/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/classical-ciphers/</guid><description>凯撒、维吉尼亚、Atbash 看起来都是「查表移位」，但大小写、非字母字符和密钥对齐这三处一旦处理错，结果会静默地不对。</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>安全</category></item><item><title>数据中心的电从哪来</title><link>https://www.moiu.cn/zh/blog/data-center-power/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/data-center-power/</guid><description>数据中心最怕的不是宕机，是断电。这篇讲从市电到机柜的完整链路、UPS 的三种拓扑、柴油发电机为什么必须在十秒内启动、2N 和 N+1 的区别，以及 PUE 这个数字是怎么被玩坏的。</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>基础设施</category><category>电子</category></item><item><title>Debian DSA-6045：递归解析器被污染，DNSSEC 也会失效</title><link>https://www.moiu.cn/zh/blog/debian-dsa-6045-pdns-recursor/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/debian-dsa-6045-pdns-recursor/</guid><description>Debian 给 pdns-recursor 发了 DSA-6045-1，修的是 CVE-2026-52690 与同批问题：攻击者可以伪造应答，让递归解析器把权威服务器标记为&quot;不支持 EDNS&quot;，从而让该服务器的 DNSSEC 校验失败。</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>Debian</category><category>漏洞分析</category><category>安全</category></item><item><title>NTP 与时间同步：互联网的心跳</title><link>https://www.moiu.cn/zh/blog/network-time-sync/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/network-time-sync/</guid><description>你手机上的时间和服务器上的时间，差多少算正常？这篇讲 NTP 怎么用四个时间戳算出差值、stratum 层级为什么会退化、闰秒为什么这么难缠，以及时间一旦被污染会出什么事。</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>网络</category><category>基础设施</category></item><item><title>光刻机：把电路印在硅片上</title><link>https://www.moiu.cn/zh/blog/photolithography/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/photolithography/</guid><description>现代芯片上最小的结构只有几纳米，比多数病毒还小。它不是被刻出来的，是被光照出来的。这篇讲光刻的四步循环、决定分辨率的瑞利判据、193 纳米走到尽头后的多重曝光，以及 EUV 为什么这么难。</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>基础设施</category><category>电子</category></item><item><title>HTTP/3 与 QUIC：为什么这次要绕开 TCP</title><link>https://www.moiu.cn/zh/blog/quic-http3/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/quic-http3/</guid><description>HTTP/3 是第一个不跑在 TCP 上的 HTTP。这篇讲 TCP 的队头阻塞到底卡在哪、QUIC 把哪些东西搬进了用户态、连接迁移是怎么做到的，以及换协议要付什么代价。</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>网络</category><category>性能</category></item><item><title>海底光缆：互联网的物理骨架</title><link>https://www.moiu.cn/zh/blog/undersea-cables/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/undersea-cables/</guid><description>你访问的每一个海外站点，数据大概率穿过海底的光纤。这篇讲海缆的物理结构、它有多脆弱、谁在铺，以及为什么卫星替代不了它。</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>网络</category><category>基础设施</category></item><item><title>数据中心的散热：从吹风到泡澡</title><link>https://www.moiu.cn/zh/blog/data-center-cooling/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/data-center-cooling/</guid><description>AI 机柜的功率密度已经越过风冷的能力上限。这篇讲数据中心为什么必须换散热方式，以及风冷、冷板液冷和浸没式液冷各自的代价。</description><pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate><category>基础设施</category><category>性能</category></item><item><title>GEO 操纵：当大模型的答案被搜索结果排序决定</title><link>https://www.moiu.cn/zh/blog/geo-manipulation-ai-search/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/geo-manipulation-ai-search/</guid><description>DeepSeek 开放搜索 API 时特意提到过滤 SEO 作弊、GEO 操纵和低质 AIGC。GEO 是&quot;生成式引擎优化&quot;——不是优化网页排名，而是优化&quot;被模型引用&quot;的概率。这篇讲它怎么工作、为什么难防、以及内容站该怎么应对。</description><pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate><category>大模型</category><category>安全</category></item><item><title>低轨卫星互联网：把基站搬到天上</title><link>https://www.moiu.cn/zh/blog/satellite-internet/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/satellite-internet/</guid><description>星链在轨卫星已过一万一千颗。低轨星座把延迟压到几十毫秒，但它也把轨道碎片、天文观测和容量经济学的问题一起搬上了天。</description><pubDate>Tue, 13 Oct 2026 00:00:00 GMT</pubDate><category>网络</category><category>基础设施</category></item><item><title>升到 Astro 7：Rust 编译器很快，但真正卡住我的是冷缓存</title><link>https://www.moiu.cn/zh/blog/astro-7-upgrade/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/astro-7-upgrade/</guid><description>Astro 7 把编译器与 Markdown 管线换成 Rust、打包器换成 Rolldown，构建确实快了一截。这篇记我升级时真正卡住的那三件事，以及为什么构建通过从来不等于能跑。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>Astro</category><category>性能</category><category>建站</category></item><item><title>CSS 开始有函数和条件了：@function 与 if()</title><link>https://www.moiu.cn/zh/blog/css-functions-and-conditionals/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/css-functions-and-conditionals/</guid><description>CSS 新增的 @function 与 if() 把「一个组件多种状态」从媒体查询复制粘贴里解放出来。两者都还没到 Baseline，但值得先看懂它们替代了什么。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>HTTP 终于有了带 body 的安全方法：QUERY</title><link>https://www.moiu.cn/zh/blog/http-query-method/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/http-query-method/</guid><description>GET 不能带 body，POST 又不敢重试 —— 查询接口被这个两难卡了二十年。IETF 的 QUERY 草案给出了第三个选项：安全、幂等、且能带请求体。这篇讲它解决什么、代价是什么、现在能不能用。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>后端</category><category>建站</category></item><item><title>互联网交换点：流量在哪里换手</title><link>https://www.moiu.cn/zh/blog/internet-exchange/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/internet-exchange/</guid><description>你的数据从自家宽带出发，经过若干运营商，最后在某个交换点换手。这篇讲 IXP 是什么、peering 与 transit 的区别，以及为什么交换点决定了带宽价格。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>网络</category><category>基础设施</category></item><item><title>无猜扫雷：怎么保证每一局都能靠推理走完</title><link>https://www.moiu.cn/zh/blog/no-guess-minesweeper/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/no-guess-minesweeper/</guid><description>扫雷最烦的不是踩雷，是踩到一颗只能靠运气的雷。这篇讲生成器怎么用「先解一遍再发牌」保证整局可推理，以及为什么这件事比看起来贵。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>后量子 TLS 已经进了你的握手，但它只解决了一半</title><link>https://www.moiu.cn/zh/blog/post-quantum-tls/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/post-quantum-tls/</guid><description>浏览器与 CDN 现在默认协商 X25519MLKEM768 这类混合密钥交换，&quot;先存后解&quot;的威胁基本被堵上。没解决的是签名那一半——证书链正在变胖。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>后端</category></item><item><title>text-box-trim 能用了：把标题上下的空白削掉</title><link>https://www.moiu.cn/zh/blog/text-box-trim/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/text-box-trim/</guid><description>行盒总比字高，标题上方那半行空白一直靠负 margin 硬抠。Baseline 之后 text-box-trim 一次修好，代价是接受它按字体度量裁切。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>第九巡回法院：AI 生成的代码不是 DMCA 意义上的「复制」</title><link>https://www.moiu.cn/zh/blog/doe-v-github-dmca-1202/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/doe-v-github-dmca-1202/</guid><description>2026 年 9 月 16 日，第九巡回法院在 Doe v. GitHub 案中维持驳回 DMCA 第 1202 条的署名主张，认为生成式 AI 的输出不构成该条下的「复制」。</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>工具</category></item><item><title>MCP 2026-07-28：把会话删掉，协议变回无状态</title><link>https://www.moiu.cn/zh/blog/mcp-stateless-core/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/mcp-stateless-core/</guid><description>MCP 新规范删掉了 initialize 握手与 Mcp-Session-Id，把跨调用状态改成显式的服务端句柄。这篇梳理这次改动动了什么、为什么，以及对已经写了 MCP 服务端的人意味着什么。</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate><category>后端</category><category>安全</category></item><item><title>Node.js 26 进入 LTS：升级这件事，别等平台替你决定</title><link>https://www.moiu.cn/zh/blog/node-26-lts/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/node-26-lts/</guid><description>Node.js 26 在 10 月 6 日被确认为 LTS，10 月 7 日发布 26.11.0 与 26.11.1；与此同时，Node.js 20 正在被各大托管平台逐步移除。</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate><category>后端</category><category>工具</category></item><item><title>Artex 转为闭源：安全工具被滥用之后，作者还能做什么</title><link>https://www.moiu.cn/zh/blog/artex-closed-source/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/artex-closed-source/</guid><description>一款 AI 驱动的渗透测试工具被指与韩国多家金融机构的数据泄露有关，作者宣布停止更新并转为闭源。开源安全工具的责任边界，又一次被推到台前。</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>GhostAction：把恶意工作流推进数万个仓库</title><link>https://www.moiu.cn/zh/blog/ghostaction-actions-secrets/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/ghostaction-actions-secrets/</guid><description>攻击者劫持维护者账号，往仓库注入伪装成安全审计的 GitHub Actions 工作流，扫遍整个 git 历史偷凭证。到 10 月 9 日，已有 500 多个账号、数万个仓库被卷入。</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>工具</category></item><item><title>Harness 收购 Augment Code：AI 编码工具开始收拢</title><link>https://www.moiu.cn/zh/blog/harness-augment-cosmos/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/harness-augment-cosmos/</guid><description>Harness 拿下 Augment Code 的资产，包括协调多个 Agent 的 Cosmos 平台、Auggie CLI 与 Code Context Engine，把 AI 编码并进交付流水线。</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>后端</category></item><item><title>PostgreSQL 19：REPACK、WAIT 和计划器终于可以被劝了</title><link>https://www.moiu.cn/zh/blog/postgres-19/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/postgres-19/</guid><description>PostgreSQL 19 把 VACUUM FULL 与 CLUSTER 合并成 REPACK，加了等备库追平的 WAIT 命令，还给了两个能固定执行计划的扩展。这篇挑我真正关心的几条，顺带记下三个会咬人的不兼容改动。</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><category>后端</category><category>性能</category></item><item><title>黄仁勋跳迈克尔·杰克逊：当爆款视频不再需要真实</title><link>https://www.moiu.cn/zh/blog/ai-video-authenticity/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/ai-video-authenticity/</guid><description>一段约 86 秒的 AI 二创「黄仁勋世界巡演」在国内外刷屏，马斯克也下场调侃。它有趣，但也把「这段视频是真的吗」变成了日常问题。</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>安全</category></item><item><title>Chrome 155：JPEG XL 回来了，后量子算法进了 Web Crypto</title><link>https://www.moiu.cn/zh/blog/chrome-155-jpeg-xl/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/chrome-155-jpeg-xl/</guid><description>Chrome 155 稳定版支持直接解码 JPEG XL，用的是 Rust 写的 jxl-rs；Web Crypto API 同时加入 ML-KEM、ML-DSA 等后量子算法。</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate><category>CSS</category><category>性能</category><category>安全</category></item><item><title>npm 包被投毒：一次 postinstall 能带走多少凭证</title><link>https://www.moiu.cn/zh/blog/npm-shai-hulud-tensorlake/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/npm-shai-hulud-tensorlake/</guid><description>2026 年 10 月，tensorlake 的 0.5.144 被植入 Shai-Hulud 蠕虫，目标是 npm、GitHub、云厂商与 AI 服务的凭证。供应链攻击的门槛，已经低到一次账号失守。</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category><category>工具</category></item><item><title>Rust 1.96 的 Range 类型：把 Copy 从迭代器手里拿回来</title><link>https://www.moiu.cn/zh/blog/rust-196-range-types/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/rust-196-range-types/</guid><description>Range 一直不是 Copy，因为它自己实现了 Iterator。Rust 1.96 稳定了一套新的 Range 类型：只实现 IntoIterator，于是可以 Copy。这篇讲这个区分为什么重要，以及它什么时候会改掉你熟悉的语法。</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate><category>Rust</category><category>算法</category></item><item><title>AI Agent 串起两个零日：DIVD 被攻破的几秒钟</title><link>https://www.moiu.cn/zh/blog/ai-agent-zammad-zero-day/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/ai-agent-zammad-zero-day/</guid><description>一个自主 AI Agent 把 Zammad 的两个零日漏洞串成完整攻击链，拿下以协调漏洞披露为业的 DIVD。攻击的节奏，第一次不再由人决定。</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>SQLite 3.53：修掉一个 WAL 损坏 bug，顺手给 CLI 换了套表格</title><link>https://www.moiu.cn/zh/blog/sqlite-353/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/sqlite-353/</guid><description>SQLite 3.53 修掉了一个 WAL 重置导致数据库损坏的 bug，新增结果格式化库 QRF，ALTER TABLE 可以增删约束，还多了一个 REINDEX EXPRESSIONS。最后这条是修复陈旧表达式索引的关键。</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>后端</category></item><item><title>维基百科点名失控的 Agent：数百万次请求之后</title><link>https://www.moiu.cn/zh/blog/wikimedia-rogue-agents/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/wikimedia-rogue-agents/</guid><description>维基媒体基金会公开指控未获授权的 OpenAI Agent 制造了数百万次请求、可疑编辑与工具篡改，并可能加剧一次罕见的服务中断。</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate><category>性能</category><category>后端</category></item><item><title>把一座 Three.js 浮岛搬进静态站</title><link>https://www.moiu.cn/zh/blog/aether-isle/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/aether-isle/</guid><description>浮岛页只下载自己那一份脚本。场景在运行时现算，Three.js 与整个三维世界都留在这一页的 chunk 里，首屏 HTML 里只有一个空舞台。</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>建站</category><category>Astro</category><category>性能</category><category>设计</category></item><item><title>GLPI 的模板注入 RCE：管理员权限为什么不该等于 root</title><link>https://www.moiu.cn/zh/blog/cve-2026-26026-glpi-rce/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cve-2026-26026-glpi-rce/</guid><description>CVE-2026-26026 让 GLPI 的管理员通过改模板拿到服务器上的任意命令执行，CVSS 9.1。这条漏洞值得讲的不是攻击链，而是它暴露的一个普遍假设：管理后台的人，凭什么能执行系统命令。</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>摩斯电码：一张表、两处歧义、三个实现细节</title><link>https://www.moiu.cn/zh/blog/morse-code/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/morse-code/</guid><description>摩斯电码本身很简单，麻烦都在细节里：点划的空格归属、全角符号的归一化，以及「一个单位」到底有多长。</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>工具</category><category>算法</category></item><item><title>让弹球对手会算落点，但算不太准</title><link>https://www.moiu.cn/zh/blog/pong-ai/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/pong-ai/</guid><description>一个能打赢的 Pong 对手需要两件事：把球的落点算准，再故意算错一点。前者用三角波一次算完，后者每次接球重抽一个偏差。</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>游戏</category><category>算法</category></item><item><title>不建模也能有体积：手工三角化一座浮岛</title><link>https://www.moiu.cn/zh/blog/procedural-island/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/procedural-island/</guid><description>岛上的岩石不是从建模软件导出的，是五层不规则环带在运行时拼出来的。顶点色加平面着色，就足够让一块几何体看起来像被凿开的石头。</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>建站</category><category>设计</category></item><item><title>一千二百个实例：把花园压进几次绘制</title><link>https://www.moiu.cn/zh/blog/three-instancing/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/three-instancing/</guid><description>草叶六百、花一百二、苔石八十五、灌木四十二 —— 花园的密度不靠减数量，靠 InstancedMesh 把同一种东西合并成一次绘制。</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>性能</category><category>建站</category></item><item><title>一个场景的光：三种灯与只算一次的阴影</title><link>https://www.moiu.cn/zh/blog/three-lighting/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/three-lighting/</guid><description>半球光给环境色，主光给方向与阴影，轮廓光把岛从背景里拉出来；其余六个灯笼只是点光。阴影贴图只算一次，因为它照的东西一动不动。</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>设计</category><category>建站</category></item><item><title>两个着色器做水：水洼、溪流与瀑布</title><link>https://www.moiu.cn/zh/blog/three-water-shader/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/three-water-shader/</guid><description>岛上没有水面模拟，也没有反射。两个 ShaderMaterial 分别负责平躺的水与竖直落下的水，共用一组 time 与 night 变量。</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>建站</category><category>设计</category></item><item><title>3D 的加载预算：分包、可见才加载、以及什么时候该停下</title><link>https://www.moiu.cn/zh/blog/webgl-loading-budget/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/webgl-loading-budget/</guid><description>一个 3D 页面有三笔成本 —— 下载、首帧编译、每帧绘制。三笔都要单独设预算，任何一笔失控都会让「好看」变成「卡」。</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate><category>性能</category><category>建站</category><category>Astro</category></item><item><title>sibling-index() 和 sibling-count()：CSS 终于知道自己是第几个</title><link>https://www.moiu.cn/zh/blog/sibling-count-index/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/sibling-count-index/</guid><description>Firefox 154 让这两个函数进入 Baseline。它们返回当前元素在兄弟中的序号和兄弟总数，于是错落动画、按序配色、均分尺寸都能在 CSS 里算完，不必再给每个元素挂一个内联样式或 CSS 变量。</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>autocorrect 属性：把「要不要自动纠错」还给页面</title><link>https://www.moiu.cn/zh/blog/autocorrect-attribute/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/autocorrect-attribute/</guid><description>Chrome 152 支持了全局 autocorrect 属性，Safari 与 Firefox 早就有，于是它进入 Baseline。这篇讲它和 spellcheck 的区别、为什么这个属性以前只能靠私有前缀、以及什么场景下该关掉它。</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate><category>建站</category><category>设计</category></item><item><title>压缩着还能改：一个动态压缩自索引的论文</title><link>https://www.moiu.cn/zh/blog/dynamic-rr-index/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/dynamic-rr-index/</guid><description>大规模重复字符串（基因组、网页存档、版本库）能压得很小，但一改就得整体重建。RIKEN AIP 的一篇 ESA 2026 论文提出 dynamic RR-index，第一次在 δ-最优空间下同时做到压缩、检索与增删。</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate><category>算法</category><category>后端</category></item><item><title>&lt;template for&gt;：让 HTML 自己声明「这块要被换掉」</title><link>https://www.moiu.cn/zh/blog/template-for-partial-updates/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/template-for-partial-updates/</guid><description>Chrome 150 起支持 template for 属性：用 &lt;?start&gt; / &lt;?marker&gt; 处理指令在文档里标出可替换的区间，再由流式到达的 template 去填。这篇讲它怎么用、解决什么、以及为什么它现在还不该上生产。</description><pubDate>Sat, 03 Oct 2026 00:00:00 GMT</pubDate><category>建站</category><category>性能</category></item><item><title>页面上的源码和下发的文件，必须是同一个字符串</title><link>https://www.moiu.cn/zh/blog/script-single-source/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/script-single-source/</guid><description>脚本栏目要在页面上展示源码，又要用 /scripts/x.sh 原样下发同一份。两份拷贝迟早漂移。这篇讲为什么用 import.meta.glob 的 ?raw 内联，比构建期读文件或拷进 public 都更可靠。</description><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate><category>建站</category><category>工具</category></item><item><title>原子写文件：先写临时文件，再 rename</title><link>https://www.moiu.cn/zh/blog/atomic-write/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/atomic-write/</guid><description>直接覆写会在断电、崩溃、并发读的那一刻留下半个文件。临时文件加 rename 借文件系统的原子性把「半个文件」变成不可能。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>工具</category></item><item><title>Base64：它不是加密，也不是压缩</title><link>https://www.moiu.cn/zh/blog/base64/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/base64/</guid><description>Base64 把 3 字节编码成 4 个可打印字符，体积涨三分之一。它解决的是「二进制不能安全穿过文本通道」，不是保密。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>安全</category></item><item><title>大 O 的误用：常数和前提比阶更常决定成败</title><link>https://www.moiu.cn/zh/blog/big-o-misconception/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/big-o-misconception/</guid><description>O(n log n) 的排序可能慢过 O(n²) 的插入排序，O(1) 的哈希表可能慢过数组线性扫。判断性能前先确认输入规模、常数和内存局部性。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>性能</category></item><item><title>用 @layer 把样式优先级从「比权重」变成「排顺序」</title><link>https://www.moiu.cn/zh/blog/css-cascade-layers/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/css-cascade-layers/</guid><description>样式失控的根源不是选择器写得不够具体，而是所有人都靠加权重解决问题。级联层让顺序显式化：层与层之间比顺序，层内部才比特异性。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>防抖与节流：差别只在「谁决定何时执行」</title><link>https://www.moiu.cn/zh/blog/debounce-throttle/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/debounce-throttle/</guid><description>两者都是限流，区别是防抖由最后一次调用决定执行时刻，节流由固定时间窗决定。选错的典型症状是拖拽跟手但松手才更新，或者输入框该等却每 200ms 就发一次。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>性能</category></item><item><title>工期估算：为什么「大概三天」永远变成三周</title><link>https://www.moiu.cn/zh/blog/developer-estimation/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/developer-estimation/</guid><description>估的是「写代码」的时间，交出去的是「写代码 + 联调 + 评审 + 改需求 + 等别人」的时间。把不确定的部分显式列出来，比把天数乘二更有效。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>后端</category></item><item><title>功能开关：它是负债，不是配置</title><link>https://www.moiu.cn/zh/blog/feature-flags/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/feature-flags/</guid><description>每个开关都会让代码路径翻倍，而开关本身永远不会被删。给每个开关定一个移除日期，比设计一套精巧的开关系统重要得多。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>工具</category></item><item><title>游戏主循环：为什么必须用 delta time</title><link>https://www.moiu.cn/zh/blog/game-loop/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/game-loop/</guid><description>每帧固定移动 5 像素，在 60Hz 屏幕上快一倍、在 144Hz 上快两倍半。把时间差乘进去，物理才与刷新率解耦；再加一个上限，切标签页回来才不会瞬移。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>游戏</category><category>性能</category></item><item><title>git bisect：把「哪次提交弄坏的」变成一条命令</title><link>https://www.moiu.cn/zh/blog/git-bisect/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/git-bisect/</guid><description>回归排查的瓶颈不是二分本身，而是没人说得出「什么样的提交算坏」。先写出能自动判定的脚本，bisect 才能把 n 次构建压到 log n 次。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>算法</category></item><item><title>五子棋 AI：算杀层与搜索层怎么分工</title><link>https://www.moiu.cn/zh/blog/gomoku-search-engine/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/gomoku-search-engine/</guid><description>纯 alpha-beta 在五子棋上会漏掉必杀。我把决策拆成三层——成五、堵五、算杀各司其职，剩下的才交给迭代加深加置换表，快棋也能下出像样的棋。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>优雅关闭：进程退出方式决定用户看到 502 还是正常响应</title><link>https://www.moiu.cn/zh/blog/graceful-shutdown/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/graceful-shutdown/</guid><description>收到终止信号立刻 exit 会切断在途请求。正确顺序是停止接收新连接、等在途请求跑完、再释放资源、最后退出。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>建站</category></item><item><title>HTTP 缓存：Cache-Control 与 ETag 各管一半</title><link>https://www.moiu.cn/zh/blog/http-caching/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/http-caching/</guid><description>Cache-Control 决定「要不要发请求」，ETag 决定「发出去之后能不能省下响应体」。把两者混谈是缓存问题的根源：改一个参数不会同时修好两侧。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>建站</category><category>性能</category></item><item><title>幂等键：让重试变得安全的那一次写入</title><link>https://www.moiu.cn/zh/blog/idempotency/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/idempotency/</guid><description>网络超时不代表服务端没执行。幂等键把「同一个请求」标识出来，服务端据此返回首次结果而不是再执行一遍。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>安全</category></item><item><title>JSON 规范化：为什么同样的对象算出了两个哈希</title><link>https://www.moiu.cn/zh/blog/json-canonicalization/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/json-canonicalization/</guid><description>键的顺序、数字写法、转义方式都会改变字节流。要让哈希稳定，必须在序列化这一层定死规则，而不是指望 JSON.stringify 每次都给你同一串。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>安全</category></item><item><title>内存布局：同样的算法，慢十倍往往是因为缓存</title><link>https://www.moiu.cn/zh/blog/memory-layout/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/memory-layout/</guid><description>CPU 取一次内存要几百个周期，取整个缓存行只要一次。顺序访问与随机访问的差别往往大过算法阶数。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>性能</category><category>算法</category></item><item><title>死锁的四个条件：破坏其中任意一个就够了</title><link>https://www.moiu.cn/zh/blog/mutex-deadlock/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/mutex-deadlock/</guid><description>互斥、持有并等待、不可抢占、循环等待——四个同时成立才会死锁。工程上最容易破坏的是循环等待：全局给锁定一个顺序。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>算法</category></item><item><title>N+1 查询：ORM 最典型的性能陷阱</title><link>https://www.moiu.cn/zh/blog/n-plus-one/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/n-plus-one/</guid><description>取 100 条记录再逐条查关联，就是 101 次查询。修法只有三种：预加载、批量查、或者干脆用一次 JOIN。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>性能</category></item><item><title>限流：令牌桶与漏桶的实际差别</title><link>https://www.moiu.cn/zh/blog/rate-limiting/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/rate-limiting/</guid><description>令牌桶允许突发，漏桶把流量削成恒定速率。选错的典型症状是正常用户被限、或者限流形同虚设，取决于你的下游能不能吃突发。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>性能</category></item><item><title>灾难性回溯：正则为什么会让 CPU 打满</title><link>https://www.moiu.cn/zh/blog/regex-catastrophic/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/regex-catastrophic/</guid><description>嵌套量词让匹配尝试数指数增长，(a+)+b 在一条长的不匹配输入上就能拖死进程。修法是去掉嵌套量词或给正则加超时。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>安全</category><category>算法</category></item><item><title>iframe sandbox：它收窄能力，不是加固</title><link>https://www.moiu.cn/zh/blog/sandbox-iframe/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/sandbox-iframe/</guid><description>sandbox 属性默认剥夺一切能力，靠 allow-* 逐项放回。弄反方向是常见错误：加上 sandbox 之后脚本全不能跑了，因为那是默认值。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>安全</category><category>建站</category></item><item><title>语义化版本：主版本号的承诺是「不会静默改变行为」</title><link>https://www.moiu.cn/zh/blog/semver/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/semver/</guid><description>MAJOR 不是「改动很大」，而是「有破坏性变更」。把重构当主版本号、把破坏性变更藏在次版本号，都会让下游的自动升级变成事故。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>建站</category></item><item><title>SQLite 索引：最左前缀不是限制，是排序的结果</title><link>https://www.moiu.cn/zh/blog/sqlite-index/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/sqlite-index/</guid><description>复合索引 (a, b) 只有先按 a 排才能按 b 排，所以「跳过 a 只用 b」自然用不上。理解成排序而非规则，就不会再背前缀口诀。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>算法</category></item><item><title>技术债的利息长什么样</title><link>https://www.moiu.cn/zh/blog/tech-debt-interest/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tech-debt-interest/</guid><description>技术债不是「代码写得丑」，而是「以后每次改动都要多付的那部分」。判断标准是可测量的：改一行要动几个文件、跑多久测试、有几处需要同时改。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>建站</category><category>工具</category></item><item><title>时区与夏令时：存 UTC，存本地时间一定会出事</title><link>https://www.moiu.cn/zh/blog/timezone-dst/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/timezone-dst/</guid><description>夏令时会让某一天有 23 或 25 小时，且切换时刻的本地时间可能不存在或出现两次。只存 UTC 时间戳，展示时再转，是唯一稳的模型。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>后端</category><category>算法</category></item><item><title>把 AI 的思考过程做成一棵能翻的树</title><link>https://www.moiu.cn/zh/blog/tool-tree/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tool-tree/</guid><description>给搜索过程做可视化，难点不在画树，而在数据要是真的、面板不能把棋盘顶来顶去、以及它得按需加载不拖累不点它的人。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>Vue</category><category>游戏</category></item><item><title>Unicode 规范化：看起来一样的两个字符串为什么不相等</title><link>https://www.moiu.cn/zh/blog/unicode-normalization/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/unicode-normalization/</guid><description>é 可以是一个码点，也可以是 e 加组合重音。比较、存储、索引之前先统一成 NFC，否则同形异码会让查重和登录全部失效。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>安全</category><category>后端</category></item><item><title>URL 编码的三个陷阱：空格、加号与双重编码</title><link>https://www.moiu.cn/zh/blog/url-encoding/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/url-encoding/</guid><description>查询串里的 + 是空格，路径里的 + 是加号；同一个字符在路径与查询里的编码规则不同；编码两次会得到看似正常却永远匹配不上的值。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>建站</category><category>安全</category></item><item><title>写中国象棋规则，四处最容易错的地方</title><link>https://www.moiu.cn/zh/blog/xiangqi-rules/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/xiangqi-rules/</guid><description>蹩马腿、塞象眼、炮打隔子、将帅照面。我把走法生成拆成几何层与合法性层，前者只管兵种怎么走，后者统一兜住送将，四处坑各配了断言。</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>手写 cron 解析器：五段、并集规则，以及 2 月 30 日</title><link>https://www.moiu.cn/zh/blog/cron-parser/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cron-parser/</guid><description>cron 的语法半小时能写完，难的是语义：日与星期同时限定时是并集而非交集，不存在的时间要有终止条件，7 与 0 都是星期天。</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>算法</category></item><item><title>CSV 不是「按逗号切」：RFC 4180 的引号与换行</title><link>https://www.moiu.cn/zh/blog/csv-rfc4180/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/csv-rfc4180/</guid><description>一旦字段里有引号，split 立刻出错：引号能包住逗号和换行，引号自己写成两个。三十行状态机比任何正则都可靠。</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>算法</category></item><item><title>黑白棋的合法落点：一次扫描，八个方向</title><link>https://www.moiu.cn/zh/blog/reversi-legal-moves/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/reversi-legal-moves/</guid><description>一个空位合法，当且仅当八个方向里至少有一个方向能夹住对方的棋子。判断与翻转用的是同一次扫描，不必先模拟再回滚。</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>数独生成器：挖洞、唯一解，以及一个把页面卡死的 bug</title><link>https://www.moiu.cn/zh/blog/sudoku-generator/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/sudoku-generator/</guid><description>生成器先填一个完整解，再逐格挖洞并验证唯一性。我在求解器里把「不限」写成 0，结果空盘要枚举全部解，点新局直接卡死。</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>一致性哈希：加一台机器为什么不用重排所有键</title><link>https://www.moiu.cn/zh/blog/consistent-hashing/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/consistent-hashing/</guid><description>取模分片在机器数变化时几乎搬走全部数据。把哈希空间首尾相接成一个环，键归顺时针第一台机器，加节点只影响一段区间 —— 代价是需要虚拟节点。</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>建站</category></item><item><title>五子棋的胜负判定：只查刚落下的那一点就够</title><link>https://www.moiu.cn/zh/blog/gomoku-win-detect/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/gomoku-win-detect/</guid><description>每次落子后全盘扫描是浪费：胜负只可能因为最新一手而改变。沿四个方向从落子点向两侧延伸计数，判定成本与棋盘大小无关。</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>滑动窗口：先定「窗口里维护什么」，再写循环</title><link>https://www.moiu.cn/zh/blog/sliding-window/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/sliding-window/</guid><description>窗口能成立的前提是「窗口是否合法」随左右边界单调。先写下维护的状态与收缩条件，双指针的两层循环自然会摊还成 O(n)。</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>性能</category></item><item><title>单调栈：把「下一个更大的数」从 O(n²) 拉回 O(n)</title><link>https://www.moiu.cn/zh/blog/monotonic-stack/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/monotonic-stack/</guid><description>每个元素最多进栈一次、出栈一次，所以看起来是双层循环的写法其实是线性。认出「左右第一个比自己大/小」这个形状，就能套同一个模板。</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>性能</category></item><item><title>数二进制里有多少个 1：从循环到 SWAR</title><link>https://www.moiu.cn/zh/blog/popcount-bit-tricks/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/popcount-bit-tricks/</guid><description>popcount 有三种写法：按 1 的个数循环、查表、以及并行算位的 SWAR。三种复杂度差一个数量级，而 Rust 与 WebAssembly 已经把它做成了单条指令。</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>性能</category></item><item><title>并查集：两行优化让每次操作几乎变成常数</title><link>https://www.moiu.cn/zh/blog/union-find/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/union-find/</guid><description>路径压缩把树压平，按大小合并让树不会长高。两个都要，复杂度才落到反阿克曼函数上 —— 也就是说 10 亿次操作也不会慢。</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>性能</category></item><item><title>Rust 的 Result 里，上下文要补在出错的那一层</title><link>https://www.moiu.cn/zh/blog/rust-result-context/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/rust-result-context/</guid><description>`?` 会把错误原样上抛，不告诉你在哪一步失败。底层返回可匹配的结构化错误，应用层用 Context 补上「在做什么」和输入参数，日志里才有能定位的那一行。</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><category>Rust</category><category>后端</category></item><item><title>什么时候该把一个 crate 拆成 workspace</title><link>https://www.moiu.cn/zh/blog/rust-workspace-split/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/rust-workspace-split/</guid><description>拆 workspace 的触发条件是编译时间和依赖边界，不是目录好不好看。三个信号成立才拆，否则只是把一次编译换成多个包的管理成本。</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><category>Rust</category><category>后端</category></item><item><title>结构化日志不是把 println 换成 tracing::info</title><link>https://www.moiu.cn/zh/blog/tracing-structured-logs/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tracing-structured-logs/</guid><description>拼接字符串的日志只能被人眼读，带字段的日志才能被查询和聚合。字段、span、级别、以及别在热点路径上格式化，是四个真正要做的决定。</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><category>Rust</category><category>后端</category></item><item><title>Islands 不是 Web Components：两种「按需加载」根本不是一回事</title><link>https://www.moiu.cn/zh/blog/islands-vs-webcomponents/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/islands-vs-webcomponents/</guid><description>Islands 在构建期决定哪里需要 JS、什么时候水合；Web Components 在运行时给浏览器一个自带行为的元素。把它们当成同一件事，会选错工具。</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>Astro</category><category>性能</category></item><item><title>静态站的缓存头：带哈希的永久，HTML 一律不缓存</title><link>https://www.moiu.cn/zh/blog/nginx-cache-headers/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/nginx-cache-headers/</guid><description>缓存策略只取决于文件名是否随内容变化，与文件大小无关。HTML 长缓存会让用户拿到旧入口、指向已删除的旧 chunk，是静态站最常见的线上白屏。</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>建站</category><category>性能</category></item><item><title>WebAssembly 值得用的场合，比宣传里少得多</title><link>https://www.moiu.cn/zh/blog/wasm-where-to-use/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/wasm-where-to-use/</guid><description>WASM 的收益来自「计算密集 + 大批量数据 + 少的跨界调用」。把一个 O(n) 的 JS 循环改写成 WASM，通常只会得到更慢的加载和更难调的栈。</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>性能</category><category>建站</category></item><item><title>锚点跳转被页头吃掉：一次 scroll-padding-top 修全站</title><link>https://www.moiu.cn/zh/blog/anchor-scroll-padding/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/anchor-scroll-padding/</guid><description>吸顶页头会盖住锚点目标，逐个标题写 scroll-margin 迟早漏。正确的位置是滚动容器上的 scroll-padding-top，再用 ResizeObserver 把真实页头高度写回令牌。</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>模态框用原生 dialog：白拿的东西比想象中多</title><link>https://www.moiu.cn/zh/blog/dialog-a11y/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/dialog-a11y/</guid><description>自己搭模态要手写焦点陷阱、ESC、滚动锁与返回焦点。原生 dialog 配 showModal 全部内置，还能用 ::backdrop，代价只有一条样式继承规则。</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>深色模式下表单还是白的：color-scheme 才是开关</title><link>https://www.moiu.cn/zh/blog/form-color-scheme/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/form-color-scheme/</guid><description>把背景涂黑不等于原生控件跟着黑。select 的下拉、日期选择器、自动填充的底色都由 color-scheme 决定，accent-color 只管住勾选框与滑块。</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>页头多高不该猜：ResizeObserver 实测回写 CSS 变量</title><link>https://www.moiu.cn/zh/blog/resize-observer-layout/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/resize-observer-layout/</guid><description>导航换行、字体晚到、内容长度变化都会让元素高度和 CSS 里的常量对不上。ResizeObserver 观察元素本身，把实测值写回变量，比监听 resize 可靠。</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate><category>CSS</category><category>性能</category></item><item><title>设计令牌：一个文件管住整个站点</title><link>https://www.moiu.cn/zh/blog/design-tokens/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/design-tokens/</guid><description>为什么我把颜色、间距、圆角全部收进 _tokens.scss，以及换一套视觉方向为什么只需要改这一个文件。</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category></item><item><title>不用框架的 i18n：双语站点手写路由的代价</title><link>https://www.moiu.cn/zh/blog/manual-i18n/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/manual-i18n/</guid><description>这个站点的手写 i18n 没用框架自带的配置。说说为什么，以及代价具体出现在哪里——两次 404，和一半没翻的文章。</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate><category>建站</category><category>设计</category></item><item><title>2048：把四个方向归一成同一个操作</title><link>https://www.moiu.cn/zh/blog/algo-2048/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/algo-2048/</guid><description>滑动、合并、计分只需要写一遍，其余三个方向靠转置与反转复用。真正的难点是「每个方块一回合只能合并一次」，写错就得到不该出现的数字。</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>扫雷：把布雷推迟到第一次点击</title><link>https://www.moiu.cn/zh/blog/algo-minesweeper/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/algo-minesweeper/</guid><description>第一下就踩雷的扫雷是没写完的扫雷。把布雷推迟到首次点击、并排除点击点周围 3×3，是这类实现最重要的一处设计。</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate><category>算法</category><category>游戏</category></item><item><title>把孔版套印的约束翻译成设计令牌</title><link>https://www.moiu.cn/zh/blog/riso-ui/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/riso-ui/</guid><description>这个站点的视觉方向是孔版套印。我真正做的事是把印刷的物理限制写成令牌，于是换观感只动了两个文件，组件一行没改。</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate><category>设计</category><category>CSS</category></item><item><title>进制与单位换算：唯一非线性的是温度</title><link>https://www.moiu.cn/zh/blog/tool-convert/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tool-convert/</guid><description>2 到 36 任意进制互转要用 BigInt 兜住精度；十类单位换算中前九类是线性比例，唯独温度是仿射变换，写成一个倍率就一定会错。</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>Vue</category></item><item><title>颜色与对比度：相对亮度不是通道平均值</title><link>https://www.moiu.cn/zh/blog/tool-color/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tool-color/</guid><description>三种记法互转只是入口，真正容易写错的是 WCAG 对比度：先做 gamma 还原再加权求和。以及「这上面该用黑字还是白字」为什么不能看亮度是否大于 128。</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>Vue</category></item><item><title>纯静态站的全文搜索：构建期索引，运行时零后端</title><link>https://www.moiu.cn/zh/blog/pagefind-search/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/pagefind-search/</guid><description>静态站做搜索不一定非得接 Algolia。把索引放到构建期生成，搜索完全跑在浏览器里，代价只有构建慢几秒。</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><category>建站</category><category>性能</category></item><item><title>哈希与校验和：为什么 CRC32 和 MD5 得自己写</title><link>https://www.moiu.cn/zh/blog/tool-hash/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tool-hash/</guid><description>浏览器只在安全上下文提供 SHA 系列，CRC32 与 MD5 不在 Web Crypto 里。顺带解决大文件不该一次读进内存，以及校验值不该靠人眼比对。</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>Vue</category></item><item><title>正则测试：命中、分组与替换预览，以及零宽匹配的坑</title><link>https://www.moiu.cn/zh/blog/tool-regex-lab/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tool-regex-lab/</guid><description>自己写一个正则测试页要处理三件事：把命中位置和分组讲清楚、把替换结果先预览出来、以及别让零宽匹配把页面卡死。</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>Vue</category></item><item><title>JSON 工作台：格式化、校验与结构对比放在同一个页面</title><link>https://www.moiu.cn/zh/blog/tool-json-studio/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/tool-json-studio/</guid><description>从反复在终端写临时命令洗 JSON 的经历出发，做一个只在浏览器里运行的工作台：格式化、压缩、排序、带行列的错误定位，以及两份 JSON 的结构差异。</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate><category>工具</category><category>Vue</category></item><item><title>1059 项断言，零测试框架：纯逻辑必须零 import</title><link>https://www.moiu.cn/zh/blog/zero-import-selftest/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/zero-import-selftest/</guid><description>我的自检是 node scripts/selftest.ts 直接跑的，没有测试框架也没有依赖。代价是纯逻辑模块一个相对 import 都不能有，而这个代价换来了代码形状。</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate><category>Astro</category><category>建站</category></item><item><title>SharePoint 反序列化 RCE：CVE-2026-45659 分析</title><link>https://www.moiu.cn/zh/blog/cve-2026-45659-sharepoint/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cve-2026-45659-sharepoint/</guid><description>一个普通 Site Member 账户就足以在 SharePoint 服务器上执行任意代码。微软最初判定「利用可能性较低」，CISA 依据在野证据把它拉进了 KEV，并要求三天内完成修复。</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>n8n 未授权 RCE（Ni8mare）：CVE-2026-21858 分析</title><link>https://www.moiu.cn/zh/blog/cve-2026-21858-n8n/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cve-2026-21858-n8n/</guid><description>表单节点跳过了对 Content-Type 的验证，于是一个 application/json 请求就能让它去读任意文件。读出配置里的密钥后可伪造管理员 JWT，再借沙箱绕过完成 RCE。</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>Cisco FMC 未授权 Java 反序列化 RCE：CVE-2026-20131 分析</title><link>https://www.moiu.cn/zh/blog/cve-2026-20131-cisco-fmc/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cve-2026-20131-cisco-fmc/</guid><description>CVSS 10.0、无需认证、以 root 权限执行代码，而且已经被勒索组织当作零日用了 36 天。防火墙管理中枢本身被攻破，等于把所有策略与日志一起交出去。</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>用 Astro islands 把首屏 JS 压到零</title><link>https://www.moiu.cn/zh/blog/astro-islands/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/astro-islands/</guid><description>从「异步引入」到「按需水合」，讲清楚三层懒加载分别解决什么问题，并给出这个站点里真实在跑的代码。</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate><category>Astro</category><category>性能</category><category>Vue</category></item><item><title>Next.js 增量缓存路径遍历 RCE：CVE-2026-75604 分析</title><link>https://www.moiu.cn/zh/blog/cve-2026-75604-nextjs/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cve-2026-75604-nextjs/</guid><description>一个没被转义的反斜杠，在 Windows 上把增量缓存变成任意文件读写；再用泄露的 Server Action 加密密钥伪造请求，借 React Flight 的属性链走到 Function。</description><pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>React Router 原型污染链式 RCE：CVE-2026-42211 分析</title><link>https://www.moiu.cn/zh/blog/cve-2026-42211-react-router/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/cve-2026-42211-react-router/</guid><description>turbo-stream v2 在 TYPE_ERROR 分支里动态调用构造函数却不校验来源。只要应用里已存在一个原型污染，这条路径就能被接上 Function，把两步中危拼成 RCE。</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>安全</category><category>漏洞分析</category></item><item><title>head 只有一个来源：SiteHead、JSON-LD 转义与 hreflang</title><link>https://www.moiu.cn/zh/blog/head-single-source/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/head-single-source/</guid><description>三个 HTML 外壳共用一个组件输出全部 head 标签，数据在 server 层组装。以及一个必须记住的细节：JSON-LD 里的尖括号要转义成反斜杠 u003c。</description><pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate><category>建站</category><category>性能</category></item><item><title>静态站上线不是「把文件夹传上去」：缓存、压缩、以及诚实的 404</title><link>https://www.moiu.cn/zh/blog/static-hosting-nginx/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/static-hosting-nginx/</guid><description>纯静态托管的坑几乎全在响应头上。哪些文件能永久缓存、哪些一秒都不能缓存、以及为什么静态站绝对不能做 SPA 式回退。</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate><category>建站</category><category>性能</category></item><item><title>用 View Transitions 做主题切换水波纹</title><link>https://www.moiu.cn/zh/blog/theme-ripple/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/theme-ripple/</guid><description>主题切换时用一个从点击点扩散的圆揭示新主题。半径要够到屏幕最远的角，动画结束必须清掉自定义属性，否则会污染下一次。</description><pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate><category>CSS</category><category>设计</category><category>Vue</category></item><item><title>构建期分页：静态站的翻页为什么不该用查询参数</title><link>https://www.moiu.cn/zh/blog/build-time-pagination/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/build-time-pagination/</guid><description>列表分页在构建时切成静态页，第 N 页是一个真实路由。没有客户端分页逻辑，也不用查询串，翻页就是纯链接跳转。</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate><category>Astro</category><category>性能</category></item><item><title>@/ 别名的三处配置：Vite、TypeScript 与 SCSS 缺一不可</title><link>https://www.moiu.cn/zh/blog/alias-three-places/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/alias-three-places/</guid><description>全项目禁用深层相对引入，代价是别名要在三个地方各配一次。少配一处，症状分别是编辑器报错、构建失败、样式静默丢失。</description><pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate><category>Astro</category><category>建站</category></item><item><title>zod 做 frontmatter 契约：把文章格式变成构建期错误</title><link>https://www.moiu.cn/zh/blog/zod-frontmatter/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/zod-frontmatter/</guid><description>Content Collections 的 schema 是唯一真相。标题超 120 字、日期写错、标签写成字符串，都在构建期直接失败，而不是线上少一页。</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate><category>Astro</category><category>建站</category></item><item><title>为什么我又搭了一个个人主页</title><link>https://www.moiu.cn/zh/blog/hello-world/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/hello-world/</guid><description>不是没有地方写东西，而是没有一个地方能同时放文章、小游戏和工具。顺便说说这次的技术选型为什么是 Astro 而不是 VitePress。</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>建站</category><category>Astro</category></item><item><title>零配置注册表：新增一个游戏等于新建一个目录</title><link>https://www.moiu.cn/zh/blog/glob-registry/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/glob-registry/</guid><description>列表、详情路由、首页精选、sitemap 全部由 import.meta.glob 自动发现。代价是必须接受「字面量相对路径」这条 Vite 的硬规则。</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate><category>Astro</category><category>建站</category></item><item><title>应用页不用 client:only：静态空壳加显式挂载</title><link>https://www.moiu.cn/zh/blog/app-shell-mount/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/app-shell-mount/</guid><description>游戏与工具页是「空壳 + createApp」，不是 client:only。加载、成功、失败三态由我自己控制，重试按钮也是真的能按。</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate><category>Vue</category><category>性能</category></item><item><title>视图不存逻辑：把数据装配全部收进 src/server</title><link>https://www.moiu.cn/zh/blog/server-layer/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/server-layer/</guid><description>页面里只剩路由导出与组件引入，取数、拼路径、算日期全部移到 src/server。说说这么分的收益，以及它逼出来的一个类型约束。</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate><category>Astro</category><category>建站</category></item><item><title>关于 MoFrp 的立项与一些参考</title><link>https://www.moiu.cn/zh/blog/mofrp-kickoff/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/mofrp-kickoff/</guid><description>关于 MoFrp，随便唠几句嗑 老兄，我最近又在瞎琢磨，想自己动手搞个内网穿透服务，名字就叫 MoFrp。 为啥叫这个？害，其实没啥深意，就是因为我网名，我们团队搞的玩意儿，习惯性都拿“Mo”开头，听起来像个家族产品线似的。MoFrp…</description><pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate><category>MoFrp</category><category>唠嗑</category><category>祈祷🙏</category><category>闲聊</category><category>项目立项</category></item><item><title>阿里云国内版的ESA套餐可以免费领取了</title><link>https://www.moiu.cn/zh/blog/aliyun-esa-free-plan/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/aliyun-esa-free-plan/</guid><description>阿里云边缘安全加速（ESA）中国站全新推出 ESA 免费版套餐 支持 真·无限流量｜支持 真·免费｜支持 无需信用卡｜支持 开通即用 领取免费套餐的地址：https://tianchi.aliyun.com/specials/prom…</description><pubDate>Sat, 13 Dec 2025 00:00:00 GMT</pubDate><category>CDN</category><category>ESA</category><category>白嫖</category><category>阿里云</category></item><item><title>获取Kdown-Free 密码教程</title><link>https://www.moiu.cn/zh/blog/kdown-free-password/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/kdown-free-password/</guid><description>首先，你需要拥有以下两种软件：迅雷网盘 / 夸克网盘 / 抖音极速版 迅雷网盘实际内置在 迅雷浏览器，不需要单独下载，还挺方便 然后教程开始 选择任意网盘获取获取密码，首先提供两种获取方式的网盘（迅雷浏览器：点我前往， 夸克网盘： 点…</description><pubDate>Sat, 06 Sep 2025 00:00:00 GMT</pubDate></item><item><title>KDown - 让百度网盘下载更简单、更快速</title><link>https://www.moiu.cn/zh/blog/kdown-baidu-pan-downloader/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/kdown-baidu-pan-downloader/</guid><description>在这个数字时代,百度网盘已经成为我们日常文件存储和分享的重要工具。然而,普通用户常常会遇到下载速度慢、大文件无法下载等困扰。今天为大家介绍一款强大的网盘助手脚本 – KDown,它能让您的网盘下载体验焕然一新。</description><pubDate>Sat, 10 May 2025 00:00:00 GMT</pubDate><category>了解</category><category>唠嗑</category><category>百度网盘</category><category>脚本</category></item><item><title>MoCDN 公益CDN</title><link>https://www.moiu.cn/zh/blog/mocdn-public-cdn/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/mocdn-public-cdn/</guid><description>湖北十堰 ×4 带宽：10Mbps/节点 防御：共享100Gbps 适合：小型静态网站 福建 ×2 带宽：10Mbps/节点 防御：共享100Gbps 备注：电信线路优化</description><pubDate>Sat, 12 Apr 2025 00:00:00 GMT</pubDate><category>CDN</category><category>公益</category></item><item><title>对于 我们专业 &apos;电子&apos; 老师的表述🤣</title><link>https://www.moiu.cn/zh/blog/electronic-major-teachers/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/electronic-major-teachers/</guid><description>来聊聊我这一学期在电子专业的日子。说实话，这专业是真的难，上学期考试才考了190分（总分350），差点没及格，想想都觉得挺愁的。 我们专业课老师外号叫”锅包肉”（这外号好像是谁起的，我也忘了😅），虽然他讲课还行，但是太枯燥了，但我是…</description><pubDate>Thu, 06 Feb 2025 00:00:00 GMT</pubDate><category>唠嗑</category><category>学习</category><category>无语</category><category>电子</category></item><item><title>我的编程语言之旅 - 一个高中程序员的技术成长感悟(虽然我才16岁😅)</title><link>https://www.moiu.cn/zh/blog/my-programming-journey/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/my-programming-journey/</guid><description>作为一名热爱编程的开发者，我很幸运地接触到了多门编程语言。今天想和大家分享一下我对这些语言的理解和感受😁。 首先说说 Go 语言。Go 的设计哲学真的让人着迷，它就像一把精心打造的武士刀 —— 简洁而强大。特别是它的并发特性，gor…</description><pubDate>Thu, 06 Feb 2025 00:00:00 GMT</pubDate><category>唠嗑</category><category>编程</category><category>闲聊</category></item><item><title>闲聊 - 我对于职高的看法🤔</title><link>https://www.moiu.cn/zh/blog/thoughts-on-vocational-school/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/thoughts-on-vocational-school/</guid><description>时光飞逝，转眼间我已经在职业高中度过了一个学期。回想当初填报志愿时的忐忑和不安，与现在的心境相比，真是有了天壤之别。作为一名职高新生，我想分享一下这半年来的所见所闻与真实感受。</description><pubDate>Thu, 06 Feb 2025 00:00:00 GMT</pubDate><category>了解</category><category>职高</category><category>闲聊</category></item><item><title>百度网盘获取直链程序分析</title><link>https://www.moiu.cn/zh/blog/baidu-pan-direct-link-analysis/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/baidu-pan-direct-link-analysis/</guid><description>本次带来团队成员CheckOut开放的百度网盘获取直链程序 这个是基于Node.js编写的ts包，主要内容包括：获取网盘内文件、加载网盘DPCS直链、获取真实下载地址</description><pubDate>Wed, 05 Feb 2025 00:00:00 GMT</pubDate><category>NodeJS</category><category>百度网盘</category></item><item><title>最近 开发 一个 扫码系统 的心得</title><link>https://www.moiu.cn/zh/blog/qr-scanner-system-notes/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/qr-scanner-system-notes/</guid><description>这属于是我 独立自己开发的第二个 作品了，原 百度网盘解析 实际 不太 好，因为我后端完全使用 PHP的Slim框架，这个框架属于是轻量级框架，处理性能并不好，而我的扫码系统使用的是Thinkphp，所有性能处理上可能会有所提高</description><pubDate>Sat, 28 Sep 2024 00:00:00 GMT</pubDate><category>系统开发介绍</category></item><item><title>我的一路走来</title><link>https://www.moiu.cn/zh/blog/my-journey-so-far/</link><guid isPermaLink="true">https://www.moiu.cn/zh/blog/my-journey-so-far/</guid><description>2019.8.7 我接触到了网站，当时 自己的第一台 服务器是 腾讯云香港 2C4G 30Mbps的 轻量服务器 2019.8.8 在第一天买了服务器后，学习如何搭建网站，当时本想着 使用lnmp搭建，但是太难了，对于当时我这个电脑小…</description><pubDate>Sun, 15 Sep 2024 00:00:00 GMT</pubDate><category>唠嗑</category><category>自己</category></item></channel></rss>