GopherDaily

GopherDaily

2023-12-08

每日一谚:You often don't need frameworks in Go


Go技术生态

Golang:你可能不知道的14个技巧!
本文提供了 Golang 编程语言的 14 个速记技巧,该语言因其简单性和性能而受到开发人员的青睐,以提高编码技能并简化开发过程。

有效表达软件架构的最小图集
关于架构设计的一些想法和实践经验整理

更精准的sleep
Linux和Windows提供了更高精度的Sleep,Go开发者也在尝试解决Windows中过长的问题。 本文分析了Linux的更高精度系统调用`nanosleep`,可以提供纳秒级别的休眠,它是一个阻塞的系统调出,会阻塞当前线程,直到睡眠结束或被中断。 文章建议,如果程序中有很多的goroutine,那么可以使用`nano Sleep`,如果没有,那么也可以使用`time,Sleep`。

调整 Dolt 实例的大小
本文讨论了 Dolt 实例(世界上第一个受版本控制的 SQL 数据库)的硬件要求,详细介绍了其磁盘、内存、CPU 和网络要求,并指出虽然它比其他数据库使用更少的每个“HEAD”磁盘,但它也存储了完整的数据历史记录,从而增加了存储要求。

GoLand 2023.3 现已推出!
GoLand 2023.3 版本是一个跨平台的 Go IDE,已经发布,引入了 JetBrains AI Assistant、对开发容器的支持以及新的提示、重构和快速修复等新功能,以提高生产力。

在 Go 编程中理解和使用“go work”命令
Go 编程中的“go work”命令在最新版本中引入,简化了使用多个模块的过程,从而可以更轻松地管理跨多个模块的依赖关系和引用。

云原生技术

开发人员编写待办事项列表项的 3 个技巧
本文为开发人员编写待办事项列表故事提供了三个技巧:包括更多上下文、提供资源和示例,以及澄清验收标准以确保清晰并避免误解。

从混沌到清晰:降噪在可观测性中的作用
本文讨论了降噪在可观测性中的重要性,这是现代软件开发和运营的关键组成部分,重点介绍了开源可观测性框架 OpenTelemetry 如何帮助减少模糊关键见解的不必要冗余数据。

Kubernetes 中的非侵入式注入 OpenTelemetry 自动检测
本文讨论了 OpenTelemetry (Otel) 在 Kubernetes 中的使用,这是一个用于可观测性的开源项目,重点介绍了其用于收集、处理和导出遥测数据的工具、API 和 SDK,以及 OpenTelemetry Operator,这是一个旨在简化 OpenTelemetry 组件部署和管理的 Kubernetes Operator。

为什么您的云数据库性能很糟糕
本文讨论了云数据库性能不佳的常见原因,认为问题通常出在应用程序处理或数据库无法以所需的性能级别为应用程序提供服务,而不是数据库本身。

与 Backstage 一起开启平台工程之旅
这篇博文讨论了内部开发人员门户 (IDP) 在软件行业中的重要性,重点介绍了由 Spotify 开发并捐赠给云原生计算基金会的开源平台 Backstage 如何为软件开发提供集中式平台,包括软件目录、软件模板、CI/CD 集成、文档管理以及分析和指标。

Nomad 1.7 改进了 Vault 和 Consul 集成,增加了 NUMA 支持
HashiCorp 的 Nomad 1.7 是一个灵活的编排器,用于部署和管理容器和非容器化应用程序,它引入了改进的工作负载标识、改进的 Vault 和 Consul 集成,并添加了非一致性内存访问 (NUMA) 支持等功能。

自托管,非自我管理
Gitpod 是一家提供云开发环境 (CDE) 的公司,于 2022 年 12 月停止了其自我管理产品,意识到自我管理会降低 CDE 平台的效率和成本,而是推出了 Gitpod Dedicated,这是一种自托管但不是自我管理的模型。

使用 FLAME 重新思考无服务器
Chris McCord 讨论了 FLAME 模式,这是一种针对扩展应用程序复杂性的解决方案,它允许对应用程序代码的特定部分进行按需、精细的弹性扩展,而无需重写应用程序或使用专有运行时。

我们如何增强团队的开发人员体验
该团队通过重新组织其 GitHub 工作流程以分离关注点、重用测试容器和分片测试以进行并行执行,从而改善了开发人员体验,从而显著缩短了测试执行时间并加快了反馈周期。

