GopherDaily

GopherDaily

2023-12-20

每日一谚:Scripts make good tests


Go技术生态

“鲜有人了解的同步原语Phaser,和Barrier有啥区别?”
本文介绍了Java中的Phaser是一个同步原语,它可以让多个线程在某个时刻同步执行。 它和Barrier有点类似,但是它比Barrier更加灵活。 Phaser和CyclicBarrier的功能非常相似,都是应用于多个参与者多阶段处理问题的场景。 Go标准库和扩展库中都没有实现,第三方库也鲜有实现,但是Java中有。

在Go中简化API文档:Swagno与Swaggo
本文讨论了在 Go 中使用“Swaggo”和“Swagno”工具的挑战和优势,重点介绍了前者与开发环境的集成以及后者在 Go 代码中嵌入文档的方法。

在生产环境中剖析Go Web服务
Sabbir Ahmed 的文章讨论了如何安全且可重用地检测 Go Web 服务,以便仅使用“net/http”进行 CPU 和内存分析,并演示如何创建演示 Web API,使用“net/http/pprof”检测分析,以及如何通过生成小负载并捕获 CPU、内存和跟踪配置文件来测试设置。

领域驱动设计 (DDD):构建可扩展的高性能系统的指南
本文提供了领域驱动设计 (DDD) 的综合指南,DDD 是一种使软件与业务领域保持一致的软件设计方法,具有改进的沟通、生产力、可维护性、可扩展性和灵活性等优势。

Golang:高性能 SaaS 应用程序的游戏规则改变者
本文讨论了使用 Golang 进行软件即服务 (SaaS) 应用程序开发的好处和潜力,重点介绍了其效率、可扩展性、多功能性和可负担性,以及它管理用户注册、身份验证、数据存储、与第三方服务的集成和可扩展性的能力。

所以你想要一个开源的 SQL Workbench?
DoltHub 博客讨论了 Dolt Workstation 的发布,这是一个开源的、基于浏览器的 SQL 工作站,用于 MySQL 和 PostgreSQL 兼容数据库,重点介绍了它的功能、优势以及与 MySQL Workstation、PHPMyAdmin 和 DBeaver 等其他产品的区别。

图解Memory Allocation

在 Go 中,常量变量不用于优化
Chris Siebenmann 的博客文章讨论了这样一个事实,即在 Go 中,常量变量不用于优化,这与 C 和 C++ 不同,可能是为了避免与调试混淆或保持编译器更简单。

为什么 Golang 是用 Golang 本身写的?
本文讨论了 Go 等编程语言中的自力更生概念,其中像 Go 这样的语言能够自行编译,这个概念被称为引导,以及它的好处,如简单性、可维护性、可移植性和跨平台兼容性。

Learn Go This Week: A Language Built for Simplicity and Efficiency

掌握 Go with Channels 中的 select 语句:综合指南
这篇博文提供了在 Go 中使用“select”语句的综合指南,Go 是一种以其高效和简单性而闻名的编程语言,尤其是在使用通道和“select”语句处理并发操作方面。

TiDB 中分布式事务的工作原理
本文讨论了流行的开源分布式 SQL 数据库 TiDB 中分布式事务的效率和可靠性,重点介绍了 TiDB 如何在分布式环境中使用 Percolator 协议和快照隔离模型实现 ACID 保证。

了解 Go 中的速率限制:综合指南
这篇博文提供了有关 Go 中速率限制的综合指南,讨论了四种算法:Token Bucket、Leaky Bucket、Fixed Window Counter 和滑动日志,每种算法都有其优点、缺点和代码示例。

Meta 如何为 Threads 构建基础架构
Meta 推出了新的社交应用 threads,在前五天就注册了超过 1 亿,使用分布式键/值数据库 ZippyDB 和异步无服务器函数平台 Async 来支持应用的快速增长。

TiAdvisor 简介:自动化的 TiDB 索引顾问
TiDB Index Advisor 是一款提升用户工作负载性能的自动化工具,旨在解决手动选择合适索引(可能需要数天到数周)的挑战,而是推荐可在几分钟内提升整体性能的索引。

云原生技术

不断变化的云安全格局:我们对 2024 年的预测
本文讨论了 2024 年云安全不断变化的格局,强调了人工智能在网络安全中的使用越来越多,对数据隐私问题的日益关注,以及供应链安全的重要性日益增加。

2024 年告别第三方 Cookie
Chrome 将在 2024 年加入 Firefox 和 Safari 的行列,弃用第三方 cookie,从 1% 的用户开始进行测试,然后逐渐增加,以改善网络隐私。

OpenFeature 成为 CNCF 孵化项目
CNCF 技术监督委员会 (TOC) 已接受 OpenFeature(一种用于功能标记的开放规范)作为 CNCF 孵化项目,标志着该项目成长和发展的一个重要里程碑。

博客:Kubernetes 1.29:将 taint-manager 与 node-lifecycle-controller 解耦
新的 Kubernetes 1.29 版本引入了一项新功能,以改进对基于污点的 Pod 驱逐的处理,将基于污点的逐出实现与节点生命周期控制器分离,以增强代码可维护性并促进未来的扩展。

HashiCorp 2023 年回顾:产品创新
HashiCorp 的 2023 年度回顾强调了公司在产品创新方面的进步,特别是在人工智能领域,重点关注基础设施和安全生命周期管理产品,并强调了对其产品所做的重大改进,包括引入新功能,例如用于单元测试框架和 Terraform 模块集成测试的测试框架, Vault Secrets Operator for Kubernetes 集成,以及 HCP Vault Secrets 和 Secrets 同步功能。

