≡articles //snippets ./categories $uses ~about /search

There is a crack, a crack in everything. That’s how the light gets in.

Leonard Cohen, “Anthem”, 1992

独立开发实战笔记,关于调试、编程和底层技术。每一篇都是一次真实的排查,从第一条报错信息开始,到 root cause 结束。

since 2020.12 · 71 篇

精选

网站目录里的 .bak 备份能被任何人下载:一台服务器 4 个站清出 250 多个起因是给服务器做一次权限检查,顺手列了一下网站目录里的文件,看到一串这样的名字(文件名改过,格式一样):网站优化 WordPress 被黑挂日文寄生虫:宝塔服务器应急处理完整记录2026 年 10 月 30 日环境:CentOS 7.6、宝塔 8.0.2、WordPress 7.1.4、PHP 8.3.36文中域名、IP、账号、路径和端口均做了替换,不影响技术细节。恶意域名做了去活化([.]),扫描命令里的保持原样,方便直接复制。网站建设 宝塔面板修复 PHP2Shell(CVE-2026-109618/109619):两台服务器升级 PHP 8.3.36 实录PHP 官方公告给的修复版本:Linux 搬瓦工 VPS 硬盘满了连不上,又误挂 ISO 进了安装向导:KiwiVM 救回全过程从看到安装菜单到进系统清完磁盘,用了十来分钟。Linux 把 1000 行代码变成开源项目:git 历史清理、单实例保护和“多少行值得开源”系列最后一篇。前四篇讲了权限、模型下载、产品减法和 UI 实现,那些都是“把它做出来”。这篇讲怎么把它开源出去,两个状态的差距比我想的大。开发 Cloudflare WAF 误杀 Googlebot 排查实录:一条托管规则让整站 403站点挂在 Cloudflare 后面,搜索展现量在 6 月最后一周从 151 掉到个位数,之后整整六周没起来,而服务器本身一切正常。这是一次典型的 Cloudflare WAF 误杀 Googlebot:拦截发生在 CDN 边缘,源站的错误日志里连一条异常记录都没有,访问监控全绿,直到 8 月中旬才从 Search C网站优化 用 PyObjC 画一个 40fps 的胶囊波形动画:NSTimer 里的三个坑talk2clip 录音时屏幕顶部有一个 40fps 跳动的胶囊波形。实现它本来以为 20 分钟,实际踩了三个坑:一是 NSTimer 在 rumps 环境根本不触发(画面死水),二是 PyObjC 里 NSGradient 画出的是“方块光球”(不是圆的),三是把 UI 调用塞进后台线程的线程安全。下面按踩坑的顺序写开发 做减法:我把 macOS 语音助手从功能堆叠砍到只剩核心我的语音助手项目曾经有 AI 对话、5 种界面、应用路由、HTTP 服务,然后我砍掉了一切,只留“按住说话→粘贴”。砍完反而第一次天天在用。这篇记下每样东西砍掉时是怎么想的。AI 国内下载 AI 模型太难了?一条实测可行的完整方案(HuggingFace 篇)国内下 HuggingFace 上的模型,经常 429,或者下到一半断掉,换 hf-mirror 也有自己的坑。这篇是给 whisper 找下载办法时走过的路,最后用的是 Azure CDN 直连官方权重,再在本地转成 CTranslate2。AI macOS 15 辅助功能授权添加了却不生效?一次排查记录辅助功能面板里显示已授权,程序却收不到按键。macOS 15 上给命令行程序授权有坑。这篇记下试过的四条路、最后能用的两种办法,以及顺带发现的一个 bug。开发

代码片段

全部 26 条
有新文章时,发一封邮件给你 一个月两到四封,只发新文章。

记的是实际排查过的问题:报错长什么样,试过哪些办法,最后怎么修好的。

常写
WordPress · Nginx · Docker · Linux · macOS
联系
[email protected]
订阅
邮件 · RSS
最近更新
2026-11-05