GopherDaily

GopherDaily

2024-05-02

每日一谚:Don't trust user input; validate and sanitize it


Go技术生态

Go团队技术负责人揭秘标准库演化三原则
TonyBai,Go团队技术负责人,在2024年5月2日19:00发布文章,揭秘了Go语言的标准库演化三原则,并提供了一些帮助和建议,包括向上滑动看下一个,微信扫一扫,使用小程序,取消赞和允许赞,以及视频小程序赞和取消赞在看。

Go 1.22中的安全随机数生成
Go 编程语言通过在“math/rand”中使用加密随机数源来改进其随机数生成,提高了随机性并减少了开发人员意外使用“math/rand”而不是“Crypto/rand”时的损害,并使用了一个名为 ChaCha8Rand 的新生成器。

如何使用 Go-Elasticsearch 库在 Elasticsearch 中索引文档
这篇博文提供了有关如何使用 Go-Elasticsearch 库在 Elasticsearch 中索引文档的分步指南,强调了处理错误和监控数据完整性和系统稳定性的重要性。

go 模块膨胀
由于在过去五年内未发行的Go软件中未发行版本的文件的版本大小比前五年大了10倍,作者在重新运行发行脚本后发现,版本大小被大于原先版本,主要原因是删除了不可取的文件,包括一个1.5MB的JSON文件,以及一些在vendor目录中的大型文件,如go-colorful,被删除后最终版本大小减少了500K。

HTMX:不带 JS 的多选表单控件
本文档讨论了如何使用 htmx、go 和 bootstrap 创建可重用和可自定义的多选窗体控件,使用不使用任何外部依赖项、仅生成 HTML 输出和处理请求的简单后端。

关于Zig的想法
作者分享了他使用 Zig(一种由 Andrew Kelley 设计的编程语言)的经验,强调了它独特的原理、缺乏生成的文档、令人困惑的错误消息以及缺少字符串,但得出的结论是,虽然它对小型项目来说很有趣,但他仍然更喜欢 Rust,因为它的安全特性和充满活力的生态系统。

云原生技术

可观测性变得简单
Coroot 是一个简化可观测性的平台。

API 网关正在经历身份危机
这篇博文讨论了 API 网关的身份危机、它们在不同 IT 基础设施级别中的作用,以及 API 网关在面对 Service Mesh 时可能过时的问题,同时还提供了 Solo.io 的解决方案,该公司是一家帮助组织采用 API 技术的公司。

Making Sense Out of Native Sidecar Containers in Kubernetes
Kubernetes 1.28 introduced "native" sidecar containers, which are essentially init containers with new properties, aiming to address the need for multiple concurrent and restartable containers in a Pod, while maintaining the startup order and running to completion of the main application.

我希望在使用 Istio 之前知道的 10 件事
本文提供了 10 个改善 Istio 体验的技巧,包括了解 Istio 词汇、了解入站和出站流量、单独使用 CRD、控制范围、实现零信任、正确部署 Istio、使用修订版、比较苹果到苹果、将外部服务视为一等公民、了解命名空间边界以及使用 Istio 环境网格。

测量 Android 设备的能源使用情况
这篇博文讨论了测量 Android 设备能源使用量的过程,作为移动计算碳足迹项目的一部分,使用三种方法:基于硬件、模型和软件/API,并使用 Android 设备管理器 API 和服务来收集电池数据并计算能源使用量。

Kubernetes 1.30 中从 SPDY 到 WebSockets 的端口转发转换
最新的 Kubernetes 版本 1.30 将某些“kubectl”命令从 SPDY 过渡到 WebAssembly (WSLY),提高了兼容性和性能,并允许更好的集群管理和稳定性,过渡从将连接升级到 WebAssembly (WSY) 的 HTTP 握手开始。

解耦开发:探索 SpurtCMS — 具有 GraphQL API 的多功能 Golang 解决方案
本文讨论了 SpurtCMS,这是一种基于 Golang 和 GraphQL API 构建的灵活且适应性强的 Web 开发解决方案,它为内容管理提供了解耦架构,可用于构建一系列 Web 服务。

cilium速查表

提高云原生应用程序安全性的 3 个可观测性最佳实践
源文档是一条消息,指示来自系统的“403 Forbidden”错误消息,

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

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

AI

LinkedIn首次涉足GenAI开发的5个教训
LinkedIn首次尝试生成式AI开发,将其整合到其两项服务中,揭示了早期阶段的挑战,包括需要仔细设计,需要客观评估集,以及将大型语言模型(LLM)集成到系统中的挑战。

流行工具与项目

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

golang-migrate/migrate
数据库迁移。CLI 和 Golang 库。

usememos/memos
一个开源的、轻量级的笔记服务。轻松捕捉和分享您的好主意。

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

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

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

open-telemetry/opentelemetry-collector-contrib
OpenTelemetry Collector 的 Contrib 存储库

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

tailscale/tailscale
使用 WireGuard 和 2FA 的最简单、最安全的方式。

docker/cli
The Docker CLI

nektos/act
在本地🚀运行 GitHub Actions

kubernetes-sigs/metrics-server
Kubernetes 内置自动缩放管道的容器资源指标的可扩展且高效的来源。

qdm12/gluetun
用于多个 VPN 提供商的瘦 Docker 容器中的 VPN 客户端,用 Go 编写,并使用 OpenVPN 或 Wireguard,DNS over TLS,内置一些代理服务器。

lima-vm/lima
Linux 虚拟机,专注于运行容器

junegunn/fzf
🌸 命令行模糊查找器

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

urfave/cli
一个简单、快速且有趣的软件包,用于在 Go 中构建命令行应用程序

ariga/atlas
以代码形式管理数据库架构

trufflesecurity/trufflehog
查找和验证机密

rs/zerolog
零分配 JSON 记录器

uber-go/zap
在 Go 中快速、结构化、分级的日志记录。

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

fleetdm/fleet
面向 IT、安全和基础架构团队的开源平台。(Linux、macOS、Chrome、Windows、云、数据中心)

caddyserver/caddy
具有自动 HTTPS 功能的快速可扩展的多平台 HTTP/1-2-3 Web 服务器

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


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily主页:gopherdaily.tonybai.com

GopherDaily归档:gopherdaily.tonybai.com/more

GopherDaily项目:github.com/bigwhite/gopherdaily

订阅GopherDaily

取消订阅GopherDaily

Copyright 2019-2024 GopherDaily