技术博客

一次 MySQL 慢查询优化实战:从索引试错到 …

一个 WMS 波次计划列表查询一页数据需要约 6 秒。这篇文章记录实际排查路径:从应用日志拿到真实 SQL,检查现有索引,测试并回退无效索引,最后验证新的 SQL 执行结构。

文中的环境和业务标识均已脱敏,SQL 结构、耗时数据和判断过程来自实际排查。

慢查询的执行结构

页面需要查询波次主表,关联明细与出库单,聚合 OMS 订单号和 Homebase,关联创建人、修改人信息,并查询装车时间,最后按创建时间倒序返回 50 条。

日志中的关键筛选条件是修改时间范围、组织和项目条件,同时按照创建时间排序。

问题就在这里:SQL 在确定页面最终需要的 50 个波次前,已经开始展开明细、聚合并排序。

先 …

最近工作中处理的几个 Bug

最近一段时间,我处理了不少物流系统里的小问题。它们单独看都不算复杂,但麻烦的地方在于:同一个页面、状态、接口、数据库字段,可能会被多个业务步骤同时使用。

这篇记录几个最近工作里比较典型的 Bug 修改。

1. 费用详情不是所有状态都能编辑

其中一个问题出现在费用详情页。预期规则很明确:只有费用状态是 NEWREJECTED 时,才允许编辑费用详情。

实际情况是,某些后续状态的数据,比如 RELEASED_FINANCE,仍然可以打开编辑框。这就有风险,因为费用一旦进入财务流程,再被用户修改,后面的确认、对账、接口同步都可能出问题。

这个修改不能只隐藏按钮。我需要继续看前端打开编辑框的事件 …

使用 AI 维护 Hugo 个人网站:从开源到自动 …

背景

我最初搭建 fichil.com 的目的很简单:有一个自己的技术博客,用来记录开发、部署、排障和开源项目过程。

随着内容变多,只把网站文件放在服务器上不够了。我需要让源码、内容、部署步骤和修改记录都能被检查、复用和回滚。

所以我开始把 fichil.com 整理成一个可以由 AI 辅助维护的 Hugo 开源仓库。

为什么开源 fichil.com

开源这个网站源码,不是为了让别人复制同一个个人网站。更实际的原因是让维护过程更清楚:改了什么、为什么改、出了问题怎么回退。

开源后有几个直接收益:

  • 所有变更都通过 Git 记录,方便回滚和复盘。
  • Hugo 配置、主题、内容结构都能被明确管理。 …

修复 fichil.com 的 VPS 连接拒绝问 …

这篇记录整理了 fichil.com 从无法访问到 Hugo 静态站点正常上线的排障过程。

问题现象

浏览器返回 ERR_CONNECTION_REFUSED。这个错误通常说明域名已经指向服务器,但目标端口没有服务在接收请求。

对这个站点来说,影响很直接:访问链路没恢复之前,新增文章和页面修改都没法在线验证。

排查路径

实际处理时按下面顺序推进:

  1. 确认域名是否解析到 VPS。
  2. 检查 Nginx 是否安装并启动。
  3. 确认服务器是否监听 80 和 443 端口。
  4. 使用 curl http://127.0.0.1 做本机访问验证。
  5. 检查 Nginx 站点配置。
  6. 构建 Hugo 站点,并让 Nginx …