GopherDaily

GopherDaily

2024-01-23

每日一谚:Log or return an error. Prefer the last one more. Do not do both.


Go技术生态

揭开 Go 1.22 激动人心的增强功能:开发者的喜悦
即将发布的 Go 1.22 版本引入了多项增强功能,包括新的 for 循环语义、整数范围、新的 math/rand/v2 包、增强的路由模式和切片的新功能等。

关于 Go 泛型的很多事情
本文讨论了 Go 中泛型的使用,解释了何时需要泛型,何时不需要泛型,以及何时可以使用泛型,何时不能使用泛型。

编译 Python to Go
作者发起了一个名为 Pogo 的项目,旨在将 Python 代码转译为 Golang 代码,旨在提高性能、互操作性并提供更高效的开发过程。

Go 中链接器标志的高级用法
这篇博文讨论了 Go 中链接器标志的高级用法,它可以控制符号可见性、内存分配和优化级别等方面,使开发人员能够优化和自定义构建过程。

关于在 Haskell 中重写 Go 命令行程序
作者分享了他们用 Haskell 重写 Go 命令行程序的经验,强调了 Haskell 的简洁性及其对实际任务的吸引力,并得出结论,虽然这两种语言都适合系统编程,但 Haskell 由于其简洁的语法而更有效率。

使用 DDD 方法验证业务规则
本文讨论了使用领域驱动设计 (DCD) 方法验证系统中业务规则的重要性,强调了对一致、易于测试、一致数据和易于诊断的规则的需求。

断言的黄金法则
断言的黄金法则是一个可以帮助区分好和坏测试的原则,指出只有当预期的系统意图没有得到满足时,测试才应该失败。

使用全局客户端实现更简单的可重用性
该文档讨论了在 Dagger 引擎中引入全局客户端,该引擎通过消除传递“匕首”的需要来简化创建管道的过程。客户端的实例,使代码不那么冗长,更易于重用。

2024 年 eBPF 和网络趋势预测

云原生技术

工程团队如何处理计划外工作
Anna Debenham 讨论了工程团队处理中断的最佳方法,例如严重错误、紧急客户请求、支持问题、其他团队的请求和创始人请求,并使用手提箱比喻来描述工程团队的能力。

我们如何构建公平的多租户排队系统
这篇博文讨论了为软件开发构建公平的多租户队列系统所面临的挑战,以及现代应用程序的可靠性层 Inngest 如何从头开始开发新的队列来解决这些问题。

静态代码分析:为什么贵公司的声誉取决于它
本文讨论了静态代码分析 (SCA) 在软件安全中的重要性,解释了它的五个 W、选择正确 SAST 工具的过程、SAST 工具的局限性以及它如何提高安全性。

Oracle 在 2024 年的 Java 计划
Oracle 在 2024 年的 Java 计划包括几个 OpenJDK 项目,包括 Amber、Babylon 和 Valhall,旨在开发面向生产力的功能,将 Java 扩展到国外编程模型,并使用价值对象增强 Java 对象模型以消除性能瓶颈。

Kubernetes 及其他:Kelsey Hightower 的年终反思
2023 年最后的 OpenOobservability Talks 聚焦开源、DevOps、可观测性和 Kubernetes 的未来,Kelsey Hightower 作为特邀嘉宾,讨论了开源的意义、各种项目的成熟度以及云原生技术的演进。

可观测性查询语言标准工作开始
在云原生计算基金会(Cloud Native Computing Foundation)下运作的可观测性查询语言标准工作组(Observability Query Language Standard Working Group)已经开始着手建立统一的可观测性语言标准,旨在解决可观测性数据库的各种查询语言之间存在的不兼容问题。

AI

流行工具与项目

apernet/OpenGFW
OpenGFW 是 Linux 上 GFW 的灵活、易用的开源实现

qax-os/excelize
用于读取和写入 Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) 电子表格的 Go 语言库

navidrome/navidrome
🎧☁️ 现代音乐服务器和流媒体与亚音速/Airsonic 兼容

pocketbase/pocketbase
1 个文件中的开源实时后端

prometheus-operator/prometheus-operator
Prometheus Operator 在 Kubernetes 上创建/配置/管理 Prometheus 集群

SagerNet/sing-box
通用代理平台

go-playground/validator
💯Go Struct 和 Field 验证,包括 Cross Field、Cross Struct、Map、Slice 和 Array 潜水

go-kratos/kratos
面向云原生时代的终极 Go 微服务框架。

authelia/authelia
适用于 Web 应用的单一登录多重门户

thanos-io/thanos
具有长期存储功能的高可用性 Prometheus 设置。CNCF孵化项目。

apernet/hysteria
歇斯底里是一个功能强大、闪电般快速且抗审查的代理。

ginuerzh/gost
GO Simple Tunnel - 用golang编写的简单隧道

goravel/goravel
面向网络工匠的 Golang 框架。向拉拉维尔致敬。

trufflesecurity/trufflehog
查找和验证凭据

hashicorp/terraform
Terraform 使你能够安全且可预测地创建、更改和改进基础结构。它是一种源代码可用的工具,可将 API 编码为声明性配置文件,这些文件可以在团队成员之间共享、视为代码、编辑、审查和版本控制。

volcano-sh/volcano
云原生批处理系统(CNCF项目)

daeuniverse/dae
基于eBPF的Linux高性能透明代理解决方案。

stretchr/testify
一个具有常见断言和模拟的工具包,可以很好地与标准库配合使用

gin-gonic/gin
Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。它具有类似马提尼的 API,性能要好得多——速度提高了 40 倍。如果您需要出色的性能,请给自己买一些杜松子酒。

swaggo/swag
使用 Swagger 2.0 for Go 自动生成 RESTful API 文档。

singchia/geminio
♊️ An application layer networking framework with rpc, bidirectional-rpc, multiplexer, raw-io and client-server consistency. 一个Go的应用层网络编程库,支持消息和确认、RPC、双向RPC、多路复用、多会话管理等

prometheus/alertmanager
Prometheus 警报管理器

uber-go/zap
Go 中超快、结构化、分级的日志记录。

GoogleContainerTools/kaniko
在 Kubernetes 中构建容器镜像

casbin/casdoor
一个开源的 UI 优先身份和访问管理 (IAM) / 单点登录 (SSO) 平台,具有支持 OAuth 2.0、OIDC、SAML、CAS、LDAP、SCIM、WebAuthn、TOTP、MFA 和 RADIUS 的 Web UI


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily主页:gopherdaily.tonybai.com

GopherDaily归档:gopherdaily.tonybai.com/more

GopherDaily项目:github.com/bigwhite/gopherdaily

订阅GopherDaily

取消订阅GopherDaily

另一个邮件列表:https://gopher-daily.com

Copyright 2023 GopherDaily