GopherDaily

GopherDaily

2024-05-01

每日一谚:Don't rely solely on unit tests; include integration and end-to-end tests


Go技术生态

使用Go开发语言服务器(LSP)
这篇博文提供了有关如何使用 go.lsp.dev 模块集合在 Go 中实现语言-服务器-服务器 (LSP) 服务器的指南,并提供了如何在 IDE 和编辑器(如 Neo vim 和 Visual Studio Code)中使用该服务器的说明。

Go Internals:Go 中的 HTTP 请求多路复用
本文解释了 Go 如何处理 HTTP 请求多路复用,解释了 goroutines、scheduler、sysmon、netpoller 和 epoll 在管理网络 I/O 中的作用,以及 Linux 的网络 API 是如何工作的。

如何将检索增强生成 (RAG) 用于 Go 应用程序
该文档提供了有关如何在 Go 应用程序中使用检索增强生成 (RAG) 的指南,通过在响应生成期间动态检索外部信息来提高大型语言模型 (LLM) 的准确性和相关性,从而将模型的知识库扩展到其原始训练数据之外。

使用 Go 的 eBPF 应用介绍
本文讨论了在 Go 编程中使用扩展 Berkeley 数据包过滤器 (eBPF) 来修改 Linux 内核、跟踪系统调用和监控网络数据包,重点介绍其用于系统性能、监控和安全性的能力。

Dolt 获取 cgo 依赖项
DoltHub 是用 Go 编写的 MySQL 可组合 SQL 数据库的创建者,它在 Dolt 中采用了 cgo 依赖项以获得更好的磁盘压缩,尽管它给项目带来了权衡,例如复杂性、兼容性、异构依赖项和 IDE 支持。

对 Go 日志记录的见解
本文档概述了用于日志的各种 Go 包,包括基本日志包、logrus、zip、zerolog 和 glog,并解释了它们的特性,如日志前缀和标志、日志严重性和钩子集成,以及它们的性能和基于详细程度的功能。

优化 CPU 缓存的 Go 代码

Go workshops that work
The episode "Go Time #314" discusses the quality and effectiveness of Go workshops, introduces various tools and platforms for team management and deployment, and encourages listeners to join Changelog++ for ad-free access.

在 Golang 中构建 CRUD API 的最快方法!
本文提供了有关如何使用 MySQL 和 GoFr 在不到 50 行代码中构建简单、高性能且可重用的 Cross Walk (Cred) API 的分步指南。

在 Go 中构建单体应用 - 代码布局
作者分享了他们在 Go 中构建商业餐厅 app 的经验,重点介绍了单体布局的好处,包括易于重构、领域边界、测试隔离以及用于高效管理和测试的单个可重用二进制文件。

云原生技术

在 Kubernetes 中将 Sidecar 扩展到零
本文介绍了 Kubernetes 中的 sidecar 模式,重点介绍了其效率以及 SpinKube(一种轻量级、零成本技术)的使用,以有效地扩展 Kubernetes 环境中的应用程序,提高可维护性和可扩展性。

HTTP 方法 — 最佳实践指南
该文档提供了有关 HTTP 方法(包括 GET、POST、PUT 和 DELETE)的指南,解释了它们的用法、请求处理以及成功和不成功请求的规则。

Docker 和 JFrog 合作进一步保护 Docker Hub,并删除数百万个带有恶意链接的无映像存储库
源文档是一条消息,指示来自系统的“403 Forbidden”错误消息,

使用 NVIDIA 设备插件在 Kubernetes 中使用 GPU 加速机器学习
适用于 Kubernetes 的 NVIDIA 设备插件允许组织通过利用 GPU 来加速机器学习工作负载,该插件的功能包括自动发现和分配、运行状况监控和资源共享,从而可以轻松管理和部署 Kubernetes 环境中的 GPU。

容器运行时接口流式处理说明
Kubernetes 容器运行时接口 (CRI) 解释了三个远程过程调用 (RPC) 的功能和历史记录:“Exec”、“Attach”和“PortForward”,它们允许远程命令执行、与正在运行的进程交互和流数据,未来的工作重点是支持 WebDAV 和其他流协议。

