工具箱
这不是购买推荐,也不是完整软件清单。这里只列出站点文章中经常出现的工具类别、使用方式和选择理由。具体版本会随项目变化;涉及命令的文章会单独注明已验证环境。
嵌入式开发
ESP-IDF 与 CMake
ESP32 项目优先使用官方 ESP-IDF 构建链,CMake 负责把组件依赖、编译选项和生成步骤显式化。关注点不是记住更多命令,而是让全新目录能通过一条记录清楚的命令构建,并能从产物追溯提交与配置。
串口、逻辑分析与示波器
串口日志适合看软件事件,逻辑分析仪适合核对数字总线与操作序号,示波器用于供电、边沿和短暂跌落。三种工具回答的问题不同。排查时尽量让软件日志中的标记与测量触发信号对齐,而不是只拍一张无法定位时间的波形。
测试夹具
继电器、可控负载、短接线和备用传感器用于主动制造断电、接触波动、总线占用和设备缺失。夹具的目标是把“一天偶发一次”缩短成十分钟可重复,而不是模拟所有现实条件。
桌面开发
Python
适合快速构建设备工具、日志处理和自动化脚本。项目使用独立虚拟环境并锁定依赖,发布前在没有 Python 的干净系统验证。数据模型、状态机和协议编解码尽量与界面解耦。
PyInstaller
用于生成 Windows 发布包。spec 文件进入版本控制,正式版更看重启动、诊断和升级稳定性,不追求极限单文件。发布物附版本信息、构建清单和校验值。
日志与诊断包
日志按会话编号串联,按日期滚动并限制保留量。诊断包包含应用版本、系统摘要、脱敏配置、关键日志和错误阶段,不包含密码、令牌、完整 Cookie 或未经处理的个人信息。
AI 工程与自动化
LLM API 客户端
客户端负责超时、限流、错误分类、退避重试和请求标识。模型、参数和提示模板都写入可脱敏的运行清单,凭据只从环境或密钥存储读取。成功以本地验证后的结果为准,不把 HTTP 200 直接当成任务完成。
JSON Schema 与数据模型
结构化输出先经过 JSON 语法检查,再由 schema 验证字段、类型和枚举,最后执行路径范围、引用存在性、唯一性等业务规则。验证失败的响应保存为脱敏样本,进入人工队列或有限修复流程。
任务队列与检查点
批处理为每个输入生成稳定键,检查点记录准备、生成、验证、写入和复核状态。中断后只重做不确定项目;外部写操作优先使用幂等键,无法保证幂等时先读取目标状态。
自动化脚本约定
脚本要有输入校验、试运行、明确退出码、幂等写入和真实回滚。输出使用“动作—对象—结果—下一步”结构,失败日志保留底层原因,同时避免泄露敏感值。
自托管与运维
Halo
作为内容与管理后台。文章、页面、分类和标签保持清晰关系,主题只负责展示,不把唯一数据写进主题文件。更新前备份数据库、附件和配置。
Docker 与 Compose
用于隔离应用和数据库。镜像版本、端口、网络、卷路径和环境文件必须进入服务清单。容器本身可重建,持久卷与数据库则按恢复需求备份。
PostgreSQL
使用逻辑备份保存可迁移的数据副本,恢复验证在独立实例完成。备份文件计算校验值,凭据不写入命令历史和公开日志。
Nginx、Certbot 与 curl
Nginx 负责域名路由和反向代理,证书通过 ACME 工具申请与续期。每次配置变更先备份并执行语法检查;curl 用来分层验证 DNS、状态码、重定向、TLS 和响应头,而不是只看浏览器页面。
选择工具的标准
- 能否从干净环境重复安装或构建;
- 出错时是否保留原始证据;
- 配置和数据边界是否清楚;
- 是否支持脚本化验证与回滚;
- 项目停止维护后,数据能否导出;
- 团队或未来的自己能否看懂。
工具会换,选择标准尽量保持稳定。若某篇文章依赖特定版本,以文章中的验证记录为准。
评论区