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

GopherDaily

2024-10-16

每日一谚:Tooling is better than documentation, Documentation is better than nothing


Go技术生态

优化和可视化Go测试并行性:为什么更多的cpu核不会加快Go测试的速度
Three Dot Labs 的联合创始人 Robert Laszczak 讨论了优化 Go 测试的技术,包括使用 the't。Parallel()' 方法、在多个包中运行测试以及使用测试表,同时还要注意 using't.Parallel“ 可能会减慢测试速度。

Kubernetes、直接连接和你
本文讨论了在 Kubernetes 集群中建立直接连接的挑战,强调了 NAT(网络访问网络)和源 NAT (SNAT) 在阻止这些连接方面的作用,并提出了解决方案,例如确保基础设施端具有公有 IP。

在 Go 中构建文件上传服务
该文档提供了有关如何在 Go 中构建文件上传服务的分步指南,该服务支持本地和云存储,使用基本的 HTTP 服务器、文件上传处理程序、验证和通过 Amazon S3 的云存储。

反对单元测试的常见论点
Teiva Harsanyi 讨论了单元测试在软件开发中的重要性,揭穿了反对单元测试的常见论点,例如代码太简单、测试是给测试人员的、临时代码不需要测试以及项目不会投入生产。

现代C的C23版
C23 版的 Modern C 是一本关于编程语言的书,现在可以免费下载,其中包含对新 C 标准的更新,包括新的精确位类型、C 库头文件、128 位类型以及枚举类型的改进等功能。

如何在系统架构中使用 C4 图
本文讨论了 C4 图在软件架构中的使用,强调了它们在弥合通信差距、提供清晰的抽象级别方面的优势和它们的效率潜力,但也强调了它们的局限性和最佳实践。

云原生技术

如何在 IcePanel 中创建部署图
该文档提供了有关如何使用 Groups 和 tags 在 Icepanel 中创建部署图的指南,特别是针对部署在 Google Kubernetes Engine 上的 Architectural Kata 2024 中的 MonitorMe 系统。

组织访问令牌简介
源文档是一条消息,指示来自系统的 ' 403 Forbidden ' 错误消息,特别是来自服务器端,特别是来自 ' ns' (Nix) 模块。

优化 MariaDB 查询:数十亿条记录从 300 秒缩短到 2 秒
作者讨论了他们为大型项目优化 MariaDB 查询的经验,这使得查询时间不到 2 秒,克服了大型数据集和缺失索引的挑战。

Safer with Google: Advancing Memory Safety
The Google Online Security Blog discusses "Safer with Google: Advancing Memory Safety", a blog post on October 15, 2024, and provides a list of various security and safety topics covered by the blog, including Android, app security, big data, biomarkers, blackhat, C++, Chrome, connected devices, diversity, unified learning, fuzzing, gboard, Google play, hacking, interoperability, memory safety, open source, and more.

庆祝 Google Summer of Code 20 周年
Google 通过庆祝 Google Summer of Code (GSoC) 计划来庆祝其成立 20 周年,该计划促进了来自 123 个国家/地区的 21,000 多名贡献者的联系,生成了超过 4300 万行代码,并为 1,000 多个开源组织的发展和健康做出了贡献。

Terraform Stacks 解释
该博客文章介绍了 Terraform Stacks 的概念,该功能旨在通过将复杂代码拆分为可管理的部分、提高生产力以及提供一种内置的方式来简化大规模基础设施的配置和管理,而不会带来复杂性。

RHEL 与 RHEL AI:有什么区别?
本文详细比较了 Red Hat Enterprise Linux (RHEL) 和 Red Hat Enterprise Linux AI,重点介绍了这两个平台及其功能以及 Red Hat 的开源保证计划之间的异同,以保护知识产权。

Terraform 测试版支持多云、复杂的环境
Hashicorp 发布了一款名为 Stacks 的 Terraform 测试版产品,它允许客户在单个配置中部署 Kubernetes,从而解决了在多个 Terraform 配置之间拆分基础设施的问题,从而简化了云资源(包括 Kubernetes)的预置和管理。

策略SBOM简介:授权策略的软件物料清单
Styra 在 Styra 声明式授权服务 (DAS) 中引入了策略 SBOM 功能,提供了一种自动化和系统化的方法来管理 Open Policy Agent (OPA) 和企业 OASIS 策略捆绑包中的策略模块,从而提高已部署授权策略的透明度和可追溯性。

更短的证书终于来了吗?!
作者讨论了缩短 HTTPS 证书有效期的可能性,并引用了一项拟议的投票,即在三年内逐渐缩短其生命周期,以实现完全自动化的续订。

是只有我一个人,还是其他人觉得分布式配置是一种被严重低估的做法?
Benjamin Cane 讨论了分布式配置被低估的价值,这种做法允许在不重新启动应用程序的情况下进行实时配置更改,并倡导在容器革命中应用分布式配置。

如何将 Docker 镜像的大小减少 99.82%
ClementPnn 在 Medium 上的文章演示了如何通过使用多种技术、在 Golang 中使用简单的 Hello World 程序以及使用 UPX 进行二进制压缩,将 Docker 映像的大小减少 99.82%。

MySQL 正在消亡吗?
MySQL 兼容数据库 Dolt 的开发商 DoltHub 的博客文章探讨了 MySQL 是否正在消亡的问题,指出其受欢迎程度的下降和 Postgres 作为 SQL 格式的兴起,以及该公司决定构建 Postgres 风格的 Dolt 版本。

使用 Argo 和 Buildpacks 提高你的交付速度
New Stack 文章讨论了如何使用 CNCF 孵化项目 Buildpacks 通过跳过 Dockerfile 步骤来提高开发人员的工作效率,使开发人员更容易将代码推送到生产环境并改进反馈循环。

AI

使用 CI/CD 构建支持 AI 的自动电子邮件摘要系统
本教程将指导您完成使用 Node.js、Semaphore 和 Anthropologist 的 Claude API 构建支持 AI 的自动电子邮件摘要系统的过程,使用每周时事通讯,并强调定期更新、A/B 测试和维护发件人声誉的重要性。

大型操作模型指南:完成任务的 AI
大型行动模型 (LAM) 是一种 AI,可以将人类意图转化为行动、独立处理复杂的决策任务、与第三方系统和 IoT 设备集成、解释用户界面、分析结果并从反馈中学习,在医疗保健、银行和供应链管理中具有潜在应用。

ChatGPT 会很乐意为你写一份伪装得很薄的星座运势
Simon Willison 讨论了 ChatGPT 内存功能的局限性,该功能使其能够根据简短的简历说明提供对用户个性的浅层洞察,并强调了理解其上下文和理解巴纳姆效应对于有效使用大型语言模型的重要性。

流行工具与项目

kubernetes-sigs/controller-runtime
kubebuilder 的 controller-runtime 子项目 (sig-apimachinery) 的仓库

kubernetes/ingress-nginx
适用于 Kubernetes 的入口 NGINX 控制器

sqlc-dev/sqlc
从 SQL 生成类型安全代码

kubernetes-sigs/kind
Docker 中的 Kubernetes - 用于测试 Kubernetes 的本地集群

robfig/cron
Go 的 cron 库

spf13/cobra
用于现代 Go CLI 交互的 Commander

1Panel-dev/1Panel
🔥🔥🔥 Web-based linux server management control panel. / 现代化、开源的 Linux 服务器运维管理面板。

google/go-github
用于访问 GitHub v3 API 的 Go 库

golang-jwt/jwt
JSON Web 令牌 (JWT) 的 Go 实现。

klauspost/compress
优化的 Go 压缩包

aquasecurity/trivy
在容器、Kubernetes、代码存储库、云等中查找漏洞、错误配置、机密、SBOM

abiosoft/colima
macOS(和 Linux)上的容器运行时,设置最少

argoproj/argo-cd
Kubernetes 的声明式持续部署

open-telemetry/opentelemetry-collector-contrib
OpenTelemetry Collector 的 Contrib 存储库

containers/skopeo
使用远程映像注册表 - 检索信息、映像、对内容进行签名

johnfercher/maroto
Maroto 创建 PDF 的 maroto 方法。Maroto 受到 Bootstrap 的启发并使用 gofpdf。快速简单。

hashicorp/nomad
Nomad 是一个易于使用、灵活且高性能的工作负载编排器,可以部署微服务、批处理、容器化和非容器化应用程序的组合。Nomad 易于操作和扩展,并且具有原生 Consul 和 Vault 集成。

kubernetes/autoscaler
自动扩展 Kubernetes 组件

open-telemetry/opentelemetry-go-contrib
OpenTelemetry-Go 的扩展集合。

wailsapp/wails
使用 Go 创建漂亮的应用程序

minio/minio
MinIO 是一个高性能、与 S3 兼容的对象存储,在 GNU AGPLv3 许可下开源。

open-telemetry/opentelemetry-collector
OpenTelemetry 收集器

istio/istio
连接、保护、控制和观察服务。

Azure/azure-sdk-for-go
此存储库用于 Azure SDK for Go 的主动开发。对于 SDK 的使用者,我们建议访问我们的公共开发人员文档,网址为:

json-iterator/go
A high-performance 100% compatible drop-in replacement of "encoding/json"


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily项目:github.com/bigwhite/gopherdaily

Copyright 2019-2024 GopherDaily