在 HashiCorp Nomad 上运行 Vault,第 1 部分
本文档提供了有关如何使用 HCP Terraform 在 HashiCorp Nomad 上部署和配置 HashiCorp Vault 服务器的指南,包括服务器、客户端和备份服务器的配置,以及创建 Virtual Private Cloud (VPC) 子网。

OpenFaaS 函数自定义资源定义 (CRD) 的新状态
OpenFaaS 函数自定义资源定义 (CRD) 已更新,以支持 Kubernetes 工具的新状态字段,从而更轻松地将函数与 Kubernetes 工具集成,并提供 ArgoCD 和 fluxCD 都可以理解的就绪状态或运行状况。

“固执己见”?您应该为新堆栈做出贡献
New Stack 正在扩大其贡献者计划,邀请读者分享他们对各种技术主题的看法和见解,并正在与前 TechCrunch 执行编辑 Matt Burns 和高级编辑 Joab Jackson 合作招募新的贡献者。

AI

Perplexity 如何构建产品
Lenny Rachitsky 讨论了 Perplexity,这是一家成立不到两年的 AI 公司,强调了其 AI 优先的方法、像粘液霉菌一样的组织、小团队、很少的经理,以及对产品反馈和用户体验的关注。

私有的开源聊天界面
来自 LibreChat 的 Danny Avila 参加了一场关于 Practical AI 的实时网络研讨会,讨论了私有开源聊天 UI 的未来、LibreChat 背后的动机以及 RAG 和插件等功能的创建。

流行工具与项目

talostrading/sonic
Sonic 是一个用于网络和 I/O 编程的 Go 库,它为开发人员提供了一致的异步模型,重点是在 Go 中实现尽可能低的延迟和抖动。

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

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

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

slackhq/nebula
一个可扩展的覆盖网络工具,专注于性能、简单性和安全性

prometheus-operator/prometheus-operator
Prometheus Operator 在 Kubernetes 上创建/配置/管理 Prometheus 集群

kubernetes-sigs/kustomize
自定义 kubernetes YAML 配置

aws/karpenter-provider-aws
Karpenter 是一款 Kubernetes Node Autoscaler,专为灵活性、性能和简单性而构建。

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

spf13/viper
用獠牙进行配置

appleboy/gorush
用 Go (Golang) 编写的推送通知服务器。

argoproj/argo-rollouts
Kubernetes 的渐进式交付

kaytu-io/kaytu
Kaytu CLI 通过找到完美的服务器大小来帮助您节省云成本。Kaytu 分析历史使用情况并提供量身定制的建议,确保您只需为所需的资源付费。

rancher/rancher
完整的容器管理平台

juanfont/headscale
Tailscale 控制服务器的开源自托管实现

external-secrets/external-secrets
External Secrets Operator 从 AWS Secrets Manager 等第三方服务读取信息,并自动将值作为 Kubernetes Secrets 注入。

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

seaweedfs/seaweedfs
SeaweedFS 是一个快速分布式存储系统,用于 blob、对象、文件和数据湖,用于数十亿个文件!Blob 存储具有 O(1) 个磁盘查找和云分层。Filer 支持云盘、跨 DC 主动-主动复制、Kubernetes、POSIX FUSE 挂载、S3 API、S3 网关、Hadoop、WebDAV、加密、纠删码。

rs/zerolog
零分配 JSON 记录器

crowdsecurity/crowdsec
CrowdSec - 开源和参与式安全解决方案,提供针对恶意 IP 的众包保护,并访问最先进的真实世界 CTI。

grafana/alloy
具有可编程管道的 OpenTelemetry Collector 分发

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

pdfcpu/pdfcpu
用 Go 编写的 PDF 处理器。

IceWhaleTech/CasaOS
CasaOS - 一个简单、易于使用、优雅的开源个人云系统。

gruntwork-io/terragrunt
Terragrunt 是 Terraform 的精简包装器,它提供了用于处理多个 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