GopherDaily

GopherDaily

2024-05-24

每日一谚:Prefer readability over cleverness


Go技术生态

Go 1.23 Release Notes编写方式改进
Go 1.23 feature冻结!Go 1.23新版release notes的编写方式和流程发生变化,这里简单总结一下变化点

Go错误传播和API合约
这篇博文讨论了 Go 中的错误传播问题,强调了仔细考虑错误域和错误包装的影响的必要性,同时强调了理解上下文和正确记录契约的重要性。

如何在 Golang 中使用 TOTP 实现双因素身份验证 (2FA)
本教程指导了如何在 Golang Web 应用程序中使用基于时间的一次性密码 (TOTP) 实现双因素身份验证 (2FA),包括了解基础知识、设置先决条件、选择正确的 2FA 方法、集成第三方库、创建路由、创建主页和登录页面、生成 TOTP 密钥、验证代码和测试实现。

Asynchronous Programming Methods and Techniques in Golang Part II — Code Thursday
The article "Asynchronous Programming Methods and Techniques in Golang Part II — Code Thursday" by Kerstan is a blog post on Medium, discussing the use of asynchronous programming in Golang.

使用 Go 的 html/template 实现类似 React 的组合
该文档讨论了使用 Go 的 HTML/模板库实现类似 React 的组合,强调了这种方法的好处,例如可重用的组件、状态管理和文件组织,同时避免了现代 JavaScript 的复杂性和臃肿性。

具有 SPIFFE、Tailscale 和 HTTP/3 的 Traefik 3.0
本文讨论了 Traefik 3.0 产品线中新增的 SPIFFE、Tailscale 和 HTTP/3,重点介绍了它们在保护应用程序之间的通信、提供简化的设置和配置以及提高性能和加密方面的作用。

您可能不应该使用log.Fatal关闭Go服务
本杰明·凯恩(Benjamin Cane)建议不要使用“日志”。Go 服务中的 Fatal' 方法突然停止应用程序,因为它不执行延迟函数,留下打开的文件和连接,这可能会导致连接延迟并可能恶化情况。

uber系统设计:技术概述
Uber 的系统设计包括一系列功能和技术,以提高性能、可扩展性和用户体验,已从单体设计发展到面向领域的微服务架构,并且还发展了其大数据平台以满足不断变化的业务需求。

云原生技术

告别你的边车:Istio 的环境模式在 v1.22 中达到 Beta 版
Istio 的环境模式旨在简化操作和降低基础设施成本,已在 v1.22 中达到 Beta 版,将第 4 层和第 7 层网格功能带入生产就绪状态,无需 sidecar,仍然完全支持 sidecar。

Istio 7 岁生日快乐!
Istio 项目由 Google 和 IBM 于 2017 年推出,已迅速普及和增长,最终用户从初创公司到大型金融机构,现在是云原生计算基金会的一部分,在过去一年中拥有超过 35,000 名 GitHub 明星和 1,700 名贡献者。

服务网格解码:Istio vs Linkerd vs Cilium 的性能比较
这篇博文比较了三个流行的开源服务网格(Cilium、Istio 和 Linkerd)的性能,使用迭代方法并在单独的隔离环境中进行测试,其中 Linkerd 是最快和最高效的,Cilium 较慢但可与 Istio 相媲美,而 Istio 较慢但性能几乎与 Cilium 一样好。

Kubernetes 中的网络
Murtaza Vasi 的博客文章解释了 Kubernetes 中的端到端网络流程,解释了如何通过 NodePort Service、Load Balancer Service 或 Ingress Controller 将应用程序公开到 Internet,并强调了了解网络对于有效管理应用程序的重要性。

如何成为首席技术官
本文提供了成为 CTO 的六种策略,包括创办公司、成为创始工程师、学习管理技能以及从其他角色过渡,同时强调该职位不需要学位。

宣布推出对 Arm 上的 Windows 的 Docker 桌面支持:新的 AI 创新机遇
源文档是一条消息,指示来自系统的“403 禁止访问”错误消息,特别是来自服务器端,特别是来自“ns”(Nix)模块。

我们如何监控NVIDIA GPU ?
本文提供了有关如何使用 Docker、Docker compose 和 Node Exporter 设置和使用 NVIDIA GPU 显示器的指南,并提供了有关如何设置和使用 Grafana 收集性能见解的详细说明。

Amazon MemoryDB:快速、持久的内存优先云数据库
Amazon MemoryDB 是一种快速且持久的内存优先云数据库,它利用了 Redis 的性能优势,同时克服了其持久性限制,提供微秒级读取和个位数毫秒级写入,并在故障之间具有很强的一致性,并在多个 Amazon EC2 实例中评估性能。

JetBrains 发布用于 Rust 开发的 RustRover IDE
JetBrains 发布了 RustRover,这是一款针对 Rust 编程语言的专用 IDE,它将集成的 Rust 工具链与 AI 辅助相结合,提供实时反馈、代码建议、简化的工具链管理和团队协作。

在轨的Kubestronaut
Yongkang He 是新加坡的 Kubestronaut,是一名经过全面认证的 Kubernetes 专家,他组织 Kubernetes 聚会,提供自动化脚本,并运营一个专注于 Kubernetes 数据管理和安全性的 YouTube 频道,重点是云原生技术和 AI。

eBPF sk_lookup:套接字查找和重定向
这篇博文讨论了 eBPF“sk_查找”程序,它打破了传统的套接字绑定限制,实现了多个进程为同一个套接字提供服务,单个套接字侦听多个端口的场景,并提供了一个 Golang 和 C 语言的实际示例来演示这些功能。

