GopherDaily

GopherDaily

2024-06-21

每日一谚:Do not Return -1 or nil to Indicate Error.


Go技术生态

Go团队的工作方式
Go团队成员Cameron Balahan(Go产品负责人)、 Sameer Ajmani(Go团队工程总监)和Russ Cox(Go团队技术负责人)参加了业界知名的播客栏目GoTime的最新一期活动,分享了Go团队的工作方式,包括:Go团队的组成、现状与职责划分、与社区互动、决策与规划流程、产品管理等方面。

Go 1.23rc1发布
The Go team has released version 1.23rc1, a pre-release version of Go, inviting users to test the new version, report any problems, download binary and source distributions, and opt in to Go toolchain telemetry to validate the release.

思考channel的三种方式
该文档讨论了在 Golang 中使用通道的复杂性,并解释说,虽然通道类似于队列,但了解它们的生态系统以及 Go 运行时如何管理它们至关重要,并且它们的效率和性能是选择正确实现的关键考虑因素。

Ep. 1: Enhancing Your Go Projects with Generative AI: Exploring LLMs
The first episode of the " Intro to Generative A.I" series explores the use of large language models (LLMs) in Go projects, demonstrating how they can enhance coding efficiency and other tasks like customer service automation.

Thoughts on Code Reviews
Luca Rossi discusses the importance and potential flaws of code reviews, suggesting a "Ship/Show/Ask" framework for optimal review processes, which includes automating certain tasks and pairing for complex or critical reviews.

Zig 与 Rust 在工作中:我们做出的选择
一家大公司选择 Zig 而不是 Rust 作为他们的 C 和 C++ 系统,考虑了 C 互操作性、可伸缩性以及易于学习和招聘等因素,其中易学习性、开发人员经验以及编译器和构建系统等因素在决策中起着重要作用。

云原生技术

为什么 Redis 是分布式瑞士军刀
Neo Kim 的系统设计通讯讨论了分布式数据存储 Redis 在高性能应用中的使用,重点介绍了它在缓存管理、排队、锁定、限制、会话存储和速率限制方面的功能,并分享了其他用例。

SQLite Internals: How The World's Most Used Database Works
The book "SQLite Internals: How The World's Most Used Database Works" by Abdur-rahmaan Janhangeer provides a detailed analysis of the world's most used database, SQL, its development, and its compatibility with other databases, including PostgreSQL, Web Storage, and DuckDB.

粒度难题:找到合适的微服务大小
本文讨论了在微服务架构中确定微服务大小的挑战,重点介绍了粒度的概念及其两种力量:分解者和集成者,并提供了一个基于服务范围、功能、更改隔离、可伸缩性、容错和可扩展性等因素将服务分解为更小部分的示例。

ETA(预计到达时间)Lyft的可靠性
Lyft 开发了一个基于树的分类模型,利用司机可用性、交通状况和市场动态等因素来预测乘客估计到达时间 (ETA) 的可靠性,以确保准确的服务并降低取消率。

Linux 上 Docker Swarm 的高效容器编排技巧
Linux Journal 提供了使用 Docker Swarm(一种基于 Docker 的集群和编排工具)进行高效容器管理的指南,强调了其简单性、可扩展性和安全功能,但指出了它在处理大型集群或复杂网络需求方面的局限性。

Argo Rollouts 现在支持 Kubernetes Gateway API 的 1.0 版
Kubernetes 的渐进式交付控制器 Avago Rollouts 宣布,它现在支持新的 Kubernetes Gateway API,允许用户使用几乎任何入口、网关或服务网格在 Kubernetes 上执行金丝雀部署。

AI

为什么我们不再使用LangChain来构建我们的AI代理
人工智能开发公司 Octomind 已停止使用高级层 (LLM) 框架 LangChain,因为它缺乏灵活性和复杂性,并建议改用模块化构建块。

Secure Code Reviewer — Copilot
Razorpay Engineering 正在将大型语言模型 (LLM) 集成到他们的代码审查工作流程中,以改进安全检查并识别漏洞,使用易受攻击的 Juice Shop 应用程序的实验取得了令人鼓舞的结果。

流行工具与项目

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

golang/go
Go 编程语言

prometheus/prometheus
Prometheus 监控系统和时间序列数据库。

daytonaio/daytona
开源开发环境管理器。

kyverno/kyverno
Kubernetes 原生策略管理

coreybutler/nvm-windows
适用于 Windows 的node.js版本管理实用程序。具有讽刺意味的是,这是用围棋写的。

ollama/ollama
使用 Llama 3、Mistral、Gemma 和其他大型语言模型启动并运行。

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

halfrost/LeetCode-Go
✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解

golang/protobuf
Go 支持 Google 的协议缓冲区

k3s-io/k3s
轻量级 Kubernetes

zeromicro/go-zero
一个云原生 Go 微服务框架,带有 cli 工具,可提高生产力。

bluenviron/mediamtx
即用型 SRT / WEBRTC / RTSP / RTMP / LL-HLS 媒体服务器和媒体代理,允许读取、发布、代理、录制和播放视频和音频流。

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

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

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

milvus-io/milvus
云原生矢量数据库,用于下一代 AI 应用的存储

go-chi/chi
轻量级、惯用和可组合的路由器,用于构建 Go HTTP 服务

coder/coder
通过 Terraform 预配远程开发环境

aquasecurity/trivy
查找容器、Kubernetes、代码存储库、云等中的漏洞、错误配置、机密、SBOM

influxdata/telegraf
用于收集、处理、聚合和写入指标、日志和其他任意数据的代理。

nats-io/nats-server
用于 NATS.io 的高性能服务器,云和边缘本机消息传递系统。

jaegertracing/jaeger
CNCF Jaeger,分布式跟踪平台


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily主页:gopherdaily.tonybai.com

GopherDaily归档:gopherdaily.tonybai.com/more

GopherDaily项目:github.com/bigwhite/gopherdaily

订阅GopherDaily

取消订阅GopherDaily

Copyright 2019-2024 GopherDaily