20260306
每日一谚:The best performance improvement is the transition from the nonworking state to the working state. — John Ousterhout
数据说话:Go 1.26 或成近年来“问题最多”的大版本,现在升级安全吗?
最近,我在例行了解 Go 官方仓库的 GitHub 里程碑数据时,发现了一个令人警惕的信号:Go 1.26.1 的 Issue 数量,正在呈现出明显的“异常峰值”。本文将用真实的数据说话,带你横向拉网式对比 Go 1.17 到 Go 1.26 这五年间、共十个大版本的初期质量水平,并深度拆解这些 Issue 的具体成分。Go 1.26 到底稳不稳定?现在升级安全吗?答案就在这些数据里。
从手写代码到日提 30 个 PR:Claude Code 缔造者的 AI 编程启示录
想象一下,你加入了一家全球顶级的 AI 实验室,满怀热情地提交了第一个 Pull Request (PR)。然而,你的 PR 却被直接拒绝了。原因不是代码写 得不好,而是——这代码是你“手写”的。 这不是科幻小说,这是 Boris Cherny 加入 Anthropic 时的真实经历。作为目前炙手可热的 AI 编程工具 Claude Code的缔造者和工程负责人,Boris 曾是 Meta (前 Facebook) 最高产的程序员之一。但在 Opus 4.5 模型发布后,他的工作流发生了颠覆性的变化: 现在,他每天可以提交 20 到 30 个 PR,且不再手动编辑任何一行代码。
使用 GoLand 将你的代码库迁移到 Go 1.26
了解 GoLand 如何通过自动快速修复支持 Go 1.26 语法,例如类型安全的 `errors.AsType` 和使用 `new()` 的指针创建,从而更新您的代码库。文章详细介绍了如何从单个修复扩展到整个项目的更新,旨在使迁移过程更顺畅地融入日常工作。
布隆过滤器(Bloom Filters)的魔力
深入探讨 Go 语言中的布隆过滤器。我们从零开始构建一个,使用 Kirsch-Mitzenmacher 优化它,并发现为什么你选择的哈希函数可能没有你想象的那么重要(或者……真的吗?)。文章详细介绍了布隆过滤器的原理、实现(使用 atomic.Uint64 实现无锁并发安全)、Kirsch-Mitzenmacher 优化(仅需两个哈希函数模拟多个独立哈希)、性能基准测试(FNV 胜出,因为接口分配惩罚)以及应对“不可删除”约束的策略(如重建、计数布隆过滤器或时间轮转)。
消息传递即共享可变状态 — 因果关系
消息传递未能消除并发错误的失败并非出乎意料,而是早有预言。Edward Lee在2006年论证了共享内存与消息传递之争是一个错误的二分法。Go语言是一次价值十亿美元的自然实验,结果证实了这一预测。文章指出,消息传递(如Go的channel)经常将并发问题从一种形式(锁)转移到另一种形式(共享的、可变的通信结构),本质上仍是共享可变状态问题。即使是Erlang也需要一个共享可变状态的“逃逸舱口”来满足性能要求,从而重新引入了模型本应避免的错误。作者认为,并发问题的根源不在于协调机制的选择,而在于更深层次的基础。
包管理器魔术文件
包管理器魔术文件以及查找它们的位置:.npmrc、MANIFEST.in、Directory.Packages.props、.pnpmfile.cjs 等。本文深入探讨了在各种包管理器生态系统中存在的、控制配置、发布、工作区、覆盖和完整性验证的“魔术文件”,这些文件通常文档不全且命名不一致。
大迁移:为什么每个AI平台都在向Kubernetes靠拢
Kubernetes最初的承诺是让部署微服务像运行容器一样简单。快进到2026年,Kubernetes不再仅仅用于无状态的Web服务。AI平台正在收敛于Kubernetes,因为它为数据处理、模型训练、推理和智能体提供了统一的基础设施,解决了在不同系统上运行这些工作负载带来的复杂性。文章回顾了从微服务到AI/Agentic时代的演变,重点介绍了Spark、Kubeflow Pipelines、Volcano、Kueue、KServe以及Karpenter等项目如何共同构建一个统一的AI操作系统,并探讨了GPU经济优化和多集群编排的趋势。
好的软件知道何时停止
这篇文章探讨了一个重要的软件设计理念:好的软件应该清楚自己的目标和解决的问题,并且知道何时应该停止增加功能,何时需要将任务交给其他工具。作者引用了 37Signals (Basecamp) 著作《重构》和《实战》中的核心原则,如“约束是优势”、“默认说不”等,来强调聚焦于核心价值的重要性。文章在当前技术趋势下(如 Minio 变成 AIStor,Oracle 数据库集成 AI)提醒读者,对于既定问题做到最好,成为事实标准,比盲目追求“最新热门”更具价值。
格雷格·克罗-哈特曼延长了关键 Linux LTS 内核的支持期限
Linux 内核维护者格雷格·克罗-哈特曼宣布,在与主要用户和其他内核维护者协商后,将延长几个长期支持(LTS)Linux 内核版本的生命周期。例如,6.12 和 6.18 内核的预计 EOL(生命周期结束)日期被推迟,反映了企业对内核长期稳定性的实际需求。
Agentic manual testing - Agentic Engineering Patterns
本文讨论了在代码代理(coding agent)开发中进行“代理人工测试”(Agentic manual testing)的重要性。作者强调,尽管代理可以编写并运行单元测试,但手动测试仍然是发现自动化测试遗漏问题的关键。文章介绍了多种代理执行手动测试的机制,包括使用 `python -c` 进行Python代码测试、编写演示文件、使用 `curl` 探索JSON API,以及对于Web UI,利用 Playwright 或作者的 Rodney 工具进行浏览器自动化测试。此外,作者还介绍了如何使用 Showboat 工具记录代理的手动测试过程,以生成有据可查的文档和演示。
**翻译后的标题:** 代理人工测试 - 代理工程模式 - 西蒙·威利森的博客
**翻译后的摘要:** 本文讨论了在代码代理(coding agent)开发中进行“代理人工测试”(Agentic manual testing)的重要性。作者强调,尽管代理可以编写并运行单元测试,但手动测试仍然是发现自动化测试遗漏问题的关键。文章介绍了多种代理执行手动测试的机制,包括使用 `python -c` 进行 Python 代码测试、编写演示文件、使用 `curl` 探索 JSON API,以及对于 Web UI,利用 Playwright 或作者的 Rodney 工具进行浏览器自动化测试。此外,作者还介绍了如何使用 Showboat 工具记录代理的手动测试过程,以生成有据可查的文档和演示。
劳动力市场受AI影响:新衡量标准与早期证据
本文介绍了一种衡量AI对劳动力市场影响的新框架,通过结合LLM的理论能力和真实世界使用数据,重点关注自动化和工作相关的使用情况,提出了“观察到的暴露度”这一新指标。研究发现,理论上可被LLM加速的任务中,实际应用仍有较大差距。高暴露度的职业预计在2034年前增长较慢,且从事这些职业的工人倾向于更年长、受教育程度更高、收入更高。迄今为止,高暴露度工人失业率未见系统性增加,但对22-25岁年轻工人在高暴露度职业中的招聘放缓有初步证据。
aquasecurity/trivy
Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more
Ed1s0nZ/CyberStrikeAI
CyberStrikeAI is an AI-native security testing platform built in Go. It integrates 100+ security tools, an intelligent orchestration engine, role-based testing with predefined security roles, a skills system with specialized testing skills, and comprehensive lifecycle management capabilities.
wavetermdev/waveterm
An open-source, cross-platform terminal for seamless workflows
VictoriaMetrics/VictoriaLogs
Fast and easy to use database for logs, which can efficiently handle terabytes of logs
kubernetes/kubernetes
Production-Grade Container Scheduling and Management
actions/actions-runner-controller
Kubernetes controller for GitHub Actions self-hosted runners
xpzouying/xiaohongshu-mcp
MCP for xiaohongshu.com
jackc/pgx
PostgreSQL driver and toolkit for Go
steveyegge/gastown
Gas Town - multi-agent workspace manager
steipete/gogcli
Google Suite CLI: Gmail, GCal, GDrive, GContacts.
Netflix/chaosmonkey
Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.
Wei-Shaw/sub2api
Sub2API-CRS2 一站式开源中转服务,让 Claude、Openai 、Gemini、Antigravity订阅统一接入,支持拼车共享,更高效分摊成本,原生工具无缝使用。
canopy-network/canopy
The official go implementation of the Canopy Network protocol
projectdiscovery/katana
A next-generation crawling and spidering framework.
projectcalico/calico
Cloud native networking and network security
microsoft/typescript-go
Staging repo for development of native port of TypeScript
docker/compose
Define and run multi-container applications with Docker
ollama/ollama
Get up and running with Kimi-K2.5, GLM-5, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
istio/istio
Connect, secure, control, and observe services.
编辑:Tony Bai
编辑主页:tonybai.com
GopherDaily项目:github.com/bigwhite/gopherdaily
Copyright 2019-2024 GopherDaily