Python assertLogs 捕获阈值:代码写了日志,为什么退出 with 时测试仍失败 测试给一段处理流程加上 assertLogs,设置最低级别为 WARNING。流程确实调用了 logger.info,退出 with 时却报告没有捕获日志。这里需要验证的是“指定来源中至少有一条记录达到阈值”,不是“... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Python sched 取消事件:从队列移除了任务,为什么再次 cancel 会报错 程序保存了定时事件,用户取消后从队列移除。清理代码再次取消同一事件,却收到 ValueError。sched.cancel 的契约是移除仍在队列里的那个事件,不是一个重复调用也永远成功的“保证不存在”操作。已经取消或... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Python Barrier 破损状态:第一次等待超时后,为什么下一次 wait 仍立刻失败 两个工作线程约好都完成准备后再进入下一阶段,其中一个没有到达,另一个等到超时。捕获异常之后,程序原地再调用 wait,却马上又失败了。Barrier 的超时会把整个屏障放进破损状态,这个状态会留给后续等待者;单个调用... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
SQLite min 与 max 的参数个数:多写一个值,为什么汇总结果变成了逐行结果 原查询用 max(v) 求整张表的最大值。为了让结果至少为五,维护者顺手改成 max(v, 5),结果接口突然收到三行。这里多出来的实参改变了函数类别:SQLite 的 min 和 max 在只有一个实参时进行聚合,... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
JavaScript flatMap 展开深度:每项能变成多条,为什么里面还有一层数组 一份样品清单里,每个样品拥有零个或多个颜色。导出时需要一条“样品加颜色”明细,普通 map 会得到数组套数组;flatMap 可以把每次回调返回的数组接到最终结果里。但它只展开一层,返回值多包一层方括号,结果中仍会留... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
JavaScript reduce 省略初值:对象数量想求和,为什么结果先出现一段对象文字 从两个零件记录里汇总数量,回调写成“累计值加当前数量”,却得到带有 [object Object] 的字符串。常见原因是省略了初值:reduce 会拿第一条记录本身作为累加器,并从后面的元素开始调用回调。第一条记录不... yunqueblog/ 技术教程/ 2026-10-02/ 4 阅读
SQLite json_each 与 json_tree:看见了数组,为什么还没有拿到里面的元素 把嵌套配置交给 json_each,结果里出现了 panel 和 sizes 两行,却没有 theme 或每个尺寸。json_each 在这里展开的是根对象的直接孩子;一个孩子是对象、另一个孩子是数组,它不会自动把它... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
SQLite OR FAIL 与 ABORT:一条插入报错,前面写进去的行为什么还在 一次多行插入遇到重复编号,应用收到 IntegrityError,便认为这条语句一行也没写入。使用默认的 ABORT 时这个判断通常符合本例,但如果 SQL 明确写了 OR FAIL,失败点之前的成功修改会留下来。只... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
GitHub在仓库首页突出无障碍声明:入口更容易找到,承诺仍要写明版本与已知限制 GitHub于2026年10月1日更新仓库概览,对根目录、.github目录或docs目录中的ACCESSIBILITY.md提供突出展示。公开仓库的Community Standards页面也可用于添加或提议无障碍... yunqueblog/ 最新资讯/ 2026-10-02/ 3 阅读
GitHub新仪表盘成为默认视图:会话、Issues与PR集中显示,每栏十二项仍只是筛选窗口 2026年10月1日,GitHub宣布此前处于功能预览的新仪表盘,已成为所有用户的默认视图。活跃智能体会话、Issues与PR可集中查看,每个列表通过筛选最多显示12项;动态更新放入独立Feed页,用户也可从仪表盘启... yunqueblog/ 最新资讯/ 2026-10-02/ 3 阅读