Go Core - List + Ring
|Word Count:0|Reading Time:1mins
Author: zhongmingmao
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles

2022-05-15
Go Core - Array + Slice

2022-05-15
Go Core - Entity

2023-05-10
Go Engineering - CLI
应用框架 命令行参数解析 - Pflag 配置文件解析 - Viper 应用的命令行框架 - Cobra 命令需要具备 help 功能 命令需要能够解析命令行参数和配置文件 命令需要能够初始化业务代码,并最终启动业务进程 Pflag 命令行参数解析工具 - Kubernetes / Istio / Helm / Docker / Etcd / … Flag 一个命令行参数会被解析成一个 Flag 类型的变量 1234567891011121314// A Flag represents the state of a flag.type Flag struct { Name string // name as it appears on command line Shorthand string // one-letter abbreviated flag Usage string ...

2023-05-09
Go Engineering - Log
功能设计基础功能 支持基本的日志信息 - 时间戳、文件名、行号、日志级别、日志信息 支持不同的日志级别 - Debug / Info / Warn / Error / Panic / Fatal logrus 支持 Trace 日志级别,Trace 不是必须的 Trace 和 Panic 是可选的级别 支持自定义配置 - 不同的环境采用不同的配置 开发环境的日志级别为 Debug,而生产环境的日志级别为 Info 通过配置,可以在不重新编译代码的情况下,改变记录日志的行为 支持输出到标准输出和文件 至少实现 6 个日志级别 日志调用时的属性 输出级别 glog.Info(“This is info message”) 开关级别 启动程序时,期望哪些输出级别的日志会被打印 glog -v=L - 只有输出级别 ≥L 的日志才会被打印 高级功能 支持多种日志格式 - TEXT / JSON / … 开发环境采用 TEXT 格式,生产环境采用 JSON 格式 按日志级别分类输出 - Error 级别...

2023-05-08
Go Engineering - Error Code
预期功能 有业务 Code 码标识 - HTTP Code 码有限 安全 - 对内对外展示不同的错误信息 设计方式 无论请求成功与否,都返回 200,在 HTTP Body 中包含错误信息 HTTP Code 通常代表 HTTP Transport 层的状态信息 缺点:性能不佳(需解析 Body) + 对客户端不友好 返回 4xx or 5xx,并在 Body 中返回简单的错误信息 返回 4xx or 5xx,并在 Body 中返回详细的错误信息 - 推荐 设计思路 区别于 http status code,业务码需要有一定的规则,可以通过业务码判断出是哪类错误 请求出错时,可以通过 http status code,直接感知到请求出错 需要在请求出错时,返回详细的信息:Code + Message + Reference(Optional) 返回的错误信息,需要是可以直接展示给用户的安全信息,不能包含敏感信息 但同时也要有内部更详细的错误信息,方便 Debug 返回的数据格式应该是固定的,规范的 错误信息要保持简洁,并提供有用的信息 Biz Code 纯数字表示,不同部位代表不同的服...

2023-05-07
Go Engineering - Doc
Swagger Swagger 是一套围绕 OpenAPI 规范构建的开源工具 Component Desc Swagger Editor 基于浏览器的编辑器,可以编写 OpenAPI 规范,并实时预览 Swagger UI 将 OpenAPI 规范呈现为交互式 API 文档 Swagger Codegen 根据 OpenAPI 规范,生成服务器存根和客户端代码库,涵盖 40 多种语言 OpenAPI OpenAPI 是一个 API 规范,其前身为 Swagger 规范 通过定义一种用来描述 API 格式或者 API 定义的 DSL,来规范 RESTful API 的开发过程 OpenAPI 3.0 ≈ Swagger 2.0 API 基本信息 对 API 的描述,介绍 API 可以实现的功能 每个 API 上可用的 Path 和 Method 每个 API 的输入和返回参数 验证方法 联系信息、许可证、使用条款和其它信息 OpenAPI 是一个 API 规范,而 Swagger 是实现该 API 规范的工具 go-swagger特性 功能强大、高性能、可以根据代...
Announcement
Things are always unexpected!






