All Posts

GORM避坑指南之含关联关系的更新

在GORM的文档当中有说明,使用Update, Updates时只会更新改变的字段,但是出现关联关系的时候情况似乎有了一些微妙的变化 If you only want to update changed Fields, you could use Update, Updates

Github Actions介绍&自动构建Github Pages博客

本文将主要讲述如何创建一个自定义的Github Actions, 并且使用Github Actions 完成 CI/CD的操作

在blog中内嵌在线PPT

有时我们会做一些分享,分享之后可以把 PPT 脱敏之后放在博客上面,可以使用office online 直接内嵌 PPT。巨硬大法好

记一次net http内存泄漏

使用 gin 作为文件下载服务器,内存占用突然从几十 M 到了 10G 以上,导致服务被 kill 重启 复现 server.go func main() { r := gin.Default() r.GET("/download", func(context *gin.Context) { f, err := os.Open("./win7.iso") log.Println(err) defer f.Close() info, _ := f.Stat() b := make([]byte, info.Size()) f.Read(b) context.Data(200, "application/octet-stream", b) })

pprof go性能分析工具

PPT 分享(可能需要 FQ 方能访问,需要可以访问, onedrive.live.com)

使用TravisCI自动部署Blog

之前博客的更新一直都是在本地运行hugo然后手动push到github仓库,虽然写了一个小脚本,但是本地还是多了一个public文件夹,最近

使用Goland调试Go程序

在上一篇Blog当中发现了一个十分边缘的GORM的bug,由于不熟悉工具,bug的调试过程还是比较麻烦,这一篇讲一讲如何使用Goland强大的debug功能调试Go程序

一个十分边缘的gorm的bug

[toc] 复现代码 这个代码的触发条件比较严苛,首先必须要保证gorm执行的一行必须为updates语句,并且在updates(struct),并且传入的这个struct必须要包含一个直接或者间接关联的一个多态表,这些条件缺一不可