0%

小伙看到同事写的Gorm黑魔法,逐渐不淡定了。

开发过程中,看到同事的代码写了这么一段:

db = db.Session(&gorm.Session{Context: db.Statement.Context}).FirstOrCreate(&entity)
if db.Error !=nil{
    return components.ErrorDbInsert.WrapPrintf(db.Error, "Insert error, entity:%s", utils.ToJson(entity))
}
if db.RowsAffected == 0 {
    return components.ErrorAlreadyExist
}

在uber 的go语言编码规范中有这么一条,2.48s 和0.21s 的差距还是很惊人了,我很好奇,why?

20211101012619128

切片在append的时候可能会自动扩容,看一下相关源码。

使用monkey对函数进行打桩单测的时候,发现打桩函数没有生效。

习惯直接使用IDE的可视化的rundebug功能进行跑单测,没有关注到具体执行的命令。

使用markdown做笔记的时候,使用图片时,需要将图片放在指定文件夹,然后引用。这么做每次添加图片都比较困难,并且不便于多端使用。

使用PicGo作为图床,将图片托管到Gitee,在使用Typora做笔记的时候可以直接无缝上传图片。