为什么 Apache Kafka 的分层存储是一件大事
Apache Kafka 引入了分层存储,这是一种将计算和存储分开的功能,使其在企业架构中更具可扩展性、可靠性和成本效益,具有降低成本、提高可扩展性以及降低停机或数据不一致风险等优势。

经得起时间考验的建筑设计文档
这篇博文讨论了设计文档在设计团队流程中的重要性,区分了设计文档和样式指南,并解释了设计文档的组成部分。

为 Messenger 构建端到端安全性
Facebook 的工程公司 Meta 正在将 Messenger 上的个人对话升级为默认使用端到端加密 (E2EE),旨在确保只有发送者和预期接收者才能访问他们的消息,并且没有人,甚至应用程序的提供商,都可以伪造消息。

TorchServe加速基于Dragonfly的模型分发
该文档提供了有关如何在 TorchServe 中使用 dragonfly 端点来加速模型分发、克服存储带宽限制和提高下载速度的详细指南。

Vercel 添加了旨在支持 Monorepos 的新功能
前端开发公司 Vercel 在其开发人员体验平台中引入了新功能,以更好地支持 monorepos,包括更改批准和在问题进入生产环境之前自动检测问题。

公司如何通过从 AWS 迁移到裸机服务器来节省数百万美元?
OneUptime 和 Prerender 等公司已成功从 Amazon Web Services (AWS) 迁移到数据中心的裸机服务器,将年度成本分别降低了 50% 和 80% 以上。

AI

GitHub 棘手的 AI 平衡
GitHub 正试图在不疏远其核心用户群的情况下引入新的 AI 功能,而谷歌已经推出了其最新的 AI 模型 Gemini,其他企业科技公司正在做出改变以跟上新兴技术的步伐。

Meta 的新免费 AI 图像生成器在 11 亿张 Instagram 和 Facebook 图片上进行了训练
Meta 推出了一款新的免费 AI 图像生成器 Imagine with Meta,它基于 Meta 的 Emu 图像合成模型,并在 11 亿张公开可见的 Facebook 和 Instagram 图像上进行训练,允许用户通过提供书面提示来生成独特的图像。

Gemini AI:人工智能领域的新动力
谷歌于 2023 年 12 月 6 日发布了其最新的高级人工智能模型 Gemini,该模型建立在 Google AI 和 DeepMind 的 Horizons 语言模型 2 的基础上,具有多模态能力,使其能够理解和处理来自各种来源的信息,包括文本、图像、视频、音频和代码。

AI 在 KubeCon 2023 上对云原生的影响
本文在 KubeCon 2023 上讨论了 AI 对云原生的影响,强调了云原生生态系统的发展、AI 在机器学习中的重要性以及软件行业对可持续性日益增长的需求。

我们需要正式化吗?
该文档讨论了形式化数学证明的潜在好处和挑战,特别是在计算复杂性的背景下,例如Terry Tao在精益证明系统中完全形式化了他的多项式Freiman-Ruzsa猜想。

流行工具与项目

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

gorilla/websocket
Package gorilla/websocket 是一个快速、经过充分测试且广泛使用的 Go WebSocket 实现。

evanw/esbuild
一个极快的网络打包器

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

derailed/k9s
🐶 Kubernetes CLI 以时尚的方式管理您的集群!

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

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

influxdata/telegraf
插件驱动的服务器代理,用于收集和报告指标。

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

etcd-io/etcd
分布式可靠的键值存储,用于存储分布式系统中最关键的数据

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

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

kubevirt/kubevirt
Kubernetes 虚拟化 API 和运行时,用于定义和管理虚拟机。

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

syncthing/syncthing
开源连续文件同步

grpc-ecosystem/go-grpc-middleware
Golang gRPC 中间件:拦截器链接、身份验证、日志记录、重试等。

FalconForceTeam/FalconHound
FalconHound 是一个蓝队多功能工具。它允许您以更自动化的方式利用和增强 BloodHound 的功能。它旨在与 SIEM 或其他日志聚合工具结合使用。

containerd/containerd
开放可靠的容器运行时

lib/pq
用于数据库/sql 的 Pure Go Postgres 驱动程序

cosmtrek/air
☁️ Go 应用的实时重新加载

kubernetes/ingress-nginx
适用于 Kubernetes 的 Ingress-NGINX 控制器

go-gitea/gitea
喝杯茶!轻松的自托管一体化软件开发服务,包括 Git 托管、代码审查、团队协作、包注册表和 CI/CD

kubernetes-sigs/kueue
Kubernetes 原生作业排队

bnb-chain/bsc
基于go-ethereum分叉的BNB智能链客户端

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


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