主页 | Web版 | 订阅 | 归档 | Feed

GopherDaily

20250731

每日一谚:A constructor should often ONLY return a new value.


Go技术生态

高级 Go 最佳实践,每个开发者都应该遵循
无论您是单独编写代码还是作为团队的一部分,编写的方式都与您编写的内容一样重要。 Go 以其简单性和极简主义而闻名,而使 Go 代码如此可维护的部分原因是社区对清晰、一致的编码标准的共同承诺。

Go For Gamedev 2025
Go 游戏开发正在缓慢增长,但需要一些核心工作才能成为新游戏开发编码员的可行替代方案。 现有的技术问题可以通过一些实际的时间、努力、资金和“少即是多”的激情来解决。 与此同时,将golang用于游戏开发作为一种爱好是棒极了!

系统设计的“元素周期表”:40个横跨所有领域的通用设计原则
近日,一篇名为《系统设计的元素》(Elements of System Design)的论文引发社区热议。它的目标宏大且吸睛:通过梳理上百篇横跨操作系统、数据库、分布式系统等领域的经典论文,提炼出一套通用的**系统设计原则“元素周期表”

云原生技术

Bazel Plugin 发布:全面上市
我们终于准备好宣布 JetBrains 为 IntelliJ IDEA、PyCharm 和 GoLand 推出的新 Bazel 插件的全面上市 (GA)! 经过几个月的集中开发以及来自 EAP 用户的宝贵反馈,我们正式推出了经过改进的 Bazel 体验。 虽然我们一直在定期发布更新,但我们 2025.2 GA 版本的飞跃标志着一个重要的里程碑。 尽管我们在此版本中的主要重点是为 Java、Kotlin 和 Scala 开发人员创造最佳体验,但我们也带来了对 Python 和 Go 生态系统的支持,并且我们将在后续版本中继续维护和改进它。 如果您是从 Google 最初发布的旧插件迁移过来的,您会注意到一个更直接的工作流程,该工作流程与您期望从其他构建工具集成(例如 Maven 和 Gradle)中获得的 JetBrains IDE 标准体验相一致。 现在,让我们深入了解一下新内容!

Tailscale 基于 Web 的 SSH 是登录到奇怪的小型计算机的最简单方法
您可以获得一些永远在线的小工具,以及一种更轻松地访问它们的方式。

AI 测试自动化如何将开发人员生产力瓶颈缩减 30%
了解 Salesforce 如何开发由人工智能驱动的测试失败 (TF) 分流代理,从而改变开发人员管理测试失败的方式。

返回感知实验
在 Netflix,我们广泛思考了如何更好地设计和决定大规模的 A/B 测试。 我们很高兴与大家分享两篇关于这个主题的新论文:这些论文有助于形成我们称之为新兴的范式...

重温“选择无聊的技术”
十年前,作者写了一篇关于Dan McKinley的经典博文“选择无聊的技术”,以及它与他自己的发展哲学的共鸣。作者的结论很简单:当启动一个新项目时,作者会考虑是否将其作为学习新东西的借口,或者试图解决一个问题。学习新东西?没问题,但仅限于一个未知因素。试图解决一个问题?坚持你所知道的。十年后,作者的观点没有改变。如果有什么不同的话,LLMs和基于agent的AI编码工具的出现使这一原则变得更加关键。McKinley的核心论点是,公司有有限的“创新代币”,应该将它们战略性地花在已建立的、众所周知的技术上,而不是令人兴奋但未经证实的技术上。数学很简单:无聊的技术有已知的故障模式、众所周知的能力和经过验证的运营可靠性。当凌晨3点出现问题时,你想调试的是有Stack Overflow答案的技术,而不是开创未知的领域。这在2015年是正确的,今天也是如此。但是出现了一个新的问题:AI编码助手。

Fluid compute: How we built serverless servers - Vercel
Fluid Compute cuts cold starts and compute costs by up to 95%, scaling I/O-bound and AI workloads efficiently across 45B+ weekly requests.


