分类下相关文章
2021-10-12 · 阅读 5890 · 字数 278
定了一个类型,实际上是 sql.NullTime。我想计算当前时间与其值的时间差。 type NullTime struct { sql.NullTime } sql.NullTime https://pkg.go.dev/database/sql#NullTime type NullTime struct { Time time.Time Valid bool // Valid is true if Time is not NULL } NullTime 实际上是个 struct,时间值存储在 Time 字段中。 time.Time 如何计算时间差 https://stackov ...
2021-08-25 · 阅读 4948 · 字数 454
使用 Makefile 的好处 可以管理多个任务的命令。例如,build & run,test。 否则单单一个 go test -v ./... 就很难记住。 何况还会有很多需要记录的命令: go test build & run scp 到服务器,并重启服务 每个功能一个 shell 脚本,会显得很杂乱。放到一个统一的文件中,就非常方便了。 如果没有 Makefile 文件会怎样 > make make: *** No targets specified and no makefile found. Stop. 参考项目 golang gin 项目的 Make ...
2021-08-22 · 阅读 15713 · 字数 408
查了一下 golang gorm 2 确实支持 lock for update。文档: https://gorm.io/zh_CN/docs/advanced_query.html#Locking-FOR-UPDATE db.Clauses(clause.Locking{Strength: "UPDATE"}).Find(&users) 但由于 for update 必须在事务中使用,所以,还需要看看 gorm 事务的写法。 lock for update 与 share 的区别 参考 使用 Laravel sharedLock 与 lockForUpdate 进 ...
2023-06-21 · 阅读 10494 · 字数 356
报错内容 在用 Golang Gorm 更新 MySQL 一条数据时,报错: Error 1292: Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1 UPDATE `repair` SET `created_at`='0000-00-00 00:00:00',`updated_at`='2021-06-03 17:03:31.359' WHERE `id` = 2 报错代码 我是将 Antd Pro Web 管理后台的数据通过 API 接口发送给后台 Golang 接口,进行更新。 由于前端不需要 ...
2021-05-28 · 阅读 5760 · 字数 290
安装七牛 golang sdk go get -u github.com/qiniu/go-sdk/v7 go get github.com/qiniu/go-sdk/v7/storage@v7.9.5 参考七牛官方文档: https://developer.qiniu.com/kodo/sdk/go zone 的可选值 参考这里 https://github.com/qiniu/go-sdk/blob/master/storage/zone.go 上传七牛 前端看到的上传格式: Content-Disposition: form-data; name="file"; f ...
2021-05-28 · 阅读 28665 · 字数 88
实现 golang 向七牛云 CDN 上传图片文件的功能,需要为图片生成一个唯一的文件名, 所以找了一下 Golang 生成 UUID 的实现。 安装依赖 go get github.com/google/uuid 使用方法 import "github.com/google/uuid" uuid := uuid.New() key := uuid.String() 生成的 UUID 数据格式 4738c1d9-04ce-46a5-a49f-7cc2b9f061e2 官方文档 https://pkg.go.dev/github.com/google/uuid ...
2021-05-09 · 阅读 7856 · 字数 85
由于 Golang Weekday 返回的是日期的英文周几,需要加个 Map 转换为中文。 package main import ( "fmt" "time" ) var WeekDayMap = map[string]string{ "Monday": "周一", "Tuesday": "周二", "Wednesday": "周三", "Thursday": "周四" ...
2021-04-16 · 阅读 7455 · 字数 216
在写公司内部的一个办公系统时,想趁机把 Gorm 版本升级一下。 大部分靠 go build 的编译错误提示,修改完成。 依赖修改 由 github.com/jinzhu/gorm 变更为 gorm.io/gorm cannot use "mysql" (type string) as type gorm.Dialector in argument to gorm.Open - DB, err = gorm.Open("mysql", dataSourceName) + DB, err = gorm.Open(mysql.Ope ...
2021-04-09 · 阅读 29230 · 字数 164
问题现象 在开发机上升级到了最新 golang 1.16.3 版本,在为一个基于 golang 1.13 的历史项目添加 excel 依赖包后 go get github.com/360EntSecGroup-Skylar/excelize/v2 编译报错: go build ../../../golang/pkg/mod/golang.org/x/crypto@v0.0.0-20201012173705-84dcc777aaee/blake2b/blake2bAVX2_amd64.go:9:8: missing go.sum entry for module providing pack ...
2021-04-08 · 阅读 6700 · 字数 110
一台新装系统,先安装了 VIM,并且安装了 vim-go 插件。 之后才安装的 Golang,版本 1.16.3。 但是在使用 VIM 编辑 Golang 代码文件时,一保存就显示 vim-go: initializing gopls 卡在这里不响应了。 在 Github 上找到一个解决方法: VIM 中执行 :GoInstallBinaries 耐心等待一系列工具安装完毕,再次用 VIM 编辑就不会报这个错了。 参考 https://github.com/fatih/vim-go/issues/2603 ...
2020-09-30 · 阅读 5387 · 字数 211
是否存在伪造用户 token 的可能 不容易实现。 虽然 jwt 是明文的,前面两部分通过 base64 解码即可看到明文。假设,里面存储了用户 id 或者 用户的 open id,但是即便被终端用户解密出结构。但是第三部分里的校验位 signature 由于是在服务器端加密生成的,密钥也在服务端,所以不容易实现伪造。 jwt 的结构 这个不急于验证,等我实现了功能之后,用自己生成的 token 来分析一下结构。 例如,接口返回一个 token: {data: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2M…I6MX0.yIZ ...
2020-09-30 · 阅读 5598 · 字数 369
有一个简单的使用场景,即用户在一个设备上,会反复添加条目,例如一个 TODO 项。除了自增 ID 之外,我还想加上另外一个唯一标识。由于同一时间,用户只能添加一条记录,所以不会出现并发冲突的问题。 能想到的最简单方案就是使用时间戳。于是调研了一下可行性。 golang int 的值范围 int32: -2147483648 到 2147483647。大概 21 亿 int64: -9223372036854775808 到 9223372036854775807 以秒为单位的时间戳的数值大小 但是用时间戳,会遇到 2038 问题,即 2038 后,时间戳会超出 int32 的存储范围。虽然 ...
2020-09-29 · 阅读 3387 · 字数 30
文档还没 最新版本可以使用 AddRow https://github.com/GoAdminGroup/go-admin/blob/master/plugins/admin/modules/table/generators.go#L1439 参考下这里 https://demo.go-admin.cn/admin/info/generate/new 是对应这个页面的代码 ...
2020-07-18 · 阅读 7157 · 字数 161
在提交微信小程序审核时,必须要做用户提交 UGC 内容的敏感词检测,否则会导致审核失败。 获取 access token https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 7200 秒内过期。 如何全局共享 tok ...
2023-05-22 · 阅读 15128 · 字数 412
背景 我正在用 golang gin 写的一个统计人数小程序后台服务涉及两个大数据表 用户表 活动参与的用户表 在查询一个活动参与的所有用户信息时,需要同时用到这两个表。考虑到运营一段时间之后,这两个表的数据量不可控,所有不打算使用联表查询。而采用 先查询活动对应的用户 id 集合 然后 where in ids 来查询对应的用户信息 如果用 golang 手写这个逻辑,还挺啰嗦的。在翻看 gorm 文档时,发现 gorm 支持预加载功能,这个功能类似 laravel eloquent 里的 Eager Loading 功能 (相对于 lazy loading)。 预加载的使用方法 t ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 joke |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust 提示词 |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |