GopherDaily

GopherDaily

2024-01-08

每日一谚:Only use a buffered channel if you know the exact buffer size. Or, you would be only gambling with a ticking time bomb


Go技术生态

依赖Kafka的Go单元测试例解
聊聊如何对依赖Kafka的代码进行测试

Go 中的 Protoc 插件:从头开始的 gRPC-REST 网关
Homayoon Armihammadi 发表了一篇关于使用 Protoc 插件从头开始构建最小 gRPC-REST 网关的博客文章,旨在解决迁移到 gRPC 后端服务时面临的问题,尤其是在微服务架构中。

Node vs Go:API 对决
这篇博文比较了 Node.js 和 Golang 在 API 对决中的性能,重点介绍了两种语言如何在巨大的压力下处理请求,Go 在 RAM 使用率、CPU 使用率、打开文件描述符计数和操作系统线程数方面表现出卓越的性能。

Golang 中最常见的 5 大错误
Weilson Wonder 的文章重点介绍了开源编程语言 Golang 中最常见的五大错误,包括未正确处理错误、误解 Goroutines 和通道使用、接口使用不当、未使用“defer”进行资源管理以及忽略对共享资源的并发访问。

Go运行时的并发原语
本文介绍了Go运行时的并发原语,包括mutex、gopark/goready、filelock、信号量、sync. Mutex、atomic和singleflight。

Monzo 的经验教训:AWS 重新发明:深入了解构建数字银行
本文深入探讨了拥有 800 万个账户的数字银行公司 Monzo 及其在 AWS 上运行的基础设施和可靠性团队,截至 2019 年,包括 1500 个微服务和 9000 个正在生产的 Pod。

The DDD Hamburger for Go
The document discusses the Domain-Driven Design (DDC) Hamburger architecture for Go, which combines the best of the hexagonal architecture, Domain-Driven Design, and layered architecture, and is presented as a layered architecture with three main layers: presentation, application, and domain, with the latter being the "meat" of the hamburger.

Golang 如何管理其安全供应链
Go 编程语言的技术负责人 Russ Cox 最近在一次主题演讲中强调了 Google 为确保 Go 的安全性而采取的安全措施,包括加密签名、Go 校验和数据库、Capslock 和 OSS-Fuzz。

云原生技术

现在是 2024 年,是时候看看你的 Web API 技术堆栈了。
作者在 2024 年的第一篇帖子中比较了性能和功能。Net Core 8 和 Go 用于 Web API 开发,这表明 Go 更适合纯后端 API 开发,而。Net Core 8紧随其后,特别是对于全栈平台。

离开云端时保持灯亮
2023 年,37signals 将 7 个主要应用程序(包括电子邮件服务)移出云端,并保持了至少 99.99% 的停机时间,除 Basecamp 2 外,所有应用程序都实现了 100% 或更高。

Kubernetes 中的多租户强大 SaaS 交付:PostgreSQL 的 Golang 冒险
本文讨论了如何使用 Golang、PostgreSQL 和 Gorm.io 库在 Kubernetes 中实现强大的多租户 SaaS 交付,重点介绍了自动化、数据库管理和实时数据库更新的优势。

AI

流行工具与项目

aaamoon/copilot-gpt4-service
将 Github Copilot 转换为 ChatGPT,免费使用 GPT-4 模型

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

SagerNet/sing-box
通用代理平台

filebrowser/filebrowser
📂 Web 文件浏览器

jmorganca/ollama
在本地启动并运行 Llama 2 和其他大型语言模型

teamhanko/hanko
密钥时代的身份验证和用户管理

charmbracelet/huh
构建终端表单和提示 🤷🏻 ♀️

rqlite/rqlite
基于 SQLite 构建的轻量级分布式关系数据库

cloudreve/Cloudreve
🌩支持多家云存储的云盘系统 (Self-hosted file management and sharing system, supports multiple storage providers)

twpayne/chezmoi
安全地跨多台不同的机器管理您的点文件。

hajimehoshi/ebiten
Ebitengine - 一个非常简单的 Go 2D 游戏引擎

daeuniverse/dae
基于eBPF的Linux高性能透明代理解决方案。

a-h/templ
一种用 Go 编写 HTML 用户界面的语言。

alist-org/alist
🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。

rivo/tview
带有丰富交互式小部件的终端 UI 库 — 用 Golang 编写

cockroachdb/cockroach
CockroachDB - 开源的云原生分布式 SQL 数据库。

lightningnetwork/lnd
闪电网络守护进程 ⚡️

p4gefau1t/trojan-go
Go实现的Trojan代理,支持多路复用/路由功能/CDN中转/Shadowsocks混淆插件,多平台,无依赖。A Trojan proxy written in Go. An unidentifiable mechanism that helps you bypass GFW. https://p4gefau1t.github.io/trojan-go/

ethereum/go-ethereum
以太坊协议的官方 Go 实现

dolthub/dolt
Dolt – 用于数据的 Git

cloudflare/cloudflared
Cloudflare Tunnel 客户端(以前称为 Argo Tunnel)

DrDonk/unlocker
VMware macOS 实用程序

XTLS/Xray-core
X射线,穿透一切。也是最好的 v2ray-core,支持 XTLS。完全兼容的配置。

rebuy-de/aws-nuke
对整个 AWS 账户进行核弹并删除其所有资源。

jesseduffield/lazygit
用于 git 命令的简单终端 UI


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