Wasm 一路走来 - 从客户端到服务器,使用 Leptos、Rust 和 Spin
该文档讨论了使用 leptos(一个 Rust Web 框架)来使用 WebAssembly、Rust 和 Spin 构建客户端和服务器端应用程序,重点关注其同构服务器功能及其与 Spin 的兼容性。

为什么要将 Terraform 分解为栈
本文讨论了将大型状态 Terraform 项目分解为堆栈的优缺点,重点介绍了执行时间慢、协作有限、更改危险、复杂性以及测试和调试困难等问题。

Kubernetes 1.29 'Mandala' 测试可变 Pod 资源
Kubernetes 2023 的最终版本 1.29 已经发布,具有多项新的动态功能,并删除了一些缓慢的遗留功能,包括与云提供商的树内集成和对 iptables 的依赖。

平台工程与DevOps和SRE有何不同?
这篇博文解释了平台工程、DevOps 和站点可靠性工程 (SRE) 之间的区别,强调了它们独特的重点、角色和实践,以及它们在创建可靠、高效和可扩展的软件系统方面的重要性。

AI

寻求 AI 基准测试的新范式
The New Stack 讨论了 Meta 开发的新基准测试系统 Chakra 执行跟踪,该系统旨在统一不同的执行跟踪模式并改进 AI 系统和网络规划。

2024 年的人工智能和网络安全 - 正在发生什么变化以及为什么它很重要
本文讨论了人工智能 (AI) 日益集成导致网络安全的重大转变,强调了监管框架的变化、人工智能在网络安全中的双重作用、人工智能开发人员工具的演变、生成式人工智能在网络安全产品中的兴起、首席信息安全官职责的变化,以及根据新法规管理开源软件的挑战。

适用于生成式 AI 应用程序的 Amazon Bedrock
Amazon Blackstone 是一项完全托管的服务,提供基础模型 (FM) 和工具,用于构建和扩展生成式 AI 应用程序,确保隐私和安全性,并提供使用用户数据自定义 FM 并使用亚马逊云科技工具将其集成到应用程序中的功能。

揭开 Salesforce 可持续 AI 蓝图:责任与创新的结合
Salesforce 致力于负责任地开发和部署生成 AI 等新技术,重点是在短期内最大限度地减少对环境的影响,因为为这些技术提供动力的大型语言模型需要大量的计算资源。

LocalAI:用开源取代 OpenAI API
本文讨论了 LocalAI,它是 OpenAI API 的开源替代品,它提供成本效益、隐私、定制和开源实验,使其适合业余爱好者或开发人员。

流行工具与项目

bytebase/bytebase
面向开发人员、DBA 和平台工程团队的世界上最先进的数据库 DevOps 和 CI/CD。用于数据库 DevOps 的 GitLab/GitHub。

redis/go-redis
Redis Go 客户端

go-gorm/gorm
Golang 的出色 ORM 库旨在对开发人员友好

casbin/casbin
在 Golang 中支持 ACL、RBAC、ABAC 等访问控制模型的授权库: https://discord.gg/S5UjpzGZjN

francoismichel/ssh3
SSH3:使用 HTTP/3 的更快、更丰富的安全 shell,请在此处查看我们的文章:https://arxiv.org/abs/2312.08396

moby/moby
Moby Project - 容器生态系统的一个协作项目,用于组装基于容器的系统

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

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

SagerNet/sing-box
通用代理平台

DataDog/datadog-agent
Datadog 代理的主存储库

labstack/echo
高性能、极简的 Go Web 框架

cosmos/cosmos-sdk
⛓️ 构建高价值公共区块链✨的框架

siglens/siglens
效率提高 100 倍的可观测性

celestiaorg/celestia-node
Celestia 数据可用性节点

ory/kratos
下一代身份服务器(想想 Auth0、Okta、Firebase),具有 Ory 强化身份验证、PassKeys、MFA、FIDO2、TOTP、WebAuthn、配置文件管理、身份架构、社交登录、注册、帐户恢复、无密码。Golang、无头、仅 API - 没有模板或主题问题。以云服务的形式提供。

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

oauth2-proxy/oauth2-proxy
一个反向代理,提供对 Google、Azure、OpenID Connect 和更多标识提供者的身份验证。

grpc/grpc-go
gRPC 的 Go 语言实现。基于 HTTP/2 的 RPC

spf13/viper
使用獠牙进行配置

celestiaorg/celestia-app
Celestia网络共识部分的PoS应用程序。使用 celestia-core(CometBFT 的分支)和 cosmos-sdk 构建

XIU2/CloudflareSpeedTest
🌩「自选优选 IP」测试 Cloudflare CDN 延迟和速度,获取最快 IP !当然也支持其他 CDN / 网站 IP ~

nats-io/nats-server
适用于 NATS.io、云和边缘原生消息传递系统的高性能服务器。

usememos/memos
一个开源的、轻量级的笔记服务。轻松捕捉和分享您的精彩想法。

gorilla/mux
软件包 gorilla/mux 是一个强大的 HTTP 路由器和 URL 匹配器,用于构建 Go Web 服务器 🦍

runfinch/finch
Finch CLI,一个用于容器开发的开源客户端


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