{"repo": "bigwhite/gopherdaily", "files": {"docs/202508/issue-20250807.html": {"28b747f84290637b3ee4a72eb3f4a4a778c56ffc": {"t": 1785747295.8832579, "n": 9614, "h": "3854dd06bfd6ef53", "c": "\n\n\n\n\n\n\nGopherDaily\n\n\n\n\t\n\n\n\n\n
\n 主页 |\n Web版 |\n 订阅 |\n 归档 |\n Feed\n
\n\n\n\n

GopherDaily

\n\n
\n

\n 20250807\n

\n

每日一谚:Gracefully Shut Down Your Application

\n
\n\n
\n\n

Go技术生态

\n\n\n

Go模块的“分叉之痛”:一个提案能否终结“全局替换”的噩梦?
Go 核心贡献者之一的 Josharian,在 Go 官方仓库提出了 Issue #74884: proposal: cmd/go: make it easier to fork modules。这个提案,为终结go module fork噩梦带来了一线曙光。

\n\n

泛型可能会让你的Go代码变慢
Go 泛型是Go 1.18中添加的一个期待已久的特性。本文讨论了泛型在Go中的实现以及它们可能对代码产生的一些意外影响。

\n\n

代理需要测试
代理需要测试。Dolt是唯一具有内置测试引擎的SQL数据库。Dolt是代理的数据库。本文将解释这一概念。

\n\n

破解保险库:我们如何发现HashiCorp Vault中的零日漏洞
秘密保险库是数字基础设施的支柱。在几周的深入调查中,我们识别了九个之前未知的零日漏洞,每个漏洞都通过负责任的披露分配了CVE。我们与HashiCorp密切合作,确保所有问题在公开发布之前都已修复。我们发现了一种逻辑失败的模式,这些失败单独和结合在一起,会创建危险的攻击路径,特别是在现实世界的Vault部署中,配置错误或权限过大是很常见的。

\n\n\n

云原生技术

\n\n\n

Tailscale 不是什么:匿名服务
Tailscale 是一款安全的连接工具,它最看重您数据包的隐私。但我们从一开始就故意选择不去尝试成为匿名工具。事实上,恰恰相反!我们是一个以身份为中心 of network.

\n\n

Hello eBPF: 使用自定义 Linux 调度程序进行并发测试
本文介绍了 P99 CONF 演讲者 Johannes Bechberger(SAP SE 的 OpenJDK 开发者)撰写的一篇客座文章。 Johannes 和 Jake Hillion(Meta 的软件工程师)将在 P99 CONF 2025(免费 + 虚拟)上深入探讨“使用自定义 Linux 调度程序进行并发测试”。

\n\n

Accelerating FedRAMP Compliance with Docker Hardened Images
了解 FedRAMP 合规性的挑战以及 Docker Hardened Images 如何使满足 FedRAMP 要求变得更容易且成本更低。

\n\n

Diff 风险评分:人工智能驱动的风险感知软件开发
Diff 风险评分 (DRS) 是一项由 Meta 构建的人工智能驱动技术,用于预测代码更改导致生产事故(也称为 SEV)的可能性。DRS 基于经过微调的 Llama LLM,评估代码更改和元数据,以生成风险评分并突出显示潜在的风险代码片段。如今,DRS 支持许多风险感知功能,这些功能优化了产品质量、开发人员生产力和计算能力效率。值得注意的是,DRS 帮助我们消除了重大的代码冻结,让开发人员能够在历史上无法做到的情况下发布代码,同时最大限度地减少了对客户体验和业务的影响。

\n\n

事务修复:在多核处理器上扩展乐观并发控制
这篇来自SIGMOD 2016年的论文提出了一种事务修复方法,以提高在多核架构上运行的内存OLTP系统中乐观并发控制(OCC)的可扩展性。该系统不是在验证失败时丢弃整个执行,而是在高争用情况下修复仅有的不一致操作以提高吞吐量。

\n\n

通过代码代理学习 Rust
通过代码代理进行推理学习 Rust 是一种有效的学习方法,强调在实践中学习,通过理解和推理代码背后的逻辑来掌握 Rust 的高级特性。文章介绍了推理的概念、流程,并以实际例子说明了如何通过代码代理生成代码、查找不熟悉的点、提问和实践,从而深入理解 Rust 的设计选择。文章强调推理的重要性,认为代码代理是为思考提供材料,而不是取代学习,鼓励读者在实践中运用推理,最终形成自己的判断。

\n\n

Multigres | Multigres
Multigres 是一个为 Postgres 构建 Vitess 适配项目的项目。这是一个横向可扩展的 Postgres 架构,支持多租户、高可用性和全球分布式部署,同时忠于标准的 Postgres。

\n\n

Why Building Billing Systems is So Painful
本文探讨了构建计费系统的复杂性。文章首先介绍了订阅、按座位收费和基于使用的计费模式,强调了每种模式带来的技术挑战。然后,文章讨论了计费对业务的重要性,强调了它在收入管理、合规性和业务决策中的作用。文章还深入探讨了团队建设、确定优先事项、建立领域模型和保持单一事实来源的重要性。最后,文章强调了计费作为一种战略资产,推动公司增长和成功。

\n \n\n

AI

\n\n\n

Jules,我们的异步编码代理现在向所有人开放
我五月份写了关于Jules测试版的内容。 谷歌的 OpenAI Codex PR 提交托管编码工具的更新版本今天正式推出了测试阶段。我主要现在链接到这里是因为我喜欢他们在博客文章中使用的新术语:异步编码代理。 我非常喜欢它,我给它加了一个标签。

\n\n

Claude Code:Agentic 编码的最佳实践
一篇博客文章,介绍了使用 Claude Code 跨各种代码库、语言和环境时已被证明有效的技巧和窍门。

\n\n

Gemini CLi vs. Claude Code : 更好的编码代理 - Composio
在这篇博文中,我通过构建一个具有 MCP 集成的 CLI 代理来比较 Gemini CLI 与 Claude Code。 因此,这是我的观察结果。

\n\n

How to run gpt-oss locally with Ollama
Want to get OpenAI gpt-oss running on your own hardware? This guide will walk you through how to use Ollama to set up gpt-oss-20b or gpt-...

\n\n

产品设计人才危机
文章探讨了产品设计行业中出现的人才危机,指出高级设计师需求激增,但缺乏足够的初级设计师培养机会,导致行业发展面临停滞风险。文章分析了产生危机的原因,如公司倾向于聘用经验丰富的员工,以及缺乏对初级设计师的投资。文章还探讨了其他行业(如管理咨询和德国制造业)的成功模式,并提出了针对设计行业的解决方案,包括结构化的导师计划、助理产品设计师计划和人才梯度等。文章呼吁行业采取行动,以解决人才短缺问题,确保产品设计领域的持续发展。

\n\n\n

流行工具与项目

\n\n\n

ollama/ollama
Get up and running with OpenAI gpt-oss, DeepSeek-R1, Gemma 3 and other models.

\n\n

netbirdio/netbird
Connect your devices into a secure WireGuard®-based overlay network with SSO, MFA and granular access controls.

\n\n

jesseduffield/lazygit
simple terminal UI for git commands

\n\n

go-gitea/gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD

\n\n

rancher/rancher
Complete container management platform

\n\n

golang/go
The Go programming language

\n\n

gravitational/teleport
The easiest, and most secure way to access and protect all of your infrastructure.

\n\n

hashicorp/terraform
Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

\n\n

trufflesecurity/trufflehog
Find, verify, and analyze leaked credentials

\n\n

moonD4rk/HackBrowserData
Extract and decrypt browser data, supporting multiple data types, runnable on various operating systems (macOS, Windows, Linux).

\n\n

iawia002/lux
👾 Fast and simple video download library and CLI tool written in Go

\n\n

crossplane/crossplane
The Cloud Native Control Plane

\n\n

open-telemetry/opentelemetry-collector-contrib
Contrib repository for the OpenTelemetry Collector

\n\n

labstack/echo
High performance, minimalist Go web framework

\n\n

dstotijn/hetty
An HTTP toolkit for security research.

\n\n

minio/minio
MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license.

\n\n

grafana/alloy
OpenTelemetry Collector distribution with programmable pipelines

\n\n

openai/openai-go
The official Go library for the OpenAI API

\n\n

hashicorp/vault
A tool for secrets management, encryption as a service, and privileged access management

\n\n

microsoft/typescript-go
Staging repo for development of native port of TypeScript

\n\n

uber-go/fx
A dependency injection based application framework for Go.

\n\n

jackc/pgx
PostgreSQL driver and toolkit for Go

\n\n

kubernetes/minikube
Run Kubernetes locally

\n\n

kubernetes-sigs/external-dns
Configure external DNS servers dynamically from Kubernetes resources

\n\n\n
\n\n
\n

编辑:Tony Bai

\n

编辑主页:tonybai.com

\n

GopherDaily项目:github.com/bigwhite/gopherdaily

\n

Copyright 2019-2024 GopherDaily

\n
\n\n\n\n\n"}, "6d7a88ddba27cd807c08e984027a5594782bb96b": {"t": 1785772213.2341805, "n": 9614, "h": "3854dd06bfd6ef53", "c": "\n\n\n\n\n\n\nGopherDaily\n\n\n\n\t\n\n\n\n\n
\n 主页 |\n Web版 |\n 订阅 |\n 归档 |\n Feed\n
\n\n\n\n

GopherDaily

\n\n
\n

\n 20250807\n

\n

每日一谚:Gracefully Shut Down Your Application

\n
\n\n
\n\n

Go技术生态

\n\n\n

Go模块的“分叉之痛”:一个提案能否终结“全局替换”的噩梦?
Go 核心贡献者之一的 Josharian,在 Go 官方仓库提出了 Issue #74884: proposal: cmd/go: make it easier to fork modules。这个提案,为终结go module fork噩梦带来了一线曙光。

\n\n

泛型可能会让你的Go代码变慢
Go 泛型是Go 1.18中添加的一个期待已久的特性。本文讨论了泛型在Go中的实现以及它们可能对代码产生的一些意外影响。

\n\n

代理需要测试
代理需要测试。Dolt是唯一具有内置测试引擎的SQL数据库。Dolt是代理的数据库。本文将解释这一概念。

\n\n

破解保险库:我们如何发现HashiCorp Vault中的零日漏洞
秘密保险库是数字基础设施的支柱。在几周的深入调查中,我们识别了九个之前未知的零日漏洞,每个漏洞都通过负责任的披露分配了CVE。我们与HashiCorp密切合作,确保所有问题在公开发布之前都已修复。我们发现了一种逻辑失败的模式,这些失败单独和结合在一起,会创建危险的攻击路径,特别是在现实世界的Vault部署中,配置错误或权限过大是很常见的。

\n\n\n

云原生技术

\n\n\n

Tailscale 不是什么:匿名服务
Tailscale 是一款安全的连接工具,它最看重您数据包的隐私。但我们从一开始就故意选择不去尝试成为匿名工具。事实上,恰恰相反!我们是一个以身份为中心 of network.

\n\n

Hello eBPF: 使用自定义 Linux 调度程序进行并发测试
本文介绍了 P99 CONF 演讲者 Johannes Bechberger(SAP SE 的 OpenJDK 开发者)撰写的一篇客座文章。 Johannes 和 Jake Hillion(Meta 的软件工程师)将在 P99 CONF 2025(免费 + 虚拟)上深入探讨“使用自定义 Linux 调度程序进行并发测试”。

\n\n

Accelerating FedRAMP Compliance with Docker Hardened Images
了解 FedRAMP 合规性的挑战以及 Docker Hardened Images 如何使满足 FedRAMP 要求变得更容易且成本更低。

\n\n

Diff 风险评分:人工智能驱动的风险感知软件开发
Diff 风险评分 (DRS) 是一项由 Meta 构建的人工智能驱动技术,用于预测代码更改导致生产事故(也称为 SEV)的可能性。DRS 基于经过微调的 Llama LLM,评估代码更改和元数据,以生成风险评分并突出显示潜在的风险代码片段。如今,DRS 支持许多风险感知功能,这些功能优化了产品质量、开发人员生产力和计算能力效率。值得注意的是,DRS 帮助我们消除了重大的代码冻结,让开发人员能够在历史上无法做到的情况下发布代码,同时最大限度地减少了对客户体验和业务的影响。

\n\n

事务修复:在多核处理器上扩展乐观并发控制
这篇来自SIGMOD 2016年的论文提出了一种事务修复方法,以提高在多核架构上运行的内存OLTP系统中乐观并发控制(OCC)的可扩展性。该系统不是在验证失败时丢弃整个执行,而是在高争用情况下修复仅有的不一致操作以提高吞吐量。

\n\n

通过代码代理学习 Rust
通过代码代理进行推理学习 Rust 是一种有效的学习方法,强调在实践中学习,通过理解和推理代码背后的逻辑来掌握 Rust 的高级特性。文章介绍了推理的概念、流程,并以实际例子说明了如何通过代码代理生成代码、查找不熟悉的点、提问和实践,从而深入理解 Rust 的设计选择。文章强调推理的重要性,认为代码代理是为思考提供材料,而不是取代学习,鼓励读者在实践中运用推理,最终形成自己的判断。

\n\n

Multigres | Multigres
Multigres 是一个为 Postgres 构建 Vitess 适配项目的项目。这是一个横向可扩展的 Postgres 架构,支持多租户、高可用性和全球分布式部署,同时忠于标准的 Postgres。

\n\n

Why Building Billing Systems is So Painful
本文探讨了构建计费系统的复杂性。文章首先介绍了订阅、按座位收费和基于使用的计费模式,强调了每种模式带来的技术挑战。然后,文章讨论了计费对业务的重要性,强调了它在收入管理、合规性和业务决策中的作用。文章还深入探讨了团队建设、确定优先事项、建立领域模型和保持单一事实来源的重要性。最后,文章强调了计费作为一种战略资产,推动公司增长和成功。

\n \n\n

AI

\n\n\n

Jules,我们的异步编码代理现在向所有人开放
我五月份写了关于Jules测试版的内容。 谷歌的 OpenAI Codex PR 提交托管编码工具的更新版本今天正式推出了测试阶段。我主要现在链接到这里是因为我喜欢他们在博客文章中使用的新术语:异步编码代理。 我非常喜欢它,我给它加了一个标签。

\n\n

Claude Code:Agentic 编码的最佳实践
一篇博客文章,介绍了使用 Claude Code 跨各种代码库、语言和环境时已被证明有效的技巧和窍门。

\n\n

Gemini CLi vs. Claude Code : 更好的编码代理 - Composio
在这篇博文中,我通过构建一个具有 MCP 集成的 CLI 代理来比较 Gemini CLI 与 Claude Code。 因此,这是我的观察结果。

\n\n

How to run gpt-oss locally with Ollama
Want to get OpenAI gpt-oss running on your own hardware? This guide will walk you through how to use Ollama to set up gpt-oss-20b or gpt-...

\n\n

产品设计人才危机
文章探讨了产品设计行业中出现的人才危机,指出高级设计师需求激增,但缺乏足够的初级设计师培养机会,导致行业发展面临停滞风险。文章分析了产生危机的原因,如公司倾向于聘用经验丰富的员工,以及缺乏对初级设计师的投资。文章还探讨了其他行业(如管理咨询和德国制造业)的成功模式,并提出了针对设计行业的解决方案,包括结构化的导师计划、助理产品设计师计划和人才梯度等。文章呼吁行业采取行动,以解决人才短缺问题,确保产品设计领域的持续发展。

\n\n\n

流行工具与项目

\n\n\n

ollama/ollama
Get up and running with OpenAI gpt-oss, DeepSeek-R1, Gemma 3 and other models.

\n\n

netbirdio/netbird
Connect your devices into a secure WireGuard®-based overlay network with SSO, MFA and granular access controls.

\n\n

jesseduffield/lazygit
simple terminal UI for git commands

\n\n

go-gitea/gitea
Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD

\n\n

rancher/rancher
Complete container management platform

\n\n

golang/go
The Go programming language

\n\n

gravitational/teleport
The easiest, and most secure way to access and protect all of your infrastructure.

\n\n

hashicorp/terraform
Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

\n\n

trufflesecurity/trufflehog
Find, verify, and analyze leaked credentials

\n\n

moonD4rk/HackBrowserData
Extract and decrypt browser data, supporting multiple data types, runnable on various operating systems (macOS, Windows, Linux).

\n\n

iawia002/lux
👾 Fast and simple video download library and CLI tool written in Go

\n\n

crossplane/crossplane
The Cloud Native Control Plane

\n\n

open-telemetry/opentelemetry-collector-contrib
Contrib repository for the OpenTelemetry Collector

\n\n

labstack/echo
High performance, minimalist Go web framework

\n\n

dstotijn/hetty
An HTTP toolkit for security research.

\n\n

minio/minio
MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license.

\n\n

grafana/alloy
OpenTelemetry Collector distribution with programmable pipelines

\n\n

openai/openai-go
The official Go library for the OpenAI API

\n\n

hashicorp/vault
A tool for secrets management, encryption as a service, and privileged access management

\n\n

microsoft/typescript-go
Staging repo for development of native port of TypeScript

\n\n

uber-go/fx
A dependency injection based application framework for Go.

\n\n

jackc/pgx
PostgreSQL driver and toolkit for Go

\n\n

kubernetes/minikube
Run Kubernetes locally

\n\n

kubernetes-sigs/external-dns
Configure external DNS servers dynamically from Kubernetes resources

\n\n\n
\n\n
\n

编辑:Tony Bai

\n

编辑主页:tonybai.com

\n

GopherDaily项目:github.com/bigwhite/gopherdaily

\n

Copyright 2019-2024 GopherDaily

\n
\n\n\n\n\n"}}, "docs/202505/issue-20250522.html": {"28b747f84290637b3ee4a72eb3f4a4a778c56ffc": {"t": 1785747296.9054313, "n": 9938, "h": "85585ec281c65381", "c": "\n\n\n\n\n\n\nGopherDaily\n\n\n\n\t\n\n\n\n\n
\n 主页 |\n Web版 |\n 订阅 |\n 归档 |\n Feed\n
\n\n\n\n

GopherDaily

\n\n
\n

\n 20250522\n

\n

每日一谚:A test should never delete something it does not create.

\n
\n\n
\n\n

Go技术生态

\n\n\n

Go工具链进化:go.mod新增ignore指令,破解混合项目构建难题
Go Issue #42965 的核心目标是提供一个全局的、可被 Go 工具链生态系统共同理解的目录忽略机制。经过多轮讨论和对各种方案(如独立的 .goignore 或 go.ignore 文件、利用 go.work 等)的权衡,Go 团队最终采纳了在 go.mod 文件中添加 ignore 指令的方案

\n\n

深入分析Go调度器原理
本文深入探讨了Go调度器的演变过程,从最初的简单模型到现在的GMP模型,并详细解释了其各个组成部分,包括goroutine的创建、抢占、系统调用处理以及netpoll的集成。文章还介绍了Go运行时提供的API以及一些常见的函数,例如`getg()`和`gopark()`。此外,文章还分析了Go是如何高效处理I/O操作的,并解释了垃圾回收器的运行机制。总而言之,本文旨在帮助读者更好地理解Go调度器的工作原理,并编写更高效、更可靠的Go程序。

\n\n

使用Go、GraphQL和Next.js以及Stripe Connect实现联盟计划
本文介绍了如何使用Stripe Connect构建一个简单的应用内联盟计划,以激励用户分享你的应用程序。作者详细介绍了使用Go、GraphQL、Next.js和Stripe Connect构建联盟系统的过程,包括连接Stripe账户、使用Connect Webhooks和账户功能、在结账过程中使用联盟代码以及支付联盟奖励等步骤。 通过利用Stripe Connect和golang-petname,作者创建了一个强大的系统,不仅可以实现基本的联盟奖励,还可以实现自定义功能,例如应用内品牌推广和功能强大的仪表板。

\n\n\n

云原生技术

\n\n\n

小白也能轻松自建服务器:安装 Proxmox 和硬件选择指南
本教程将指导你选择硬件并安装 Proxmox。随后,Tailscale 将安全地连接到你的自建存储。我们将探讨使用小型主机和虚拟设备进行设置的步骤,并解决一些常见的网络问题。

\n\n

Salesforce工程博客:Hyperforce入口网关如何处理每天1000亿次请求
本文介绍了Salesforce如何应对突然增加5倍的流量,解决自动伸缩挑战,并在25个AWS区域支持数十亿次每日请求。文章重点介绍了Ingress Gateway团队如何构建和运营Salesforce公共云堆栈中最关键的系统之一,以及他们如何应对流量激增、确保系统稳定性和安全性,以及持续改进Ingress Gateway能力的研发工作。

\n\n

FM-Intent:使用分层多任务学习预测用户会话意图
Netflix 技术博客的文章介绍了 FM-Intent,这是一个新的推荐模型,通过分层多任务学习来增强基础模型。FM-Intent 利用短期和长期隐式信号来预测用户的潜在会话意图,并利用该意图预测来改进下一个项目的推荐。实验结果表明,FM-Intent 在预测下一个项目和用户意图方面均显著优于现有模型。

\n\n

通往 1000 个模型的旅程:扩展 Instagram 的推荐系统
本文探讨了 Instagram 如何成功地扩展其算法以包含超过 1000 个机器学习模型,同时不会牺牲推荐质量或可靠性。我们深入探讨了管理如此大量的模型的复杂性,每个模型都有其自身的性能特征和产品目标。我们分享了沿途的见解和经验教训——从最初意识到我们的基础设施成熟度落后于我们雄心勃勃的扩展目标,到我们实施的创新解决方案以弥合这些差距。文章还介绍了使 Instagram 能够保持其在社交媒体创新前沿地位的策略和工具,确保为数十亿用户提供无缝且引人入胜的体验。

\n\n

三年极度远程办公的经验
作者在过去三年中为一家美国公司(英特尔)远程办公,分享了其在澳大利亚远程办公的经验,以及一些针对类似情况(在亚洲为美国公司工作)的远程工作人员的建议。文章中,作者提到自己参加了77次凌晨1点到6点之间的会议,并讨论了远程办公的一些挑战和机遇,例如:时间差异、保持动力、被忽视的机会以及与面对面办公的比较。文章还分享了一些技巧,例如:计算非工作时间的会议次数、避免抱怨工作时间、保持每日工作日志等。

\n\n

十年之后,我们再次启程:我和 TiDB 的旅程
PingCAP 从成立之初就是一个由建设者为建设者而构建的公司。在这篇特别的十年回顾文章中,PingCAP 的第一位员工兼产品与工程高级副总裁分享了 TiDB 背后的真实历程——从第一行 Go 代码到在全球范围内运行关键任务工作负载。我们希望这能激励下一代开源梦想家。

\n\n

低级位操作入门
本文介绍了嵌入式系统程序员常用的低级位操作技巧。位操作是一种巧妙的编程技巧,它以一种聪明而高效的方式操作整数。这些编程技巧无需循环遍历单个位即可执行操作(例如,计算整数中 1 的位数),而是使用一个或两个精心挑选的位运算来实现相同的功能。文章从最基本的位操作开始,逐步讲解更高级的操作,并通过示例解释每个位操作的工作原理。文章还包含了Perl、Python和C语言的实用函数,用于打印8位有符号整数的二进制值。

\n\n

算法:少量内存胜过大量时间 | 量子杂志
一位计算机科学家的“惊人”证明是50年来对计算机科学中最著名问题之一取得的第一个进展。

\n\n

我们如何构建可扩展且可定制的仪表板 - Langfuse 博客
Langfuse 推出了可定制的仪表板,这是一种在 Langfuse UI 中直接可视化 LLM 使用情况的强大方法。本文深入探讨了从产品理念到技术实现、测试和发布的幕后过程,并分享了我们在构建灵活的实时洞察 LLM 管道的经验教训。文章详细介绍了仪表板背后的三个主要组件:数据库/指标抽象、查询构建器和仪表板构建器,并阐述了每个组件的设计理念和技术细节。此外,文章还介绍了 beta 版本的创建、测试和发布过程,以及用户反馈和后续改进。

\n\n

大型机现代化轶事
作者讲述了在上一家公司将大型机语言(COBOL、JCL、BASIC等)转换为Java(使用Rust!)的经历。文章重点介绍了在处理大约20万行COBOL代码时遇到的各种奇特的编程技巧和历史遗留问题,例如基于10的数值表示、国际化(通过REDEFINES关键字实现西班牙语重定义)、字符串解析、早期退出机制以及一个包含前800个自然数的奇怪文件。文章还提到了JCL子系统中的DD语句与UNIX的dd命令之间的联系。

\n \n\n

AI

\n\n\n

没有文档,就没有bug
如果你的库没有任何文档,它就不可能有任何bug。文档规定了你的代码应该做什么。你的测试规定了它实际上做什么。当你的测试强制执行的实现未能匹配文档中描述的行为时,就会出现bug。如果没有文档,bug就只是未定义的行为。如果你打算遵循语义版本控制,那么当发布向后不兼容的更改时,你会增加你的主要版本。如果你的代码没有被全面记录,这样的更改就不可能存在!

\n\n

Google AI Studio 的开发者体验升级
Google AI Studio 进行了升级,以增强开发者体验,其功能包括使用 Gemini 2.5 Pro 进行原生代码生成、智能工具以及增强的多模式生成能力,此外还包括新的功能,例如“构建”选项卡、“实时 API”和改进的工具,用于构建复杂的 AI 应用程序。

\n\n\n

流行工具与项目

\n\n\n

usememos/memos
An open-source, lightweight note-taking solution. The pain-less way to create your meaningful notes. Your Notes, Your Way.

\n\n

modelcontextprotocol/registry
A community driven registry service for Model Context Protocol (MCP) servers.

\n\n

keploy/keploy
Unit, API & Integration Testing Agent for Developers. Generate tests, mocks/stubs for your APIs that actually work!

\n\n

mark3labs/mcp-go
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.

\n\n

DNSCrypt/dnscrypt-proxy
dnscrypt-proxy 2 - A flexible DNS proxy, with support for encrypted DNS protocols.

\n\n

docker/buildx
Docker CLI plugin for extended build capabilities with BuildKit

\n\n

spf13/cobra
A Commander for modern Go CLI interactions

\n\n

GoogleCloudPlatform/microservices-demo
Sample cloud-first application with 10 microservices showcasing Kubernetes, Istio, and gRPC.

\n\n

nektos/act
Run your GitHub Actions locally 🚀

\n\n

ollama/ollama
Get up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 3, Mistral Small 3.1 and other large language models.

\n\n

projectcalico/calico
Cloud native networking and network security

\n\n

kubernetes-sigs/metrics-server
Scalable and efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.

\n\n

ThreeDotsLabs/watermill
Building event-driven applications the easy way in Go.

\n\n

sigstore/cosign
Code signing and transparency for containers and binaries

\n\n

drakkan/sftpgo
Full-featured and highly configurable SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob

\n\n

tulir/whatsmeow
Go library for the WhatsApp web multidevice API

\n\n

kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.

\n\n

openimsdk/open-im-server
IM Chat ChatGPT

\n\n

grafana/mimir
Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus.

\n\n

golang/go
The Go programming language

\n\n

open-telemetry/opentelemetry-go
OpenTelemetry Go API and SDK

\n\n

cloudflare/cfssl
CFSSL: Cloudflare's PKI and TLS toolkit

\n\n

fleetdm/fleet
Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Chrome, Windows, cloud, data center)

\n\n

hashicorp/vault
A tool for secrets management, encryption as a service, and privileged access management

\n\n\n
\n\n
\n

编辑:Tony Bai

\n

编辑主页:tonybai.com

\n

GopherDaily项目:github.com/bigwhite/gopherdaily

\n

Copyright 2019-2024 GopherDaily

\n
\n\n\n\n\n"}, "0e292c9444d0f3e3e675b31619aa4f149e774558": {"t": 1785772213.032458, "n": 9938, "h": "85585ec281c65381", "c": "\n\n\n\n\n\n\nGopherDaily\n\n\n\n\t\n\n\n\n\n
\n 主页 |\n Web版 |\n 订阅 |\n 归档 |\n Feed\n
\n\n\n\n

GopherDaily

\n\n
\n

\n 20250522\n

\n

每日一谚:A test should never delete something it does not create.

\n
\n\n
\n\n

Go技术生态

\n\n\n

Go工具链进化:go.mod新增ignore指令,破解混合项目构建难题
Go Issue #42965 的核心目标是提供一个全局的、可被 Go 工具链生态系统共同理解的目录忽略机制。经过多轮讨论和对各种方案(如独立的 .goignore 或 go.ignore 文件、利用 go.work 等)的权衡,Go 团队最终采纳了在 go.mod 文件中添加 ignore 指令的方案

\n\n

深入分析Go调度器原理
本文深入探讨了Go调度器的演变过程,从最初的简单模型到现在的GMP模型,并详细解释了其各个组成部分,包括goroutine的创建、抢占、系统调用处理以及netpoll的集成。文章还介绍了Go运行时提供的API以及一些常见的函数,例如`getg()`和`gopark()`。此外,文章还分析了Go是如何高效处理I/O操作的,并解释了垃圾回收器的运行机制。总而言之,本文旨在帮助读者更好地理解Go调度器的工作原理,并编写更高效、更可靠的Go程序。

\n\n

使用Go、GraphQL和Next.js以及Stripe Connect实现联盟计划
本文介绍了如何使用Stripe Connect构建一个简单的应用内联盟计划,以激励用户分享你的应用程序。作者详细介绍了使用Go、GraphQL、Next.js和Stripe Connect构建联盟系统的过程,包括连接Stripe账户、使用Connect Webhooks和账户功能、在结账过程中使用联盟代码以及支付联盟奖励等步骤。 通过利用Stripe Connect和golang-petname,作者创建了一个强大的系统,不仅可以实现基本的联盟奖励,还可以实现自定义功能,例如应用内品牌推广和功能强大的仪表板。

\n\n\n

云原生技术

\n\n\n

小白也能轻松自建服务器:安装 Proxmox 和硬件选择指南
本教程将指导你选择硬件并安装 Proxmox。随后,Tailscale 将安全地连接到你的自建存储。我们将探讨使用小型主机和虚拟设备进行设置的步骤,并解决一些常见的网络问题。

\n\n

Salesforce工程博客:Hyperforce入口网关如何处理每天1000亿次请求
本文介绍了Salesforce如何应对突然增加5倍的流量,解决自动伸缩挑战,并在25个AWS区域支持数十亿次每日请求。文章重点介绍了Ingress Gateway团队如何构建和运营Salesforce公共云堆栈中最关键的系统之一,以及他们如何应对流量激增、确保系统稳定性和安全性,以及持续改进Ingress Gateway能力的研发工作。

\n\n

FM-Intent:使用分层多任务学习预测用户会话意图
Netflix 技术博客的文章介绍了 FM-Intent,这是一个新的推荐模型,通过分层多任务学习来增强基础模型。FM-Intent 利用短期和长期隐式信号来预测用户的潜在会话意图,并利用该意图预测来改进下一个项目的推荐。实验结果表明,FM-Intent 在预测下一个项目和用户意图方面均显著优于现有模型。

\n\n

通往 1000 个模型的旅程:扩展 Instagram 的推荐系统
本文探讨了 Instagram 如何成功地扩展其算法以包含超过 1000 个机器学习模型,同时不会牺牲推荐质量或可靠性。我们深入探讨了管理如此大量的模型的复杂性,每个模型都有其自身的性能特征和产品目标。我们分享了沿途的见解和经验教训——从最初意识到我们的基础设施成熟度落后于我们雄心勃勃的扩展目标,到我们实施的创新解决方案以弥合这些差距。文章还介绍了使 Instagram 能够保持其在社交媒体创新前沿地位的策略和工具,确保为数十亿用户提供无缝且引人入胜的体验。

\n\n

三年极度远程办公的经验
作者在过去三年中为一家美国公司(英特尔)远程办公,分享了其在澳大利亚远程办公的经验,以及一些针对类似情况(在亚洲为美国公司工作)的远程工作人员的建议。文章中,作者提到自己参加了77次凌晨1点到6点之间的会议,并讨论了远程办公的一些挑战和机遇,例如:时间差异、保持动力、被忽视的机会以及与面对面办公的比较。文章还分享了一些技巧,例如:计算非工作时间的会议次数、避免抱怨工作时间、保持每日工作日志等。

\n\n

十年之后,我们再次启程:我和 TiDB 的旅程
PingCAP 从成立之初就是一个由建设者为建设者而构建的公司。在这篇特别的十年回顾文章中,PingCAP 的第一位员工兼产品与工程高级副总裁分享了 TiDB 背后的真实历程——从第一行 Go 代码到在全球范围内运行关键任务工作负载。我们希望这能激励下一代开源梦想家。

\n\n

低级位操作入门
本文介绍了嵌入式系统程序员常用的低级位操作技巧。位操作是一种巧妙的编程技巧,它以一种聪明而高效的方式操作整数。这些编程技巧无需循环遍历单个位即可执行操作(例如,计算整数中 1 的位数),而是使用一个或两个精心挑选的位运算来实现相同的功能。文章从最基本的位操作开始,逐步讲解更高级的操作,并通过示例解释每个位操作的工作原理。文章还包含了Perl、Python和C语言的实用函数,用于打印8位有符号整数的二进制值。

\n\n

算法:少量内存胜过大量时间 | 量子杂志
一位计算机科学家的“惊人”证明是50年来对计算机科学中最著名问题之一取得的第一个进展。

\n\n

我们如何构建可扩展且可定制的仪表板 - Langfuse 博客
Langfuse 推出了可定制的仪表板,这是一种在 Langfuse UI 中直接可视化 LLM 使用情况的强大方法。本文深入探讨了从产品理念到技术实现、测试和发布的幕后过程,并分享了我们在构建灵活的实时洞察 LLM 管道的经验教训。文章详细介绍了仪表板背后的三个主要组件:数据库/指标抽象、查询构建器和仪表板构建器,并阐述了每个组件的设计理念和技术细节。此外,文章还介绍了 beta 版本的创建、测试和发布过程,以及用户反馈和后续改进。

\n\n

大型机现代化轶事
作者讲述了在上一家公司将大型机语言(COBOL、JCL、BASIC等)转换为Java(使用Rust!)的经历。文章重点介绍了在处理大约20万行COBOL代码时遇到的各种奇特的编程技巧和历史遗留问题,例如基于10的数值表示、国际化(通过REDEFINES关键字实现西班牙语重定义)、字符串解析、早期退出机制以及一个包含前800个自然数的奇怪文件。文章还提到了JCL子系统中的DD语句与UNIX的dd命令之间的联系。

\n \n\n

AI

\n\n\n

没有文档,就没有bug
如果你的库没有任何文档,它就不可能有任何bug。文档规定了你的代码应该做什么。你的测试规定了它实际上做什么。当你的测试强制执行的实现未能匹配文档中描述的行为时,就会出现bug。如果没有文档,bug就只是未定义的行为。如果你打算遵循语义版本控制,那么当发布向后不兼容的更改时,你会增加你的主要版本。如果你的代码没有被全面记录,这样的更改就不可能存在!

\n\n

Google AI Studio 的开发者体验升级
Google AI Studio 进行了升级,以增强开发者体验,其功能包括使用 Gemini 2.5 Pro 进行原生代码生成、智能工具以及增强的多模式生成能力,此外还包括新的功能,例如“构建”选项卡、“实时 API”和改进的工具,用于构建复杂的 AI 应用程序。

\n\n\n

流行工具与项目

\n\n\n

usememos/memos
An open-source, lightweight note-taking solution. The pain-less way to create your meaningful notes. Your Notes, Your Way.

\n\n

modelcontextprotocol/registry
A community driven registry service for Model Context Protocol (MCP) servers.

\n\n

keploy/keploy
Unit, API & Integration Testing Agent for Developers. Generate tests, mocks/stubs for your APIs that actually work!

\n\n

mark3labs/mcp-go
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.

\n\n

DNSCrypt/dnscrypt-proxy
dnscrypt-proxy 2 - A flexible DNS proxy, with support for encrypted DNS protocols.

\n\n

docker/buildx
Docker CLI plugin for extended build capabilities with BuildKit

\n\n

spf13/cobra
A Commander for modern Go CLI interactions

\n\n

GoogleCloudPlatform/microservices-demo
Sample cloud-first application with 10 microservices showcasing Kubernetes, Istio, and gRPC.

\n\n

nektos/act
Run your GitHub Actions locally 🚀

\n\n

ollama/ollama
Get up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 3, Mistral Small 3.1 and other large language models.

\n\n

projectcalico/calico
Cloud native networking and network security

\n\n

kubernetes-sigs/metrics-server
Scalable and efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.

\n\n

ThreeDotsLabs/watermill
Building event-driven applications the easy way in Go.

\n\n

sigstore/cosign
Code signing and transparency for containers and binaries

\n\n

drakkan/sftpgo
Full-featured and highly configurable SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob

\n\n

tulir/whatsmeow
Go library for the WhatsApp web multidevice API

\n\n

kubevirt/kubevirt
Kubernetes Virtualization API and runtime in order to define and manage virtual machines.

\n\n

openimsdk/open-im-server
IM Chat ChatGPT

\n\n

grafana/mimir
Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus.

\n\n

golang/go
The Go programming language

\n\n

open-telemetry/opentelemetry-go
OpenTelemetry Go API and SDK

\n\n

cloudflare/cfssl
CFSSL: Cloudflare's PKI and TLS toolkit

\n\n

fleetdm/fleet
Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Chrome, Windows, cloud, data center)

\n\n

hashicorp/vault
A tool for secrets management, encryption as a service, and privileged access management

\n\n\n
\n\n
\n

编辑:Tony Bai

\n

编辑主页:tonybai.com

\n

GopherDaily项目:github.com/bigwhite/gopherdaily

\n

Copyright 2019-2024 GopherDaily

\n
\n\n\n\n\n"}}}}