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

GopherDaily

20251025

每日一谚:Make your errors clear with fmt.Errorf, do not just leave them bare.


Go技术生态

Go的iota:设计缺陷还是“黑魔法”?—— 从一条“咆哮”推文谈起
对 iota 的困惑,几乎是每一位 Gopher 在学习之路上都曾遇到过的“成年礼”。它那看似“不合逻辑”的行为,让许多初学者和来自其他语言的开 发者感到费解,甚至愤怒。那么,iota 究竟是一个彻头彻尾的设计缺陷,还是一种被误解了的“黑魔法”?

【Go 网络编程全解】10 广播与多播:一对多的通信模式

NAT穿越改进,第 3 部分:展望未来
Tailscale 如何思考 NAT 穿越、对等连接和中继的未来。

Go 中的 Switch 语句
Go 中的 Switch 语句具有独特的特性,使其易于编写复杂的流程控制。阅读这篇博文,了解是什么让它们如此特别。

我们使用Postgres和Go重建了我们的集成服务
我们如何将集成服务从GCP Pub/Sub重建到PostgreSQL和Go,实现了横向扩展和分布式速率限制。

Gthulhu
Gthulhu 是一个高级的 Linux 调度程序,旨在利用 Linux 调度程序扩展(sched_ext)框架来优化云原生工作负载。Gthulhu 由两个主要组件构成:BPF 组件和 Go 组件。

云原生技术

数据云中的多表预测:启用机器学习
了解 Salesforce 如何通过大量的反复试验测试来平衡功能与 SQL 查询性能,以及更多内容。

Post-Training Generative Recommenders with Advantage-Weighted Supervised Finetuning

2025 年云原生可持续发展月:全球社区推动更环保技术
继前几年取得成功之后,CNCF的可持续发展月活动又回来了——规模更大,也更环保。 这项为期一个月的全球性倡议由 TAG 运营弹性社区组织,汇集了从业人员、开发人员和倡导者,共同探讨可持续的云原生实践,并推动真正的变革。

Kafka 的 80% 问题
为什么大多数 Kafka 部署为小数据流支付大数据价格,以及如何解决这个问题

Flink 的 95% 问题
Flink 听起来像是流数据处理的圣杯,但对于我们 95% 的人来说,它只是一个我们不需要的复杂难题。

现代完美Hash
作者讨论了现代完美哈希在字符串处理中的应用,特别是在优化编译时已知字符串集合的查找效率方面。他分享了自己实现完美哈希的经验,探讨了使用magic bitboards的技巧,并提到了针对不同长度的字符串采用的策略,以及如何通过尝试不同的magic值来优化性能。文章还提到了在Arm架构上实现该技术的挑战,以及与gperf等工具的对比,最后呼吁有人来开发更现代化的gperf替代品。

为什么形式化数学——不仅仅是捕捉错误
我读了伊莎贝尔定理证明器的一位作者写的一篇好文章,这让我开始思考。作者劳伦斯·保尔森观察到,大多数数学证明都是微不足道的,但写下来(最好是用证明助手)是一项有价值的活动,原因类似于安全检查清单——“并非所有显而易见的陈述都是正确的”。 正如我一直痴迷于形式化数学,这让我开始思考为什么我最近很兴奋地花了几个小时用Lean编写形式化的证明,用于陶氏的《实分析》练习(以及最近尝试编写Riehl的《情境中的范畴论》的伴侣)。从个人层面来说,我就是喜欢数学、计算机和谜题,用Lean编写证明感觉就像同时做这三件事。但我确实相信形式化在像我这样的极客之外也很重要。

像外科医生一样写代码
作者探讨了使用人工智能辅助编程,将程序员的角色比作外科医生,专注于核心设计工作,并委托AI处理次要任务,例如编写代码库指南、进行大型更改的初步尝试、修复错误以及编写文档。文章强调了AI在辅助程序员完成重复性工作、提高效率方面的潜力,并提到了“自主滑块”的概念,即在核心设计和次要任务中使用AI时采用不同的工作方式。

Debian技术委员会覆盖systemd更改
Debian打包程序在配置他们打包的软件方面有很大的自由度;例如,他们可以选择禁用他们认为存在安全隐患的软件中的默认功能。 然而,打包程序被期望确保他们的软件包符合 Debian 策略,无论上游的偏好如何。如果打包程序未能遵守该策略,Debian 技术委员会 (TC) 可以介入覆盖他们,就像最近 systemd 更改的情况一样,该更改破坏了几个依赖于世界可写 /run/lock 目录的程序。

搜索问题:为什么你的电脑查找东西比你快 - Imposter
这篇文章深入探讨了B树在文件系统设计中的应用,解释了为什么B树比二叉搜索树在处理大量数据和磁盘I/O时更有效。文章通过对比分析、基准测试和实例,详细介绍了B树的结构、优势以及在数据库索引、文件系统目录查找、Git版本控制等领域的实际应用,旨在帮助读者理解系统设计的核心思想,以及如何在实际场景中选择合适的数据结构,以优化性能。

AI

流行工具与项目

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

seaweedfs/seaweedfs
SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, xDC replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. Enterprise version is at seaweedfs.com.

kagent-dev/kagent
Cloud Native Agentic AI | Discord: https://bit.ly/kagentdiscord

spf13/cobra
A Commander for modern Go CLI interactions

redis/go-redis
Redis Go client

chaitin/SafeLine
SafeLine is a self-hosted WAF(Web Application Firewall) / reverse proxy to protect your web apps from attacks and exploits.

litmuschaos/litmus
Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q

rcourtman/Pulse
A responsive monitoring platform for Proxmox VE, PBS, and Docker with real-time metrics across nodes and containers

kubernetes/ingress-nginx
Ingress NGINX Controller for Kubernetes

gruntwork-io/terragrunt
Terragrunt is a flexible orchestration tool that allows Infrastructure as Code written in OpenTofu/Terraform to scale.

stretchr/testify
A toolkit with common assertions and mocks that plays nicely with the standard library

maximhq/bifrost
Fastest LLM gateway (50x faster than LiteLLM) with adaptive load balancer, cluster mode, guardrails, 1000+ models support & <100 µs overhead at 5k RPS.

cli/cli
GitHub’s official command line tool

syncthing/syncthing
Open Source Continuous File Synchronization

modelcontextprotocol/go-sdk
The official Go SDK for Model Context Protocol servers and clients. Maintained in collaboration with Google.

smallstep/certificates
🛡️ A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH.

kyverno/kyverno
Cloud Native Policy Management

pressly/goose
A database migration tool. Supports SQL migrations and Go functions.

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

prometheus/node_exporter
Exporter for machine metrics

hibiken/asynq
Simple, reliable, and efficient distributed task queue in Go


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily项目:github.com/bigwhite/gopherdaily

Copyright 2019-2024 GopherDaily