GopherDaily

GopherDaily

2024-02-01

每日一谚:You often do not need frameworks in Go


Go技术生态

使用 Testcontainers 在 Go 中进行集成测试
该文档提供了如何使用 Testcontainers 在 Go 中编写集成测试的指南,以确保应用程序和服务之间的集成按预期工作,使用一个简单的存储库来存储和检索 PostgreSQL 数据库中的注释,并使用 Redis 缓存来减少对数据库的点击。

使用 Go-Critic 提高 Go 代码质量:开发人员指南
这篇博文讨论了 Go-Critic(一种用于 Go 编程语言的高级 linter),以及它如何提高代码质量、遵守最佳实践和性能优化。

在 Go 中实现 B 树
本文讨论了 Go 中自平衡搜索树数据结构 B 树的实现,重点介绍了它在插入、删除和检索操作方面的功能,以及它与二叉搜索树等其他数据结构的比较。

在 Websockets 中实践 AI,Go 和 MM:个人旅程
该文档提供了将 Mattermost Websockets 集成到 Go 应用程序中的个人旅程,涵盖了 websocket 交互、实时协作、动态仪表板更新、第三方 API 集成、可扩展性、安全性以及创建功能丰富的聊天应用程序等各个方面。

动态语言 Rye 中的 Go 并发性
这篇博文讨论了 Go 在动态脚本语言 rye 中的并发功能的使用,其中包括 goroutines、channels、select 和 waitgroups,并提供了如何使用这些功能来有效地实现并发任务的示例。

Go 中的客户端分页(range over function版)
弗拉基米尔·瓦兰金 (Vladimir Varankin) 回顾了他 2022 年关于使用 range-over 函数在 Go 中进行客户端分页的笔记,并讨论了它如何使用“页面”和“扫描”迭代器函数来帮助完成任务。

Go 内存指标揭秘
Datadog 的博客文章全面概述了 Go 内存指标,解释了如何分析和诊断 Go 应用程序中的内存问题,并提供了使用这些指标解决内存问题的提示。

The Thundering Herd Problem: Distributed Systems Horror Stories: Part Two
The blog post discusses the "thundering herd problem", a problem where a large number of clients or services simultaneously send requests to an API after a period of unavailability or delay, and how to handle such incidents, using the example of a startup experiencing this issue in 2018.

ESP32 到 AWS:在 Golang 中使用 IoT Core、DynamoDB 和 Lambda 函数的完整 IoT 解决方案
这篇博文提供了有关如何将 ESP32 微控制器连接到 AWS IoT Core、使用 DynamoDB 进行数据存储以及触发 AWS Lambda 函数的综合指南,所有这些都在 Golang 中编程,使用各种技术和技巧,例如 PlatformIO、Arduino、C++、LittleFS 和 AWS IoT Core。

探索 Tetragon - 适用于 Kubernetes、Docker 和 Linux 的安全可观测性工具
Tetragon 是由 Isovalent 开发的 CNCF 支持的项目,是一种安全可观测性工具,可以检测系统活动事件并对安全重大事件做出反应,并且可以在 Kubernetes、Docker 和 Linux 中使用,并且易于安装。

自适应速率限制的乐趣
Paul Lorenz 讨论了在 OpenZiti 网络中使用自适应速率限制来解决由于请求速率激增而导致系统被客户端请求淹没的问题,从而导致不必要的工作被完成,并且新请求等待到它们也超时。

使用 elem-go 和 goldmark 构建 Go 静态站点生成器
本教程指导如何使用用于 HTML 模板创建的 Elm-Go 库和用于 Markdown 处理的 Goldmark 库构建静态站点生成器,目的是将 Markdown 文件转换为 HTML 并为所有帖子创建索引页面。

将 Vector Search 集成到 TiDB for AI 应用中
TiDB 在 MySQL 数据库家族中集成了内置的向量搜索功能,无需新建数据库或额外的技术栈即可支持 AI 应用,增强了其高效处理 AI 和机器学习工作负载的能力。

云原生技术

TSDB Part-2:时序数据库的工作原理
本文讨论了时序数据库 (TSDB) 的工作原理,TSDB 是一个旨在处理和查询时序数据的数据库,包括其内部概念、内部架构和常用模型。

MLOps:从 Jupyter 到生产
本文讨论了如何使用 DevOps 和 MLOps 使用持续集成和交付、数据版本控制 (DVC) 和 ML 管道等工具自动部署 AI 应用程序,从 Jupyter 笔记本到生产应用程序。

