GopherDaily

GopherDaily

2024-05-14

每日一谚:Use defer to clean up


Go技术生态

使用Anthropic Claude3模型和Go构建生成式AI应用程序
该文档提供了有关如何在 Amazon 基石上使用 Claude 3 模型的指南,Claude 3 模型是一系列具有不同功能和成本的 AI 模型,包括示例、故障排除步骤以及适用于 Go 的 AWS 开发工具包的使用。

GopherCon 2023: Building Distributed Systems in Go
Philip O'Toole shared his talk at the gophercon 2023 conference on "Building Your Own Distributed System Using Go", which has been published on YouTube, and expressed his appreciation for the opportunity to share lessons on designing, developing, and operating modern distributed systems.

构建一个 Dagger 模块来标准化我的 Go 项目的 CI 管道
作者讨论了使用 Dagger 模块来标准化 Go 项目的 CI/CD 管道,强调了它在本地和远程运行管道的能力,以及它在容器镜像中支持 SBOM 和出处证明方面的局限性。

使用 jub0bs/cors 的可重构 CORS 中间件
作者讨论了在 Jub0bs/cors 中添加 CORS 中间件的动态重配置,重新考虑了配置的不变性,将其与 rs/cors 的基于钩子的方法进行了比较,并解决了 v0.1.2 和早期版本库中的一个关键漏洞。

Go 中的函数类型和高阶函数
这篇博文讨论了 Go 中高阶函数的优点和缺点,强调了它们增强代码可读性、通用性和灵活性的能力,但也指出了它们由于开销而对性能的潜在影响。

简单是有感染力的
作者讨论了 Go 编程语言的简单性,强调了它对显式指针、零值、内置测试框架的使用以及用于传输数据的通道的使用,并认为 Go 通过提供开发人员应该期望的默认工具,为编程设定了新的标准。

二进制搜索与Prolly搜索
本文讨论了在 Dolt 数据库中使用 Prolly Search 相对于二进制搜索的优势,强调需要均匀分布数据的 Prolly Search 平均速度更快,但不一定是恒定时间,因为大多数数据不是均匀分布的。

利用可观测性的力量优化 MTTD 和 MTTR
Srijan Rastogi 讨论了可观测性在减少技术停机时间方面的重要性,他使用 GoFr(一个开源框架)通过提供详细的日志、指标和跟踪功能来快速识别和解决系统问题,从而增强可观测性。

Understanding Unix Garbage Collection and its Interaction with io_uring
The blog post discusses the interaction between Unix Garbage Collection (GC) and the io\_uring component in the Linux kernel, highlighting a use-after-free issue that can be exploited by malicious users, and the process of detecting and cleaning up cycles in the garbage collection process.

云原生技术

安全升级 EKS 集群的分步指南
该文档提供了有关如何升级 Amazon Elastic Kubernetes Service (EKS) 集群以跟上最新 Kubernetes 版本的分步指南,包括每个版本的流程、工具和支持,并建议考虑蓝/绿集群升级策略。

在 Nomad 上运行 Vault,第 3 部分
关于在 HashiCorp Nomad 上运行 HashiCorp Vault 系列的第三部分,提供了有关如何使用 HashiCorp Nomad 和 Vault Unsealer 自动解封 Vault 和快照的说明,如何使用自动解封和 Vault 解封程序来管理和解封 Vault 服务器,以及如何拍摄 Vault 快照以进行灾难恢复。

开源倡议开启了定义开源 AI 的道路
在亚马逊、思科、谷歌和斯隆基金会的支持下,开源促进会 (OSI) 正在巡回研讨会,以收集对开源 AI 定义草案的意见,目标是在 10 月下旬的 All Things Open 会议上提出一个稳定的定义。

AI

将 ChatGPT 文本重写为人类文本
本文提供了有关如何使 ChatGPT 生成的文本人性化的指南,提供了实用步骤,例如加入独特的声音、人称代词、自然语言、减少行话、混合句子长度、融入情感深度、添加上下文和细节,以及加入轻松幽默等,以增强与读者的联系。

流行工具与项目

glanceapp/glance
一个自托管仪表板,将所有提要放在一个地方

gorilla/websocket
Package gorilla/websocket 是一个快速、经过充分测试且广泛使用的 Go WebSocket 实现。

vmware-tanzu/velero
备份和迁移 Kubernetes 应用程序及其持久卷

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

taikoxyz/taiko-mono
基于汇总的汇总。🥁

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

letsencrypt/boulder
基于 ACME 的证书颁发机构,用 Go 编写。

kubernetes/kube-state-metrics
用于生成和公开集群级指标的附加代理。

MHNightCat/superfile
非常花哨和现代的终端文件管理器

gruntwork-io/terragrunt
Terragrunt 是 Terraform 的精简包装器,它提供了用于处理多个 Terraform 模块的额外工具。

hashicorp/vault
用于机密管理、加密即服务和特权访问管理的工具

grpc/grpc-go
gRPC 的 Go 语言实现。基于 HTTP/2 的 RPC

hashicorp/consul
Consul 是一种分布式、高度可用且可感知数据中心的解决方案,用于跨动态分布式基础架构连接和配置应用程序。

bitnami-labs/sealed-secrets
用于单向加密密钥的 Kubernetes 控制器和工具

jackc/pgx
适用于 Go 的 PostgreSQL 驱动程序和工具包

getsops/sops
简单灵活的机密管理工具

gitleaks/gitleaks
使用 Gitleaks 🔑 保护和发现机密

99designs/gqlgen
Go Generate 基于 GraphQL 服务器库

redis/go-redis
Redis Go 客户端

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

fluxcd/flux2
面向 Kubernetes 的开放且可扩展的持续交付解决方案。由 GitOps Toolkit 提供支持。

sashabaranov/go-openai
OpenAI ChatGPT、GPT-3、GPT-4、DALL·E,Go 的 Whisper API 包装器

opencontainers/runc
用于根据 OCI 规范生成和运行容器的 CLI 工具

pressly/goose
数据库迁移工具。支持 SQL 迁移和 Go 函数。

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


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily主页:gopherdaily.tonybai.com

GopherDaily归档:gopherdaily.tonybai.com/more

GopherDaily项目:github.com/bigwhite/gopherdaily

订阅GopherDaily

取消订阅GopherDaily

Copyright 2019-2024 GopherDaily