技术博客
一次 MySQL 慢查询优化实战:从索引试错到 …
一个 WMS 波次计划列表查询一页数据需要约 6 秒。这篇文章记录实际排查路径:从应用日志拿到真实 SQL,检查现有索引,测试并回退无效索引,最后验证新的 SQL 执行结构。
文中的环境和业务标识均已脱敏,SQL 结构、耗时数据和判断过程来自实际排查。
慢查询的执行结构
页面需要查询波次主表,关联明细与出库单,聚合 OMS 订单号和 Homebase,关联创建人、修改人信息,并查询装车时间,最后按创建时间倒序返回 50 条。
日志中的关键筛选条件是修改时间范围、组织和项目条件,同时按照创建时间排序。
问题就在这里:SQL 在确定页面最终需要的 50 个波次前,已经开始展开明细、聚合并排序。
先 …
最近工作中处理的几个 Bug
最近一段时间,我处理了不少物流系统里的小问题。它们单独看都不算复杂,但麻烦的地方在于:同一个页面、状态、接口、数据库字段,可能会被多个业务步骤同时使用。
这篇记录几个最近工作里比较典型的 Bug 修改。
1. 费用详情不是所有状态都能编辑
其中一个问题出现在费用详情页。预期规则很明确:只有费用状态是 NEW 或 REJECTED 时,才允许编辑费用详情。
实际情况是,某些后续状态的数据,比如 RELEASED_FINANCE,仍然可以打开编辑框。这就有风险,因为费用一旦进入财务流程,再被用户修改,后面的确认、对账、接口同步都可能出问题。
这个修改不能只隐藏按钮。我需要继续看前端打开编辑框的事件 …
使用 AI 维护 Hugo 个人网站:从开源到自动 …
背景
我最初搭建 fichil.com 的目的很简单:有一个自己的技术博客,用来记录开发、部署、排障和开源项目过程。
随着内容变多,只把网站文件放在服务器上不够了。我需要让源码、内容、部署步骤和修改记录都能被检查、复用和回滚。
所以我开始把 fichil.com 整理成一个可以由 AI 辅助维护的 Hugo 开源仓库。
为什么开源 fichil.com
开源这个网站源码,不是为了让别人复制同一个个人网站。更实际的原因是让维护过程更清楚:改了什么、为什么改、出了问题怎么回退。
开源后有几个直接收益:
- 所有变更都通过 Git 记录,方便回滚和复盘。
- Hugo 配置、主题、内容结构都能被明确管理。 …
修复 fichil.com 的 VPS 连接拒绝问 …
这篇记录整理了 fichil.com 从无法访问到 Hugo 静态站点正常上线的排障过程。
问题现象
浏览器返回 ERR_CONNECTION_REFUSED。这个错误通常说明域名已经指向服务器,但目标端口没有服务在接收请求。
对这个站点来说,影响很直接:访问链路没恢复之前,新增文章和页面修改都没法在线验证。
排查路径
实际处理时按下面顺序推进:
- 确认域名是否解析到 VPS。
- 检查 Nginx 是否安装并启动。
- 确认服务器是否监听 80 和 443 端口。
- 使用
curl http://127.0.0.1做本机访问验证。 - 检查 Nginx 站点配置。
- 构建 Hugo 站点,并让 Nginx …