Cobra支持动态自定义flag

用 Go 实现了一个 binary,这个 binary 会发送 API 请求到服务端,服务端完成对 K8S 环境的部署工作。 由于后端进行了大量封装,并且参数非常多,所以有了一个想法,具体的要求如下: 支持自定义 flag 列表 help 信息支持展示自定义的 flag 列表 列表信息来自于一个专门的 API 基于这些需求,查询了很多文档后,没有找到成功的例子,经过一下午的尝试,最后实现了预期的需求,分享一下。回头准备写一篇 post 给 Cobra。 在 Cobra 的 GitHu...

阅读全文

在GO项目中使用Uber-zap日志框架

现在需要把一个日志框架加入到新的项目中,对比了一下 Go 语言里的几个日志框架,最后发现 zap 是个不错的选择。 https://github.com/uber-go/zap 官网也把 zap 和其他框架做了一些对比,看起来挺不错。 不过在集成到 Cobra 里的过程中遇到了一点点小坑,记录一下。 日志初始化代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849...

阅读全文

Python判断一个函数是否被一个装饰器修饰

今天正在做新项目的框架。比如下面的 gen_task 方法是一个很耗时的方法,这样的方法在系统里有很多,于是就写了一个装饰器 nuke_long_task 用于处理长请求事务,用它去处理一些常规通用的业务,比如记录和更新状态等。 被装饰的业务函数123456@nuke_long_task()def gen_task(data): print(" start -- " + threading.current_thread().name) time.sleep...

阅读全文

linux下根据IP反查MAC

今天遇到一个问题:给一个 VM 上配置了两个 IP,同时配置到了同一个网卡上,结果一个 IP 通,一个 IP 不通。 排查方法排查半天,最后发现可以在另外一个 VM 上利用 arp 命令,查出所配置的两个 IP,发现 IP 对应的 MAC 不一样,说明其中一个 IP 的 MAC 地址是不对的。 这种情况一般是由 IP 地址配置引起的,更换一下 IP 就好了。同时根据 MAC 的前几位可以查询一下设备生产厂家,这样大致能猜出来占用 IP 的是什么类型的设备。 1234[root@sandbo...

阅读全文

McAfee会误认为GoLang多线程程序是病毒

这几天在学习 GoLang,今天遇到一个有趣的现象:写了下面这段关于多线程 goroutine 的代码,一执行就会被 McAfee 认为是病毒。 程序被 kill 掉,甚至连 VS Code 都被关掉,并且桌面上的 VS Code 图标都被删掉了,有意思。 触发误报的代码12345678910111213141516171819package mainimport ( "fmt" "time")func main() { go c() fm...

阅读全文

预览FontAwesome

现在在用的 Hexo 主题里,有一个标题旁边的图片写错了,导致显示是个方块,挺丑。想从现在的字体里选一个,却不知道怎么弄出来全部的。 使用 IcoMoon 预览图标发现有个网站:https://icomoon.io/app/#/select 选择「导入图标」,然后选择 SVG 文件 选择一个图标,点击下方「生成字体」 在下一页就能看到这个图标的 16 进制编码了

阅读全文

新一轮学习开始了

新的产品 release,经过两个多月的努力已经正式发布了,突然感觉又要闲下来了。 过去的一段时间还是挺充实的,干了不少的活。下一步计划还没有完全确定下来,不过现在可以准备学习一下 GoLang 了。

阅读全文

活在当下

思考过去,过去全是悔恨;思考未来,未来全是焦虑。只有当下的时刻,才是生命的展开。 过去的快乐被回忆,害怕将来不再拥有,徒增焦虑;过去的不快乐被回忆,悔恨又增加几分。担心未来的快乐会变成泡影,快乐变焦虑;惦记未来的不快乐是徒劳无功,更加焦虑。 人生不会有永恒的快乐,只有快乐和不快乐,活在当下,活在现在的这一刻,忘掉所有的不快乐,平淡才是真的快乐。

阅读全文


Powered by Hexo and Hexo-theme-hiker

Copyright © 2012 - 2026 tiaobug.com All Rights Reserved.

鲁ICP备2024124237号-1