大规模网络策略;将 Calico 扩展到 15k+ 节点和 10k 网络策略
该视频深入概述了 Calico 的横向扩展架构,重点介绍了其可扩展性、架构演进、大规模测试方法和 3.27 版本中的性能改进。

什么是漏洞管理?ProjectDiscovery 如何提供帮助?
本文解释了漏洞管理在网络安全中的重要性,解释了它的工作原理、如何对漏洞进行分类,以及 Projectdiscovery 如何帮助组织实施和改进其漏洞管理策略。

将 OPA/Rego 与 AWS Cedar 和 Google Zanzibar 进行比较
Open Policy Agent (OPA) 的 Rego 策略语言与 AWS 的 Cedar 和 Google 的 Kilimanjaro 进行了比较,突出了其灵活性、表现力和可扩展性,使其成为跨网络、基础设施和应用程序实施策略的理想选择。

从数据到洞察:利用 ChatGPT-4o(和 OpenAI API)进行 DevOps 指标报告
本文讨论了如何使用 ChatGPT-4o 和 OpenAI API 生成全面的 DevOps 指标报告,为组织提供经济高效且数据驱动的解决方案,以更好地了解和管理其 DevOps 实践。

Meta 的可组合数据管理
Meta 已将其数据管理系统转变为可组合架构,利用开源执行引擎 Velox 来提高互操作性、可重用性和工程效率,并正在投资其他计划,例如灵活和硬件加速的数据系统。

为什么 Google 选择使用 HTTP/2 实现 gRPC?
Google 选择使用 HTTP/2 实现 gRPC,这是一个开源的高性能 RPC 框架,因为它具有开放标准状态、经过验证的安全性、易于多语言实现以及与各种平台的兼容性,尽管在效率和性能方面存在一些限制。

使用Rust捕获和解析网络包
使用Rust捕获和解析网络包,实现TCP包的捕获、解析TCP选项中的时间戳和计算时延。

您的可观测性实践是否缺乏成熟度?这是要做的事情
这篇博文讨论了组织在采用成熟的可观测性实践时面临的挑战,强调虽然 89% 的受访者对他们的可观测性有所了解,但只有 10% 的受访者实现了完全的可观测性,并建议使用 Logz.io Open 360 等工具和框架来改进实践。

针对 Kubernetes 中的构建上下文进行优化
这篇博文提供了有关优化 Kubernetes 中的构建上下文的指南,以使用多阶段构建、缓存、简单的 Dockerfile 和持续监控等技术来优化 Kubernetes 中的构建上下文,以实现高效的资源使用、缩短构建时间、可扩展性和安全性。

Docker 文档获得 AI 驱动的助手
源文档是一条消息,指示来自系统的“403 禁止访问”错误消息,特别是来自服务器端,特别是来自“ns”(Nix)模块。

AI

解码 Auto-GPT
Auto-GPT 是 Github 上的高级存储库,是一种自主模型,它根据系统提示做出决策,提出操作,执行、嵌入并保存到向量数据库中,增强其生成准确答案的能力。

为什么没有 AI 您的下一个应用程序会失败?
本文讨论了人工智能在移动应用开发中的潜力和优势,重点介绍了人工智能在推荐系统、虚拟助手、自然语言处理、语音识别、多语言支持、个性化体验、性能优化和未来预测中的应用。

流行工具与项目

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

1Panel-dev/1Panel
🔥 🔥 🔥 现代化、开源的 Linux 服务器运维管理面板。

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

milvus-io/milvus
云原生矢量数据库,用于下一代 AI 应用的存储

deanxv/coze-discord-proxy
代理Discord对话Coze-Bot,实现以API形式请求GPT4模型,提供对话、文生图、图生文、知识库检索等功能。

plandex-ai/plandex
在您的终端中进行 AI 驱动的开发。专为大型实际任务而设计。

mao888/golang-guide
「Golang学习+面试指南」一份涵盖大部分 Golang程序员所需要掌握的核心知识。准备 Golang面试,首选 GolangGuide!

ethereum/go-ethereum
以太坊协议的 Go 实现

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

mikefarah/yq
yq 是一个可移植的命令行 YAML、JSON、XML、CSV、TOML 和属性处理器

cert-manager/cert-manager
在 Kubernetes 中自动预配和管理 TLS 证书

projectcalico/calico
云原生网络和网络安全

influxdata/telegraf
用于收集、处理、聚合和写入指标、日志和其他任意数据的代理。

ollama/ollama
使用 Llama 3、Mistral、Gemma 和其他大型语言模型启动并运行。

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

FiloSottile/mkcert
一个简单的零配置工具,用于使用您想要的任何名称制作本地受信任的开发证书。

google/gopacket
为 Go 提供数据包处理能力

stefanprodan/podinfo
适用于 Kubernetes 的 Go 微服务模板

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

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

kubernetes/autoscaler
Kubernetes 的自动缩放组件

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

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

kubernetes/kubernetes
生产级容器调度和管理

moby/moby
Moby 项目 - 一个用于组装基于容器的系统的容器生态系统的协作项目


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily主页:gopherdaily.tonybai.com

GopherDaily归档:gopherdaily.tonybai.com/more

GopherDaily项目:github.com/bigwhite/gopherdaily

订阅GopherDaily

取消订阅GopherDaily

Copyright 2019-2024 GopherDaily