Go语言技术文章
-
使用 Java HttpClient 与 CompletableFuture 封装可取消的异步 GET 重试:只重试暂时性异常和指定状态码,加入退避、最大次数与请求超时,并把外层取消传播到当前 HTTP 交换或等待任务。212 收藏 -
用 DateTimeImmutable 和 IANA 时区处理跨时区预约:解析时明确来源时区,保存统一 UTC,展示时再转换,并说明夏令时不存在和重复时间的处理边界。448 收藏 -
以 AWS 为例,把 GitHub Actions 从长期 Access Key 迁移到 OIDC:配置身份提供商、受限 IAM 角色和 id-token 权限,验证短期身份后再删除仓库 Secrets 与旧访问密钥。356 收藏 -
9810海外仓货物离境后,应按是否已销售分流申报;未销售部分可先办出口预退税,后续在核算期内按实际销售结果调整,并留存销售佐证资料。102 收藏 -
用 IntersectionObserver 发现即将进入视口的资源,通过去重队列、unobserve 和 AbortController 实现可停止、可重试的懒加载。401 收藏 -
SSH 关闭密码登录只是起点。本文从账号白名单、root 入口、转发与隧道、认证窗口、有效配置检查和安全加载六个方面,给出一套可逐项落地且便于回滚的 OpenSSH 服务边界收紧方法。297 收藏 -
multiprocessing 处理大对象变慢,瓶颈常在 pickle 序列化、管道传输、反序列化和内存复制,而非计算本身。本文给出量化方法,并用小任务描述符、批量分块和 SharedMemory 改写数据通道。478 收藏 -
从停顿、吞吐和进程内存余量三个维度比较 G1 与 ZGC,给出 Xmx 估算、统一压测参数、GC 日志指标和灰度回退清单。446 收藏 -
Composer 依赖冲突的核心是多个版本约束没有共同候选。先用 prohibits/why-not 还原阻塞路径,区分普通包与 PHP、扩展等平台依赖,再通过局部 update、-W、--minimal-changes 与 dry-run 控制最小调整面。341 收藏 -
Docker 容器启用只读根文件系统后,应只为真实写目录配置挂载:/tmp、/run 等易失数据使用 tmpfs,需要跨容器保留的数据使用 volume。本文给出 docker run、Compose 配置、权限处理与正反向验证方法。131 收藏 -
前端状态更新频繁时,批处理负责合并同一调度窗口的重复提交,去抖负责等待连续输入停止后再执行副作用。本文用原生 JavaScript 拆开两者的触发边界,并给出输入、请求、状态和绘制的组合方案。227 收藏 -
Linux 负载高并不等于 CPU 已满。本文用 /proc/loadavg、vmstat、iostat、pidstat、ps 和锁统计,把 I/O 等待与锁等待拆成可复核的排查证据。398 收藏 -
解释 PHP Session 文件锁让同一用户并发请求排队的原因,并用 read_and_close 与 session_write_close 缩短持锁区间,区分会话锁和数据库一致性控制。305 收藏 -
Python import 很慢时,应先用 -X importtime 区分模块自身耗时与包含子依赖的累计耗时,再排查模块顶层的文件 I/O、网络连接、插件扫描和重对象构造。本文给出轻量 __init__、函数内 import、按需初始化及复测方法,并说明延迟导入只是转移成本。292 收藏 -
Java 堆稳定而进程 RSS 持续上涨时,可用 NMT 建立基线并读取 summary.diff,按 committed 分类增量判断 Class、Thread、Code、GC/Internal 等来源;若 NMT 总量稳定而 RSS 继续增长,则应转向 JNI、第三方库和系统级内存证据。414 收藏