在软件开发中,我们很少要求“快”。我们要求功能、批量折扣、下一个数据集成。我们从不考虑要求快。但快的软件会改变行为。当代码在几秒(或毫秒)内部署而不是几分钟时,开发人员会更频繁地发布。人工智能代码补全意味着我们可以用不太熟悉的语言进行原型设计。实时流媒体使远程工作成为可能。相反,慢的软件对我们的限制超出了我们的想象。快是神奇的,它消除了认知摩擦。快是简洁的信号,快是乐趣,快是相对的。

当软件工程师认为他们需要更多专注时间
你认为软件工程师需要更多专注时间?再想想。

深入研究开放聊天协议
本文探讨了开放聊天协议,重点关注 XMPP 和 Matrix。文章比较了这些协议与 Discord 的优缺点,并深入研究了 XMPP 和 Matrix 的技术和社会组织。文章最后提出了复兴 XMPP 的方法,并讨论了聊天系统未来的发展趋势。

AI

Protecting against Rogue Agents
如果你的代理拥有过多的自由,它们可能会失控。本文将介绍如何保护你的数据免受其侵害。在总结中,agentic工作流程可能非常强大,但同时也伴随着风险。如果你给你的代理太多的自由,它们可能会失控并执行你不希望它们执行的操作。Dolt是agentic工作流程的理想数据库,它允许你安全地在分支上运行agentic工作流程,可以在合并之前验证它们的工作,如果它们失控,你可以将它们的变化恢复到之前的提交。如果你想进一步讨论agentic工作流程和Dolt,请在我们的Discord上与我们聊天。

Ollama的新应用
Ollama 一直是我运行本地模型最喜欢的方式之一——它使下载模型变得非常容易,并且它在模型使用期间将其保存在内存中,并在停止接收流量后清理它们方面很聪明。 到目前为止,缺少的一个功能是界面:Ollama 以前一直只提供命令行,这对于我们这些熟悉 CLI 的人来说很好,但对其他人来说用处不大。 他们终于解决了这个问题! 新的应用程序的界面可以从现有的系统托盘菜单访问,让您可以与任何已安装的模型聊天。 视觉模型也可以通过新界面接受图像。

如何修复你的上下文
6 个修复上下文和交付更好代理的策略。正如 Karpathy 所说,构建由 LLM 驱动的应用程序意味着学习“正确地打包上下文窗口”——巧妙地部署工具、管理信息和保持上下文卫生。

流行工具与项目

cloudwego/eino
The ultimate LLM/AI application development framework in Golang.

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

spf13/viper
Go configuration with fangs

SpecterOps/BloodHound
Six Degrees of Domain Admin

anchore/grype
A vulnerability scanner for container images and filesystems

kopia/kopia
Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.

kubernetes/autoscaler
Autoscaling components for Kubernetes

sirupsen/logrus
Structured, pluggable logging for Go.

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

gorilla/websocket
Package gorilla/websocket is a fast, well-tested and widely used WebSocket implementation for Go.

GoogleCloudPlatform/terraformer
CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code

envoyproxy/ai-gateway
Envoy AI Gateway is an open source project for using Envoy Gateway to handle request traffic from application clients to Generative AI services.

kubernetes-sigs/kustomize
Customization of kubernetes YAML configurations

kubernetes/ingress-nginx
Ingress NGINX Controller for Kubernetes

Project-HAMi/HAMi
Heterogeneous AI Computing Virtualization Middleware(Project under CNCF)

nats-io/nats.go
Golang client for NATS, the cloud native messaging system.

hashicorp/consul
Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

inngest/inngest
The leading workflow orchestration platform. Run stateful step functions and AI workflows on serverless, servers, or the edge.

go-playground/validator
💯Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving

redis/go-redis
Redis Go client

golang-jwt/jwt
Go implementation of JSON Web Tokens (JWT).


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily项目:github.com/bigwhite/gopherdaily

Copyright 2019-2024 GopherDaily