Go语言技术文章
-
Go 1.27 引入泛型方法后,方法可以声明自己的类型参数,但接口方法仍不能声明类型参数。本文用 Rand.N、函数类型推断和接口边界说明如何判断代码能否编译,以及如何保留兼容性。474 收藏 -
Redis 向量检索不是把 KNN 数字改大就能得到稳定结果。使用 FT.SEARCH 时,应先明确过滤条件、DIALECT 2 和 HYBRID_POLICY 的关系,再根据候选规模选择 ADHOC_BF 或 BATCHES,并检查距离排序是否符合业务语义。474 收藏 -
当卡片标题、正文和按钮高度不一致时,CSS subgrid 可以让嵌套卡片共享父级网格轨道。本文用一组商品卡片拆开 grid-template-rows: subgrid 的生效条件、代码改法、@supports 回退与常见边界。474 收藏 -
Go 1.27 的 go doc 可以直接查询 package@version。本文讲清它与当前工作区文档的差别、版本查询边界、私有模块配置和升级前核对方法。474 收藏 -
科技周边 · 业界新闻 | 2个月前 | 安全 · CI/CD · gitHub actions · 业界新闻 · 开发者工具 · 代码审查 供应链安全 业界新闻 GitHub Actions 机器人PR CI安全
本文结合 GitHub 官方 Changelog,分析机器人创建的 PR 运行工作流前需要审批这一变化,提醒团队重新梳理 CI/CD 权限、密钥和审查边界。473 收藏 -
Python 批量处理文件时,进度输出不能只追求好看:交互终端需要实时进度,CI 和重定向日志需要稳定文本,Ctrl+C 则要留下可恢复的检查点。本文用标准库实现 TTY 检测、节流输出、SIGINT 安全取消和断点续跑。473 收藏 -
Linux 上部署一个常驻业务服务时,服务单元与 Docker Compose 的差别不只在于是否容器化。用启动依赖、日志入口、恢复方式和回滚颗粒度四个维度,判断订单、接口等服务该选哪条路径。473 收藏 -
接口定义已经改了,生成的 Go 文件却忘了提交,是多人协作里很隐蔽的一类问题。本文从生成入口、差异检查、提交前核对和 CI 门禁四个环节,搭建一套让 Protobuf 代码漂移无处藏身的 Go 项目工作流。473 收藏 -
Evernote可从官网进入网页版,也可通过官方下载页安装桌面或移动应用;登录、更新和安全下载应按设备平台选择官方渠道。473 收藏 -
服务明明还有内存,却突然无法创建新线程或子进程,优先检查 cgroup v2 的 pids.max、pids.current、pids.peak 和 pids.events,再回到服务管理器的 TasksMax=确认限制来源。本文给出一套可回滚的定位顺序。473 收藏 -
Java 16 起 Stream.toList() 进入生态,但迁移到 Java 21 时要处理空结果、并行行为和序列化返回类型差异,避免线上行为回归。473 收藏 -
Python logging 的 QueueHandler 能把业务线程和日志写入解耦,但队列满、监听线程退出顺序不对时会出现丢日志。本文拆开背压处理、队列容量和优雅退出的边界,给出可复现的验收代码。473 收藏 -
Go slog.Logger.With 会返回带属性的新 Logger,不会改写原 Logger。本文用并发请求和测试场景说明共享字段污染的成因、检查方法、隔离写法与验收边界。473 收藏 -
解释 encoding/csv.Reader.ReuseRecord 的切片复用语义,演示批量读取时如何降低分配,以及需要长期保存记录时如何避免数据被下一次 Read 覆盖。473 收藏 -
SetMemoryLimit 和 GOMEMLIMIT 都是在约束 Go 运行时内存预算,但它们不是硬性进程上限。本文用一个可复测的小程序说明 GC 频率、HeapReleased 与外部内存的边界,并给出压测和容器部署中的核对方法。473 收藏