GopherDaily

GopherDaily

2024-06-18

每日一谚:A little copying is better than a little dependency


Go技术生态

为什么人们对 Go 1.23 迭代器感到愤怒
作者讨论了对即将到来的 Go 1.23 迭代器设计的强烈反对,认为它使语言感觉过于功能性和复杂性,并且违背了其作为命令式语言的原始理念。

Go Web 应用程序中的常见反模式
Three Dot's Labs 的联合创始人讨论了 Go Web 应用程序中常见的反模式,包括强耦合、不要重复自己 (DRY)、单一模型、将逻辑与细节混合、过度思考目录结构、从数据库模式开始,以及围绕四个获取/更新操作的概念设计应用程序。

2024 年的 Go vs Rust:开发爱好者的细微差别
本文讨论了 Go 和 Rust 两种流行编程语言的优缺点,重点介绍了它们的语法、语言特性、性能、效率、社区支持和行业采用。

深入了解 MySQL 的复制协议
这篇博文深入探讨了 MySQL 的复制协议,解释了它在高可用性、负载平衡和数据冗余方面的用途,并解释了在副本之间协调、对复制数据进行编码和启动复制流的复杂性。

Go 的“函数范围”迭代器和避免迭代错误
Chris Siebenmann 讨论了 Go 1.23 中“范围函数迭代器”的实现,强调了该语言对迭代协议的直接支持,这确保了大多数必要的代码不需要编写。

性能基准测试:gRPC+Protobuf 与 HTTP+JSON
该文档介绍了 Go 中的性能基准,比较了 gRPC 上的协议缓冲区和 HTTP/1 和 HTTP/2 上的 JSON,揭示了 HTTP/2 比 gRPC 慢,gRPC 比 HTTP/1 慢,挑战了常见的假设。

云原生技术

拓扑感知路由的麻烦:以节省成本的名义牺牲可靠性
这篇博文讨论了 Kubernetes 中拓扑感知路由的缺点,强调无论系统运行状况或性能如何,它始终禁止跨区域流量,并且当一个区域遇到问题时,可能会导致灾难性故障。

红帽升级了对电信服务提供商的 AI 支持
红帽宣布增加对电信服务提供商的人工智能 (AI) 支持,包括引入红帽企业 Linux (RHEL) AI 和增强红帽 OpenShift AI,旨在改善运营、降低成本、增强客户服务并推动创新。

以下是在数据库系统中使用预写日志和逻辑复制的时间
新堆栈讨论了在数据库系统中使用预写日志 (OW) 和逻辑复制,强调了它们的优点和局限性,并建议为需要容错的弹性系统提供混合一致性模型。

Kubernetes 运行状况检查:集群扫描最佳实践
Evan Witmer 讨论了 Kubernetes 运行状况检查的好处,重点介绍了 AI 驱动的助手(如 Botkube 的 AI 助手)的使用,该助手可自动执行集群扫描,并为改进 Kubernetes 基础设施提供可操作的见解。

Docker:如何在 Docker Ubuntu 中使用 Nvidia GPU
本文提供了有关如何在 Docker Ubuntu 中使用 Nvidia GPU 的详细指南,包括使用 AWS GPU 和 Ubuntu 版本 22.04 的安装过程、必要软件和 GPU 使用验证。

AI

确保 AI 驱动应用程序的可靠性:生成式 AI 的测试策略
本文讨论了测试生成式 AI 应用程序的挑战和策略,包括行为一致性、统计分析、人机交互/探索性测试、故障安全机制、系统提示和检索增强生成集成,强调了稳健测试对质量和可靠性的重要性。

小型语言模型与大型语言模型:如何平衡性能和成本效益
本文从成本、资源需求和应用方面比较了大型语言模型 (LLM) 和小型语言模型 (SLM),强调了 SLM 对于希望在不进行大量硬件投资的情况下采用 Gen AI 的企业的好处,同时指出了这两种模型在安全性方面的挑战。

Oracle APEX 新增生成式 AI 助手
Oracle 更新了其低代码应用程序开发平台 Application Express,其中包含由生成式 AI 驱动的编程助手,该助手可以生成 SQL 代码、解释现有代码并提出错误修复建议,使开发人员能够更轻松地设计和编辑应用程序页面。

流行工具与项目

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

projectdiscovery/katana
下一代爬网和爬虫框架。

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

kubernetes/autoscaler
Kubernetes 的自动缩放组件

opencontainers/image-spec
OCI 图像格式

envoyproxy/ratelimit
Go/gRPC 服务旨在支持来自不同类型应用程序的通用速率限制方案。

kyverno/kyverno
Kubernetes 原生策略管理

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

tmrts/go-patterns
Go 设计模式、配方和习语的精选列表

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

omriharel/deej
使用真正的滑块设置应用程序卷!deej 是一个 Arduino & Go 项目,可让您为 Windows 和 Linux 构建自己的硬件混音器

minio/minio
面向 AI 数据基础架构的对象存储

amacneil/dbmate
🚀 一个轻量级的、与框架无关的数据库迁移工具。

containerd/nerdctl
contaiNERD CTL - 用于 containerd 的兼容 Docker 的 CLI,支持 Compose、Rootless、eStargz、OCIcrypt、IPFS 等

google/cadvisor
分析正在运行的容器的资源使用情况和性能特征。

redis/go-redis
Redis Go 客户端

kgretzky/evilginx2
独立的中间人攻击框架,用于网络钓鱼登录凭据和会话 cookie,允许绕过 2 因素身份验证

tmc/langchaingo
LangChain for Go,用 Go 编写基于 LLM 的程序的最简单方法

kubernetes-sigs/descheduler
Kubernetes 的 Descheduler

flipped-aurora/gin-vue-admin
🚀Vite+Vue3+Gin的开发基础平台,支持TS和JS混用。它集成了JWT鉴权、权限管理、动态路由、显隐可控组件、分页封装、多点登录拦截、资源权限、上传下载、代码生成器、表单生成器和可配置的导入导出等开发必备功能。

etcd-io/etcd
分布式可靠的键值存储,用于分布式系统最关键的数据

actions/actions-runner-controller
适用于 GitHub Actions 自托管运行器的 Kubernetes 控制器

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

runatlantis/atlantis
Terraform 拉取请求自动化


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily主页:gopherdaily.tonybai.com

GopherDaily归档:gopherdaily.tonybai.com/more

GopherDaily项目:github.com/bigwhite/gopherdaily

订阅GopherDaily

取消订阅GopherDaily

Copyright 2019-2024 GopherDaily