Go语言技术文章
-
Java 命名模块中 ServiceLoader 读不到实现,通常不是接口代码有问题,而是消费模块缺少 uses、实现模块缺少 provides with、提供者不满足 public 构造约束,或实现模块未进入 module path 与解析图。本文用三模块最小示例给出完整排查方法。462 收藏 -
PHP 文件上传不能只看文件名后缀,应在保存前同时检查上传错误码、服务端文件大小、扩展名白名单和 Fileinfo 检测出的 MIME,并使用随机文件名与 move_uploaded_file 落盘。本文给出完整处理器、表单接入和验收清单。167 收藏 -
本文演示如何在 GitHub 网页界面创建 workflow_call 可复用工作流,由调用 job 通过 uses 引用,并用 permissions: contents: read 将 GITHUB_TOKEN 限制到完成检出和测试所需的最小权限。161 收藏 -
软件外包验收应把功能清单与缺陷台账分开管理,再用功能编号关联。本文给出功能清单、缺陷记录的字段设计,说明验收依据、关闭证据、交付物和权限检查,以及通过、有条件通过与不通过的整理方法。125 收藏 -
浏览器缓存命中却仍请求服务器,往往是资源过期后发生了协商缓存。本文从 304、Cache-Control、ETag、刷新方式和 Fetch cache mode 入手,给出 HTML、静态资源与个性化响应的排查和配置清单。477 收藏 -
日志轮转后进程仍写旧文件,通常不是 logrotate 没生效,而是进程持有旧文件描述符。本文用 inode、rename、copytruncate 和 postrotate 解释现象,并给出可复用的排查与修复清单。490 收藏 -
从一次文件下载路径穿越排查出发,给出 pathlib 的安全拼接模板:拒绝绝对路径,解析根目录与候选路径,再用 relative_to 验证目录归属,并说明符号链接、strict 参数和竞态边界。463 收藏 -
使用 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 收藏