分类 Lib 中的文章

jsonpatch lib | 更易用的 Kubenetes Patch 库

jsonpatch 详见: https://github.com/chinaran/jsonpatch K8s Patch 在开发 controller/operator 时,经常会对 CR 资源进行更新操作, 可使用 update/apply 进行更新,但有可能会导致冲突 (Conflict)。 如果只是小范围更新,推荐使用 patch 操作。 kubectl patch 可参考官方示例: https://kubernetes.io/docs/reference/kubectl/cheatsheet/#patching-resources 所以基于 https://github.com/mattbaird/jsonpatch,封装了一个更易用的 jsonpatch 库,目前够用。 引用 1 go get……

阅读全文

Golang debuglog 库,调试程序时快捷查看变量值

概览 在调试 golang 程序时,加断点查看变量值固然是一种方法,但更多的时候只是简单的加个 log 看一下。 可以 fmt.Printf("%+v", xxx), 如果想查看 json 还要转换,很麻烦。 于是,我封装了一个简便的 debuglog 库,用于 debug 变量。 详见 https://github.com/chinaran/debuglog debuglog.Val(): 打印变量 debuglog.SpewVal(): 使用 spew 库打印变量(可以详细看到结构体每个字段的定义和值) debuglog.ToJson(): 转成 json 字符串打印 debuglog.ToJsonPretty(): 有缩进和换行的 json 字符串 调试好程序解决 bug……

阅读全文

Golang httputil 库,一行代码搞定 http 请求

概览 在 golang 程序中进行 http 请求时,一般的步骤是: 组合 url 和 param 参数 get 和 put 需要准备请求体数据 进行 http 请求(设置超时) 错误判断和状态码判断 http 返回内容解析 如果后端程序每个 http 请求都如上面这样处理,将产生很多相似的代码, 并且在复制代码的时候,容易出错(需要修改的地方忘记修改),浪费 debug 的时间。 于是,我封装了一个简便的 httputil 库,……

阅读全文

最近文章

分类

标签

其它