Go语言技术文章
-
CSS 响应式规则不必二选一:依赖浏览器视口或设备偏好时用 media query,依赖组件祖先容器宽度时用 container query。本文用最小 CSS 片段和决策表说明两者的选择边界。173 收藏 -
用 OpenSSH 的 ProxyJump 和 ~/.ssh/config 配置两级跳板,讲清主机别名、每一跳密钥、临时 -J 验证,以及 ssh -G 和 -vvv 的排错方法。118 收藏 -
Python typing.Protocol 适合把第三方对象需要满足的最小接口写成结构化类型,不要求对方继承本地基类。本文用存储适配场景说明 Protocol、runtime_checkable 与真正行为测试各自能保证什么。298 收藏 -
用 JFR 的事件阈值、一次性录制时长和 jfr 结果读取,捕获 Java 服务一个有限的慢请求窗口,并区分网络等待、锁等待与应用执行线索。395 收藏 -
Composer 报平台依赖不满足时,先用 check-platform-reqs 检查生产机真实 PHP 与扩展,再对照 composer.json 的 require、config.platform 和 lock 文件定位差异,避免用忽略平台要求掩盖运行时问题。264 收藏 -
DataGrip 导出查询结果时,先区分时间列是否真的包含时区,再设置显示时区并选择合适的 data extractor,最后用带偏移量的样本值核对文件,避免把本地显示误当成原始时区信息。371 收藏 -
公共充电桩显示空闲却无法启动时,先按账号支付、枪口锁止、车辆授权和设备状态排查。本文给出安全的检查顺序、换桩判断和联系运营方时应保留的信息。250 收藏 -
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 收藏