2023-03-19 Go Go 第三方 log 库之 zap 使用 zap 是由 Uber 公司开源的一款 Go 日志库,就像它的命名一样,zap 以快著称。官方 GitHub 仓库中只用一句话来概括 zap:「在 Go 中进行快速、结构化、分级的日志记录」。这句话简单明了的概括了 zap 的核心特性,今天我们就来介绍下 zap 日志库的基本使用和高级特性,以及如何在实际应用程序中使用,来提高应用程序的可靠性。 阅读全文…
2023-03-15 Go Go 第三方 log 库之 logrus 使用 Logrus 是目前 GitHub 上 Star 数量最多的 Go 日志库。尽管目前 Logrus 处于维护模式,不再引入新功能,但这并不意味着它已经死了。Logrus 仍将继续维护,以确保安全性、错误修复和提高性能。作为 Go 社区中最受欢迎的日志库之一,Logrus 最大的贡献是推动了 Go 社区广泛使用结构化的日志记录。著名的 Docker 项目就在使用 Logrus 记录日志,这进一步证明了其在实际应用中的可靠性和实用性。 阅读全文…
2023-03-11 Go 深入探究 Go log 标准库 Go 语言标准库中的 log 包设计简洁明了,易于上手,可以轻松记录程序运行时的信息、调试错误以及跟踪代码执行过程中的问题等。使用 log 包无需繁琐的配置即可直接使用。本文旨在深入探究 log 包的使用和原理,帮助读者更好地了解和掌握它。 阅读全文…
2023-03-04 Web 如何规范 RESTful API 的业务错误处理 现如今,主流的 Web API 都采用 RESTful 设计风格,对于接口返回的 HTTP 状态码和响应内容都有统一的规范。针对接口错误响应,一般都会返回一个 Code(错误码)和 Message(错误消息内容),通常错误码 Code 用来定位一个唯一的错误,错误消息 Message 用来展示错误信息。 本文就来详细介绍下,如何将 RESTful API 的错误处理进行规范化。 阅读全文…
2023-02-25 Web 如何设计一个优秀的 Go Web 项目目录结构 Go 语言作为一门高效、简洁、并发安全的语言,越来越受到开发者们的青睐,特别是在 Web 开发及云原生领域。而对于一个大型的 Go Web 项目而言,一个优秀的目录结构设计是必不可少的。它可以帮助我们更好地组织代码、减少冗余、提高可维护性和可扩展性。在本文中,我们将讨论如何设计一个优秀的 Go Web 项目目录结构。 阅读全文…
2023-02-12 文档 使用 OpenAPI 构建 API 文档 作为一名开发者,往往需要编写程序的 API 文档,尤其是 Web 后端开发者,在跟前端对接 HTTP 接口的时候,一个好的 API 文档能够大大提高协作效率,降低沟通成本,本文就来聊聊如何使用 OpenAPI 构建 HTTP 接口文档。 阅读全文…
2023-01-15 开源 开源协议简介 开源协议是每一个想要做开源软件的开发者都需要了解的,即使你不想做开源软件,那么当你使用他人开源的软件时也需要了解一些开源协议相关的内容,这样能够尽量避免一些不必要的麻烦。 阅读全文…
2023-01-01 Go Go Module 语义化版本规范 Go Module 的设计采用了语义化版本规范,语义化版本规范非常流行且具有指导意义,本文就来聊聊语义化版本规范的设计和在 Go 中的应用。 阅读全文…
2022-11-16 Kubernetes Kubernetes 本地持久化存储方案 OpenEBS LocalPV 落地实践下——原理篇 本篇文章我将讲解 OpenEBS Device-LocalPV 实现原理,如果还不了解了 OpenEBS Device-LocalPV 如何使用,可以移步至本系列上篇文章 Kubernetes 本地持久化存储方案 OpenEBS LocalPV 落地实践上——使用篇 进行学习。 阅读全文…
2022-11-04 Kubernetes Kubernetes 本地持久化存储方案 OpenEBS LocalPV 落地实践上——使用篇 K8s 支持多达 20+ 种类型的持久化存储,如常见的 CephFS 、Glusterfs 等,不过这些大都是分布式存储,随着社区的发展,越来越多的用户期望将 K8s 集群中工作节点上挂载的数据盘利用起来,于是就有了 local 类型持久卷的支持。 我将通过上、下两篇文章介绍 K8s 本地持久化存储方案 OpenEBS LocalPV 落地实践完整过程。本篇为使用篇,着重介绍实践过程,下一篇文章为原理篇,将对 OpenEBS LocalPV 原理进行讲解。 阅读全文…