GopherDaily

GopherDaily

2024-02-22

每日一谚:Prefer `chan struct{}` over `chan bool` for signaling between goroutines.


Go技术生态

Go vs Rust – 哪一个更适合您的软件项目
本文比较了编程语言 Go 和 Rust,强调了它们的优缺点,并在速度、性能、并发性和内存管理方面进行了详细的比较,重点介绍了它们对 Web 开发、云服务、区块链和微服务的适用性。

TestMain可以引起人们质疑现实
Dave Cheney 讨论了 Go 编程语言中的一个错误,该错误在他的团队中引起了混乱和沮丧,因为 TestMain 函数中的一行更改导致失败的测试根本无法运行,或者根本不运行。

改进糟糕的Go Enums
该文档讨论了 Go 没有官方“枚举”功能的问题,并提出了一种使用“iota”关键字和自定义结构的解决方法,其中包括一个私有的“操作”类型和每个操作的公共结构。

Go run:我的最爱
Breadchris 喜欢 Go的命令 `go run`, 因为它简单且稳定的语法和严格的dependency管理系统,使 compiler能够快速parse和分析 source代码,从而加快 build时间。 他呼吁人们不要 compromise与 hack或工作around,要承担自己的工具和反对改变,以促进 software开发的热情。

使用 Go 编写 TOTP 生成器
本文讨论了使用 Go 实现简单的基于时间的一次性密码 (TOTP) 生成器,解释了 TOTP(基于 HMAC 的一次性密码算法的扩展)的工作原理以及如何生成用户友好的代码。

浅层克隆支持
Dolt 是第一个版本控制的 SQL 数据库,它引入了浅层克隆支持,允许用户将他们想要的历史记录克隆到本地副本,并带有“--depth”标志,允许用户对数据执行 SQL 操作。

gemini-cli:从命令行访问 Gemini 模型
Eli Bendersky 介绍了他的新命令行工具 Gemini-cli,它允许使用基于长短期记忆 (LLM) 的模型和 Google 的 Gemini 模型进行数据分析,并演示了如何使用它在他的博客上查找相关帖子。

使用MinIO SDK for LLM工具开发Langchain代理
本文讨论了使用大型语言模型 (LLM) 的 MinIO SDK 开发 Langchain 代理,重点介绍了 MinIO 安全且可扩展的对象存储与 Langchain 利用 LLM 的全部功能(如 OpenAI 的 GPT)的能力的集成,增强了语言驱动应用程序的功能并提高了数据管理效率。

云原生技术

关于虚拟文件系统的一些新想法
The source document is a brief transcript of a blog post on the blog.codingnow.com, which includes a discussion about the VFS (Visio Visual Expression System) and its implementation. The post also includes links to the GitHub wiki and the blog, and provides a series of instructions for understanding the VSF function. The blog post was updated on February 22, 2024 at 03:21 PM.

如何让您的应用程序为零停机时间的 Kubernetes 做好准备 — 示例
本文提供了有关如何使应用程序为 Kubernetes 做好零停机准备的综合指南,强调了安全性、故障准备、部署和可观察性的重要性。

选择云原生应用保护平台:5 大注意事项
本文讨论了选择云原生应用程序保护平台 (CNAP) 的五大考虑因素,强调了应用程序安全、集成功能、代码到云可见性、DevSecOps 协作以及修复和风险缓解的整体方法的重要性。

使用 Prometheus Exporter 监控 Cloudflare 工作人员
这篇博文讨论了如何使用 Cloudflare 导出器来监控 Cloudflare Workers,解释了它如何从 Cloudflare 帐户获取指标,然后将它们写入 Levitate 等长期指标存储。

了解 Kubernetes 读书俱乐部
AWS 高级专业解决方案架构师 Carlos Santana 讨论了 Kubernetes 读书俱乐部,这是一个基于社区的学习平台,涵盖有关 Kubernetes、GitOps、安全性、SRE 和可观测性的书籍,重点介绍实用解决方案。

构建与购买:平台工程师指南
本文讨论了构建内部开发人员平台 (IDP) 与购买内部开发人员平台的利弊,强调这两种选择都有优点和缺点,而且它不是二元选择,而是一系列方法。

