侧边栏壁纸
博主头像
M的小站

记录问题、证据与可复现的解决过程

  • 累计撰写 15 篇文章
  • 累计创建 36 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

项目档案

项目档案

这里不是“作品墙”,而是一份项目索引。每个条目说明要解决的问题、已经形成的交付物、当前状态和仍未完成的部分。旧项目根据代码提交、实验记录和可确认的产物补档;没有证据的数据不会被补写成成绩。

设备调试台

状态:持续整理
方向:串口采集、时间线、过滤、诊断导出

最初目标是捕获设备偶发重启前的完整日志。工具把接收时间、设备时间、通道、原始字节和人工操作标记合并到一个会话中。采集线程只负责读取与入队,界面卡顿不会直接阻塞串口。

现有记录:

  • 《从串口日志到可视化:第一版设备调试台》
  • 日志批量写入与滚动保存说明
  • 错误编码和原始字节保留策略

下一步:统一蓝牙会话与串口会话格式,增加脱敏后的诊断包导出,并为长时间运行补充丢帧统计。


BLE 设备与蓝牙上位机

状态:原型后持续产品化
方向:连接参数、状态机、断线恢复、设备升级

设备端关注连接间隔、通知背压、任务阻塞和供电;桌面端关注扫描、连接、握手、同步、升级与恢复的完整生命周期。“链路已连接”与“设备可用”被明确分开,所有异步结果通过操作编号避免迟到回调覆盖新会话。

现有记录:

  • 《蓝牙连接为什么总在最需要时断开》
  • 《蓝牙上位机的状态机设计:连接只是第一步》
  • 弱信号、高吞吐和长时间运行验证矩阵

下一步:完善升级中断恢复、能力协商和多设备列表稳定性测试。


ESP32 组件化固件

状态:维护中
方向:板级抽象、服务边界、构建配置、主机侧测试

工程按变化原因拆分为板级、传感器、BLE 协议、显示、存储和应用组装。公共接口保持窄小,具体任务和队列不对外泄漏。构建期能力、板级常量和用户运行配置分别管理。

现有记录:

  • 《ESP32 项目目录如何长大而不失控》
  • 《把一次难复现故障变成可重复实验》
  • 《ST7789 屏幕初始化踩坑记录》

下一步:补齐协议编解码的主机测试、板型配置检查以及固件尺寸趋势报告。


Python 桌面发布链

状态:可用,继续减小环境差异
方向:可复现构建、启动性能、错误诊断、升级迁移

发布流程以干净虚拟环境为起点,spec 文件、依赖锁、版本资源和校验清单进入版本控制。正式交付优先使用目录模式与安装包,便携测试版才使用单文件模式。启动过程按阶段测量,重量级模块延迟导入。

现有记录:

  • 《PyInstaller 发布包:体积、启动速度与可诊断性》
  • 干净虚拟机安装清单
  • 崩溃报告和配置迁移约定

下一步:建立自动化冒烟测试,覆盖无蓝牙、无网络、非管理员和升级降级场景。


LLM API 自动化工具链

状态:实验中
方向:结构化输出、任务队列、错误分类、幂等与回滚

工具链把模型调用视为一个不确定的外部服务。每项输入拥有稳定标识,请求遵守速率限制与重试预算,输出经过 JSON Schema 和业务规则双重校验。文件或数据库写入前保存原状态,任务中断后从检查点恢复。

现有记录:

  • 《让 AI 自动化脚本可重试、可验证、可回滚》
  • API 错误分类与指数退避约定
  • 结构化输出验证与失败样本清单

下一步:为批处理增加幂等测试、配额观测和故障注入,并在独立副本上持续验证回滚。

自托管站点与恢复链

状态:运行中
方向:Halo、PostgreSQL、Nginx、HTTPS、备份恢复

站点曾出现两套 Halo 实例并存、代理指向空实例的情况。恢复过程先识别真实数据库和附件目录,再在内部验证后切换 upstream。域名、证书与 Halo 外部地址随后统一为 HTTPS。

现有记录:

  • 《自托管服务清单与备份策略:恢复才是验收》
  • 《恢复 Halo 博客:一次双实例事故复盘》
  • 《从 HTTP 到 HTTPS:证书部署与代理访问排查记录》

下一步:执行自动续期检查、数据库逻辑备份、附件校验和隔离环境恢复演练。

档案状态说明

  • 实验中:方向仍在验证,接口和结论可能变化;
  • 维护中:核心路径稳定,继续补测试与文档;
  • 可用:完成主要验收,但不表示停止维护;
  • 归档:保留历史参考,不再作为当前推荐方案。

项目档案会随验证结果更新。文章保留过程,知识库保存当前步骤,状态变化会写明日期与原因。

评论区