Docker Security Advisory: Multiple Vulnerabilities in runc, BuildKit, and Moby
The source document is a brief message with the error message " 403 Forbidden".

Hungry GPUs Need Fast Object Storage
The MinIO blog discusses the "Starving GPU Problem" where AI/ML infrastructure is only as fast as its slowest component, often the storage solution, and suggests that a solution to this problem is to keep up with GPU improvements by serving data at a faster rate.

最新的 13 大分布式跟踪工具 [非常适合微服务]
本文讨论了微服务架构的 13 大分布式跟踪工具,强调了它们在监控和可观测性需求中的重要性,并强调了为正确情况选择正确工具的重要性。

Konveyor 0.3.0 发布公告
Konveyor 宣布发布其新版本 0.3.0,引入了多语言分析器、自定义评估模块和动态报告等重要功能,以及一些小的更新,以提高性能和用户体验。

深入探讨 BuildKit:Docker 的构建引擎解释
本文介绍了 BuildKit、Docker 的新默认构建引擎、其内部工作原理以及它相对于 Docker 原始构建引擎的优势,包括其并行化和高级层缓存功能。

AI

CPU 上的 AI 模型:在不破坏银行的情况下进行准确的音频转录
Mux 是一个视频平台,它已经能够使用 Whisper 和 OpenCLIP 等 AI 模型免费为上传到它们的所有视频提供自动生成的字幕,尽管与第三方模型相关的成本很高,但这些模型具有成本效益和效率。

利用 AI 扩展安全性:从检测到解决方案
Google 在线安全博客讨论了在各个领域使用 AI 来扩展安全性,从检测到解决方案,包括 Android、应用程序安全、大数据、C++、Chrome、连接设备、统一学习、Google Play、黑客攻击、IBM 安全、Kubernetes、Linux 内核、内存安全、开源、安全、奖励计划、供应链、有针对性的间谍软件、Titan M2 和研讨会。

释放力量:改变数字格局的 10 种 AI 工具
Sahira Gupta 讨论了 AI 工具在数字领域的重要性,重点介绍了 Tweet Hunter、Vidnoz、Chatsimple、RankWizard、Beehiiv、Submagic、Notion、Fireflies、Bardeen 和 TextBlaze 等十种改变游戏规则的工具,它们可以提高生产力、绩效和团队协作。

流行工具与项目

containerd/containerd
开放可靠的容器运行时

deanxv/coze-discord-proxy
代理discord-bot,api调用coze-bot

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

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

netbirdio/netbird
通过 SSO/MFA 和简单的访问控制将您的设备连接到一个安全的、基于 WireGuard® 的专用网状网络中。

Hoshinonyaruko/palworld-go
Pal World 适用于 PC 和移动设备的多合一 webui。

anchore/grype
容器镜像和文件系统的漏洞扫描程序

pingcap/tidb
TiDB 是一个开源、云原生、分布式、兼容 MySQL 的数据库,支持弹性扩展和实时分析。免费试用 AI 驱动的 Chat2Query:https://tidbcloud.com/free-trial

open-policy-agent/opa
Open Policy Agent (OPA) 是一个开源的通用策略引擎。

open-telemetry/opentelemetry-go
OpenTelemetry Go API 和 SDK

valyala/fasthttp
Go 的快速 HTTP 包。针对高性能进行了调整。热路径中的内存分配为零。比 net/http 快 10 倍

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

rancher/rke2

casbin/casdoor
一个开源的 UI 优先身份和访问管理 (IAM) / 单点登录 (SSO) 平台,具有支持 OAuth 2.0、OIDC、SAML、CAS、LDAP、SCIM、WebAuthn、TOTP、MFA 和 RADIUS 的 Web UI

VictoriaMetrics/VictoriaMetrics
VictoriaMetrics:快速、经济高效的监控解决方案和时间序列数据库

uptrace/bun
SQL-first Golang ORM

kubernetes/minikube
在本地运行 Kubernetes

fatedier/frp
快速反向代理,可帮助您将 NAT 或防火墙后面的本地服务器暴露给 Internet。

helm/helm
Kubernetes 包管理器

charmbracelet/bubbletea
一个强大的小TUI框架 🏗

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

techschool/simplebank
后端大师班:用 Go 构建一个简单的银行服务

DataDog/datadog-agent
Datadog 代理的主存储库

usememos/memos
一个开源的、轻量级的笔记服务。轻松捕捉和分享您的精彩想法。

rancher/rancher
完备的集装箱管理平台


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