强大的 Docker 替代方案将在 2024 年彻底改变容器化
本文讨论了 2024 年 Docker 替代品的出现,重点介绍了它们的独特功能和优势,并提供了根据兼容性、性能、成本和生态系统选择最佳 Docker 选项的注意事项。

了解大数据中的数据沿袭:挑战、解决方案及其对数据质量的影响
本文讨论了数据沿袭在大数据中的重要性,重点介绍了其各种类型、角色和挑战,以及它对数据质量、运营效率和决策的影响。

How to Use OpenPubkey to Solve Key Management via SSO
The source document is a brief message with the error message " 403 Forbidden".

如何防止机密泄露到开发管道中
Checkmarx 的高级产品营销经理 Yohai West 讨论了防止机密从开发管道中泄露的重要性,将漏水与漏水相提并论,并强调了梅赛德斯-奔驰和澳大利亚足球协会最近发生的事件,这些事件强调了对强大的数据保护策略的需求。

Keep Your Data Safe: A Guide to Persistent Storage in Docker and Podman
The article "Keep Your Data Safe: A Guide to Persistent Storage in Docker and Podman" by Muhammad Ateeb Aslam provides a guide on how to make containers data fail safe, particularly for stateful applications like databases, by using Docker's two mechanisms for storing persistent data: volumes and bind mounts.

协调 Velox 和 Apache Arrow:迈向可组合的数据管理
Meta 与 Voltron Data 和 Arrow 社区合作,将 Apache Arrow 与 Meta 的开源执行引擎 Velox 进行协调和融合,以创建一个更统一、更高效和可组合的数据管理系统。

如何使用 Boundary 为实时流构建自动化
HashiCorp 开发人员倡导者 Rosemary Wang 演示了她如何使用 HashiCorp Boundary 自动访问服务器并记录命令,以便在直播期间实现未来自动化,而无需她的共同房东完全了解 AWS 或 Terraform。

AI

利用生成式 AI 彻底改变企业解决方案
Seldon 讨论了生成式 AI(特别是大型语言模型 (LLM) 集成在转变企业解决方案、提高运营效率、客户满意度和各行各业创新方面的潜力。

在gemini时代负责任地构建开放模型
谷歌宣布发布其 Gemma 系列开放模型,这是朝着构建安全和负责任的 AI 迈出的一步,并且正在与开源社区合作,为负责任的 AI 方法开发更多解决方案。

流行工具与项目

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

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

ollama/ollama
启动并运行 Llama 2、Mistral 和其他大型语言模型。

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

redis/go-redis
Redis Go 客户端

openimsdk/open-im-server
IM聊天

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

tidwall/gjson
快速获取 JSON 值 - 适用于 Go 的 JSON 解析器

go-fuego/fuego
Golang Fuego - 从源代码生成 OpenAPI 3 规范的 Web 框架

iawia002/lux
👾 用 Go 编写的快速简单的视频下载库和 CLI 工具

go-playground/validator
💯Go Struct 和 Field 验证,包括 Cross Field、Cross Struct、Map、Slice 和 Array 潜水

trufflesecurity/trufflehog
查找和验证凭据

gorilla/websocket
软件包 gorilla/websocket 是一个快速、经过良好测试且广泛使用的 Go WebSocket 实现。

projectdiscovery/nuclei
基于基于简单 YAML 的 DSL 的快速且可定制的漏洞扫描程序。

spf13/cobra
现代 Go CLI 交互的指挥官

flipped-aurora/gin-vue-admin
基于vite+vue3+gin搭建的开发基础平台(支持TS,JS混用),集成jwt鉴权,权限管理,动态路由,显隐可控组件,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器,chatGPT自动查表等开发必备功能。

kubernetes-sigs/external-dns
为 Kubernetes 入口和服务配置外部 DNS 服务器(AWS Route53、Google CloudDNS 等)

spf13/viper
使用獠牙进行配置

IBM/sarama
Sarama 是 Apache Kafka 的 Go 库。

aaamoon/copilot-gpt4-service
将 Github Copilot 转换为 ChatGPT

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

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

databus23/helm-diff
一个 helm 插件,它显示了一个差异,解释了 helm 升级会改变什么

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

json-iterator/go
A high-performance 100% compatible drop-in replacement of "encoding/json"


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