GopherDaily

GopherDaily

2024-01-19

每日一谚:Go is not magical


Go技术生态

遍历函数?Go 1.22中隐藏的功能
本文介绍了Go 1.22中一个隐藏的功能,可以遍历一个整数或函数。 这个功能去年由Russ Cox发起讨论,并建立一个提案。 本文介绍了三种可遍历的函数,包括`yield`函数的返回值和`f`的格式。 它提供了`Query`和`Exec`可遍过函数。

Go ORM 比较
本文比较了 GORM、SQLC、Ent 和 SQLBoiler 等 Go 对象关系映射 (ORM) 工具,以帮助开发人员确定哪一个适合他们的项目,突出它们的优势和对不同用例的适用性。

Structural Sharing with Schema Changes
这篇博文讨论了 Dolt(一个支持 Git 的 MySQL 兼容数据库)中结构共享的优势和挑战,以及它在架构更改(包括表重写和这些更改的后果)中的工作方式。

利用 Go 中 yield 函数的强大功能
Go 是一种静态类型的编译语言,它是一种可以使用 goroutine 和通道实现的模式,以实现高效的并发处理,从而提供内存效率、改进的并发处理、更好的响应能力和可伸缩性等优势。

使用 Strangler Fig 模式重构遗留代码
本文讨论了在重构遗留代码时使用 Strangler Fig 模式,特别是 Shopify 的 Ruby on Rails 代码库中的 Shop 模型,以将存储设置提取到更合适的组件中,并提高代码内聚力和解耦。

从头开始编写调试器 - DbgRs 第 1 部分 - 附加到进程
作者 TimDBG 分享了他使用 Rust 编写新调试工具的经验,以提高他对语言的理解,并使其他人更容易理解调试工具的工作原理。

调试 MinIO 安装
MinIO 博客文章提供了有关如何调试 MinIO 安装的说明,包括使用 Kubernetes Developer Pod 完全访问本机运行时环境,以及裸机 Linux 安装以解决文件权限和端口冲突等常见问题。

云原生技术

持续集成(更新)
持续集成是一种软件开发实践,团队的每个成员都经常(至少每天)针对受控源代码存储库进行集成,从而减少交付延迟并减少集成浪费的时间。

2024 年平台工程预测
2024 年,本文讨论了平台工程的未来,重点关注内部开发人员门户的增长、开发人员体验团队的发展、使用以产品为中心的方法管理门户、用例的扩展以及软件开发中向内源的转变。

教程:使用 NGINX 为应用程序配置 OpenTelemetry
本文档提供了有关如何使用 Nginx 为 Web 应用程序配置 OpenTelemetry 的教程,重点介绍了使用 Nginx OpenTelemetry 模块跟踪请求处理性能和提高应用程序性能的好处。

科技造福绿色未来:连接加密与生态
文章讨论了技术与生态的融合,强调了人工智能、人工智能友好系统、机器学习、地球编码、Web3、区块链、艺术作为 NFT 生态创新、网络安全以及使用人工智能工具促进绿色增长的作用。

云中可扩展的 OLTP:有什么大不了的?
该文档讨论了 Pat Helland 关于云中可扩展的在线事务处理 (OLTP) 的论文,重点关注数据库和应用程序的共同责任,并提出了可适应工作负载变化的可扩展数据库的原型设计。

Visual Studio 升级提升了代码搜索
计划中的 Visual Studio 2022 17.9 升级的第三个预览版引入了对代码搜索的改进,允许用户在其解决方案中搜索任何单词或字符串,从而补充其代码库中的文件和符号结果。

懒惰是新的快速:Lazy Imports 和 Cinder 如何加速 Meta 的机器学习
Meta 是一家工程公司,它采用了延迟导入和 Python Cinder 运行时来改进机器学习 (ML) 开发,从而将首批时间 (TTFB) 缩短了 40%,并将 Jupyter 内核启动时间缩短了 20%。

GitOps 和变异策略:两个循环的故事
这篇博文讨论了 GitOps 中基于策略的资源管理的好处,重点介绍了将 Kyverno 与流行的 GitOps 工具(如 flux 和 aargoCD)结合使用,以及在 Kubernetes 中使用 Kubernetes 控制器模式、GitOps 模式和策略控制循环。

Terraform Cloud Operator 添加项目支持
最新版本的 Terraform Cloud Operator for Kubernetes 已经发布,允许用户简化工作空间管理并增强自助服务能力,从而提高效率并降低风险。

一般 Docker 故障排除、最佳实践以及从这里开始
该文档提供了有关 Docker 故障排除、最佳实践以及从这里开始的全面指南,重点关注无空间和容器运行缓慢等常见问题,并提供了用于映像清理、容器性能监控、容器检查和运行进程的命令。

AI

用于实时多模态 AI 的开源堆栈
LiveKit 团队为实时多模态 AI 引入了一个新的开源堆栈,称为 Agents,其中包括 API、服务和工具,以促进实时、多模态 AI 应用程序,类似于人类交互。

7 种尖端 AI 工具,可增强您的设计工作流程
StartxLabs Technologies 推出了七种可以增强设计过程的尖端 AI 工具,包括 KREA、Wide Canvas、Visily、Recraft、Jitter.video、Adam 和 Inno Sketch。这些工具旨在增强创造力,简化工作流程,并弥合数字领域和物理领域之间的差距。

流行工具与项目

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

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

yeasy/docker_practice
通过真正的DevOps实践来学习和理解Docker和容器技术!

avelino/awesome-go
精选的 Go 框架、库和软件列表

grpc-ecosystem/grpc-gateway
遵循 gRPC HTTP 规范的 gRPC 到 JSON 代理生成器

kubernetes/autoscaler
Kubernetes 的自动缩放组件

zitadel/zitadel
ZITADEL - 身份基础结构,为您简化。

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

grafana/k6
使用 Go 和 JavaScript 的现代负载测试工具 - https://k6.io

kedacore/keda
KEDA 是基于 Kubernetes 的事件驱动自动缩放组件。它为在 Kubernetes 中运行的任何容器提供事件驱动的扩展

kubernetes/client-go
适用于 Kubernetes 的 Go 客户端。

kyverno/kyverno
Kubernetes 原生策略管理

cilium/cilium
基于 eBPF 的网络、安全性和可观测性

onsi/ginkgo
Go 的现代测试框架

cilium/tetragon
基于 eBPF 的安全可观测性和运行时实施

prometheus/client_golang
适用于 Go 应用程序的 Prometheus 检测库

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

google/pprof
PPROF是一种用于可视化和分析分析数据的工具

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

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

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

googleapis/google-cloud-go
适用于 Go 的 Google Cloud 客户端库。

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

bufbuild/protoc-gen-validate
协议缓冲区验证 - 被 github.com/bufbuild/protovalidate 取代

bnb-chain/bsc
基于go-ethereum分叉的BNB智能链客户端


编辑: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