Go语言技术文章
-
Service Worker 更新后仍读到旧文件,通常不是浏览器拒绝更新,而是新 worker 还在 waiting、页面仍由旧 controller 控制,或 fetch 代码继续命中旧的 Cache Storage。本文用版本化缓存、activate 清理和可控接管方式排查这个边界。251 收藏 -
Linux 中使用 rsync --delete 同步目录时,先用 --dry-run 预览目标端删除项,再用排除规则保护缓存、日志和备份目录,最后确认源目标路径后执行正式同步。384 收藏 -
Python subprocess 同时捕获 stdout 和 stderr 时,父进程若只读取一侧或先 wait 可能因管道写满而卡住。本文用 communicate 收集双流,并说明 TimeoutExpired 后 kill 与再次 communicate 的安全收尾方式。459 收藏 -
ConcurrentHashMap.computeIfAbsent 的映射函数不能递归更新同一键。本文解释原子计算边界、IllegalStateException 的成因,并用局部解析状态加 putIfAbsent 演示如何拆分递归计算与共享缓存发布。323 收藏 -
DOMDocument 解析不可信 XML 时,默认不要打开实体替换和外部 DTD 加载;用 LIBXML_NONET 限制网络访问,并按 PHP/libxml 能力补充 LIBXML_NO_XXE。本文给出安全的最小配置、遗留 DTD 场景的隔离方式和升级检查清单。409 收藏 -
在 IntelliJ IDEA 中使用 JUnit Pattern 运行配置,只执行当前测试类里指定的一组方法,并在 Run 窗口核对实际执行范围。364 收藏 -
企业采购合同不能只写货到验收合格。本文说明如何区分交货、初检、性能测试和最终验收,如何写清检验期限、客观标准、异议通知与证据留存,减少收货、付款和质量争议。133 收藏 -
Fetch 调用 AbortController 取消后,catch 和 finally 仍会按 Promise 规则执行;真正需要防止的是旧请求在 await 后继续更新业务状态。本文用 signal.aborted、请求代次和 finally 清理讲清排查与修复方法。168 收藏 -
cron 不会自动复刻登录后的交互式 shell。本文从 PATH、SHELL、HOME 和 PWD 入手,用最小记录脚本与显式 cd、绝对路径修复定时任务环境差异。150 收藏 -
Java CompletableFuture 超时并不会自动停止底层任务。本文用可取消的 Future 连接超时结果与执行器任务,说明 Future.cancel(true)、线程中断和 I/O 超时该如何配合。175 收藏 -
文章 · python教程 | 2星期前 | 性能优化 · 多线程 · Python教程 · Python logging queue.Queue 后台线程 QueueHandler QueueListener
用 Python 标准库的 QueueHandler、queue.Queue 和 QueueListener,把日志输出移到后台线程,并处理有界队列、异常信息与退出时的队列刷新。174 收藏 -
用 DateTimeImmutable 和明确的 IANA 时区计算月末,避开直接加月份的月底溢出,并封装成可复用的 PHP 函数。447 收藏 -
在 Postman 的 Post-response 脚本中解析响应 JSON,把指定字段写入 Collection 变量,并在后续请求中用双大括号引用;同时说明字段缺失、变量作用域和旧值残留的排查方法。472 收藏 -
快递丢件后,保价快件先看保价金额和运单约定的保价规则,未保价快件则结合运单条款、实际损失和运输记录主张赔付。本文整理两种路径的区别、证据材料与提交索赔时的核对顺序。111 收藏 -
Vite 路由使用动态 import 后首屏仍然偏大,通常不是分包失效,而是入口静态依赖、共享依赖或 CSS 仍被首屏带入。本文用构建 manifest 和模块边界逐层定位原因。343 收藏