Golang Context 生产应用案例(01): 链路追踪

2023-03-16
阅读 3 分钟
994
Golang Context 生产应用案例(01): 链路追踪如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。状态: 未更新原文链接: [链接]看完本文了解 链路追踪 和 OpenTelemetry 相关知识了解 Context 值传递是如何在 链路追踪 的发展历程上登台亮相的。之前在 Golang 上下文 Context 源码解析(1): 值传递 ...

Golang Block 到底是什么? `i:=i` 合法? 为什么能解决闭包变量冲突?

2023-03-14
阅读 3 分钟
1.1k
以下这段代码出自 golang 官方 的 Effective GO 并发编程章节。 为了解决 goroute 中变量 req 冲突, 使用了语句 req := req

「Go」 通过一个案例解释清楚 interface 的用法和注意事项

2023-03-01
阅读 3 分钟
980
Golang 接口(interface) 简介和入门使用如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。状态: 未更新原文链接: [链接]上下文 interface 应该是 Go语言 中一个极其重要的 基石 概念了。这里有一篇 Go 语言设计与实现 - 接口 interface , 是目前我学习的资料中 完成度 和 友善度 都很高的一篇文...

Golang 的 cobra 是如何实现使用链表实现命令树的

2023-02-17
阅读 2 分钟
846
Golang 的 cobra 是如何实现使用链表实现命令树的在 cobra 中, 每个 命令 都是独立的。 通过 parent.AddCommand(children) 的形式进行串连。 {代码...} 没了, 应用上就这么多。cobra 命令树如果你用过 gin 的路由树的话, 可能会对 cobra 的命令树实现更为深刻。删除多余的结构, cobra 节点 就是下面这样的。 {代码.....

DevopsCamp(第二期) 《05 Cobra 的子命令》与《cobra命令树和gin路由树的实现差异》

2023-02-15
阅读 2 分钟
586
DevopsCamp(第二期) 《05 Cobra 的子命令》与《cobra命令树和gin路由树的实现差异》原文链接: [链接]cobra 的子命令在 cobra 中, 每个 命令 都是独立的。 通过 parent.AddCommand(children) 的形式进行串连。 {代码...} 没了, 应用上就这么多。cobra 命令树如果你用过 gin 的路由树的话, 可能会对 cobra 的命令树实现...

DevOpsCamp(第二期) - cobra - 05 Go项目的目录结构的几个注意事项(internal限制, 包命名规范)

2023-02-15
阅读 2 分钟
652
DevOpsCamp(第二期) - cobra - 05 Go项目的目录结构的几个注意事项(internal限制, 包命名规范)原文链接: [链接]Go 项目的目录结构Go 项目的目录结构, 通常都会参考该项目 Go语言规范/项目结构 - Github 。 这是一个社区规范, 遵守这个规范, 大家都会很轻松。 但并不是严格的 Go 语言标准, 实际操作中各个公司可能...

DevopsCamp(第一期) 《cobra - 03 使用 survey 实现交互式命令》

2023-02-15
阅读 4 分钟
562
DevopsCamp(第一期) 《cobra - 03 使用 survey 实现交互式命令》原文链接: [链接]本文为 DevOpsCamp 实战训练作业 cobra - 03 配置文件的读取与写入(简单) 的解题答案DevoOpsCamp 作业地址: [链接]作业: cobra - 03 交互式命令要求:使用 [链接] 实现命令工具使用 [链接] 实现交互式命令实现 Demo 效果除了官方效果之...

DevOpsCamp(第一期) - 《cobra - 02 读取和保存配置文件(JSON/YAML)》

2023-02-15
阅读 1 分钟
975
DevOpsCamp(第一期) 《cobra - 02 读取和保存配置文件(JSON/YAML)》作业要求使用 [链接] 实现命令工具命令具有以下参数--config , -c 配置文件配置文件如下 {代码...} 将配置文件保存为 JSON 格式 {代码...} 输出结果 {代码...} 作业解析json 和 yaml 是 最常用的 配置文件类型, 除此之外还有 ini, toml, xml 等。解...

Golang 库: 为什么 Golang slog 库不支持 `slog.Fatal` API

2023-02-11
阅读 3 分钟
409
Golang 库: 为什么 Golang slog 库不支持 slog.Fatal API原文链接: [链接]使用 slog 默认不支持 Fatal如果直接把 slog 当成 log 使用, 会有一点点头疼 {代码...} slog 默认日志级别 是 info, 无法输出 DEBUG 日志。需要自定义 handler 实现日志级别判断。 参考 Golang 库: 怎么使用 golang slog 设置日志 Debug 等级sl...

DevopsCamp(第一期): 《cobra - 01 实现编译与参数绑定(简单)》

2023-01-29
阅读 3 分钟
875
DevopsCamp 第一期作业: 《cobra - 01 实现编译与参数绑定(简单)》 解题答案原文链接: [链接]本文为 DevOpsCamp 实战训练的作业解题答案 作业: cobra - 01 实现编译与参数绑定。DevOpsCamp作业地址: [链接]作业要求:使用 [链接] 实现命令工具命令具有以下参数--name 姓名--age 年龄如果年龄为空, 默认为 20 岁。完成...
封面图

K8S 使用 TTL 控制器自动清理完成的 Job Pod

2022-11-17
阅读 1 分钟
930
最近为集群 CI 默认添加了 .spec.ttlSecondsAfterFinished 参数, 以便在 cronjob 和 job 运行完成后自动清理过期 pod 。