- 博客(9)
- 收藏
- 关注
原创 sealer编译报错-too many levels of symbolic links
如果COPY以后重复执行chmod +x 就会导致循环链接。helm二进制本身就是有可执行权限。
2025-04-21 01:25:19
50
原创 Debian下安装Qt6
注意:清华镜像安装时会出现下载包被forbidden的问题,所以实际安装的时候换成中科大镜像。发现cmake在如上的目录,那么修改CMakeLists.txt文件。用着两个cmake名称去qt安装目录(/opt/Qt)搜索。原因也是如错误提示的一样,找不到cmake,编译的时候报如下错误。
2025-01-11 19:29:30
426
原创 mac上启动进程失败
打算在mac上启动业务进程调试,但是有时候启动进程后马上就显示killed。找到我们自己的进程对应的文件,看到reportNotes下的内容。关掉一些内存占用比较高的服务,然后重新执行就OK了。进程什么都没干,只是打算显示下help都不行。mac如果进程崩溃,一般在这个目录。进入这个目录发现崩溃的服务还挺多的。失败,大概率是内存不足。
2024-12-10 17:54:49
265
原创 Go系列:Gorm报错WHERE conditions required
执行后,报如下错误代码本意是创建一个user对象,然后通过gorm.Save保存到数据库。按gorm文档的说法,Save的语义是有则更新,无则插入。根据报错,发现执行的sql语言是Update,而且缺少wherr语句。
2024-12-09 18:10:53
384
原创 mininet: 踩坑记录
【代码】mininet: 错误Error creating interface pair (s1-eth1,s2-eth9): RTNETLINK answers: File exists。
2024-11-28 21:48:08
857
原创 Go系列:如何在不修改结构体定义的情况下支持新增字段
在go中对api请求,一般是先定义一个结构体,然后执行http请求,再使用json.Unmarshal将返回的body反序列化到结构体实例中。比如我们实现一个cmd,执行API查询资源然后显示在终端。但是在一些场景下,API返回的结构体会因为特性变动而变化,比如新增特性导致返回的结构体中的字段变多,如果不随之修改结构体定义,那么我们使用该结构体时就会导致丢失新增数据。每次取修改结构体有时候也不是特别方便,例如在命令工具中只是简单的显示此字段值,没有必要每次都去修改命令,而且倒是服务间的耦合。
2024-11-26 19:47:39
561
原创 Go系列:cobra命令使用经验分享
一般来说,我们如果想实现类似python argparse的中可选变量如上的python列子中,限制admin_state_up参数只能在四种值中选择,如果输入其他值,则会报错,但是在cobra中,并没有提供内置的choices功能,可以通过自定义类型来实现这个功能使用方法如果输入非预期的值,会报如下错误使用自定义类型也可以非常方便的实现参数输入校验,而不用在也业务逻辑搅合在用一起。
2024-11-25 21:22:13
1387
原创 Go系列:这个单测为什么过不了原创
最近工作中需要写mysql相关单测,但是有个case一直报错,请看如下示意代码Id intgorm:"id"import (“strconv”“testing”var (单测总体也比较简单,主要看方法,在这个方法里由于我们的ListUsers就是一个简单的Selct,所以ExpectQuery一定匹配上预期在2个循环周期内,ListUsers都返回第一步定位的rows,断言成功但是实际上,第一次断言成功,第二次失败。
2024-11-21 14:02:59
295
原创 Go系列之为什么这个变量不为nil
今天在写代码时,发现一个结构体使用json.Marshal后值为“null”,最后定位到这个函数经过测试发现。
2024-11-06 23:01:51
166
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人