Gin中浮点数 NaN JSON序列化问题

作者:matrix 被围观: 53 次 发布时间:2024-12-24 分类:Golang | 无评论 »

无意把除数为0的计算放了进来,既然没有发现panic,页面却显示空白。看起来像是没有被全局recover捕获~ gin 控制台显示 Error #01: json: unsupported value: NaN 排查 断点调试下发现json处理的问题,error被push到gin的c.Error里面,gin被判定为私有类型错误,所以没有panic ~/go/pkg/mod/github.com/gin-gonic/gin@v1.10.0/context.go func (c *Context) Render(code int, r render.Render) { c.Status(code) if !bodyAllowedForSta......

Mysql中数字类型括号后面的含义

作者:matrix 被围观: 126 次 发布时间:2024-11-30 分类:mysql | 无评论 »

设计数据库字段时很少在意这个括号数字的含义,都是大概知道不影响数据存储所以没在意。今天正好看到也就好奇下。 mysql中,INT(5) 和 INT(11)这里的数字(5、11)实际上并不限制数值的存储范围或内存使用,而是显示宽度。 这个显示宽度在字段在带有 ZEROFILL(零填充)才有用 这里不仅限于int类型,也包含tinyint、smallint、mediumint、bigint... 比如 设定字段类型int(5) 存入1显示为 00001 存入82显示为 00082 存入123456......

centos 使用tinyproxy搭建 http代理服务

作者:matrix 被围观: 201 次 发布时间:2024-10-31 分类:Linux | 无评论 »

tinyproxy可以很轻量化的实现自己的http代理服务 环境: centos install $ yum -y install tinyproxy config /etc/tinyproxy/tinyproxy.conf 为配置文件 # 设置代理端口 Port 8484 # 允许连接的客户端IP Allow 127.0.0.1 Allow 101.1.1.1 run sudo service tinyproxy start sudo service tinyproxy restart sudo service tinyproxy stop error 如果出现启动失败: [root@VM-0-3-centos tinyproxy]# systemctl status tinyproxy.service ......

gorm写入零值问题

作者:matrix 被围观: 302 次 发布时间:2024-10-21 分类:Golang | 无评论 »

gorm中如果数据为结构体类型的零值时,不会触发零值更新。 比如当前有表结构体 type OrderTemplate struct { ID int `gorm:"primaryKey;autoIncrement;column:id" json:"id"` InputType int `gorm:"not null;default:1;column:input_type" json:"input_type"` } 注意: InputType类型为 int,设置了default为 1 当数据传入 0 ,是 int 类型的默认零值0,会认为你没有传入所以就用default值去填充。如果这里不......

本地化WordPress 的新浪微博图片外链

作者:matrix 被围观: 229 次 发布时间:2024-09-30 分类:Golang 零零星星 | 无评论 »

😀 免费的才是最贵的。新浪微博的图床早就挂了,目前的图片会限制请求头 referer。 今天空了才把这部分图片迁移到本地。记录下这个临时脚本。 脚本下载 WordPress 文章中的新浪图片到本地,然后数据库中的图片链接会执行替换。 配置好信息之后正式执行记得放开 #94行的TODO。 自行测试~ package main import ( "database/sql" "fmt" "io" "net/http" "os" "path/filepath" "regexp" _ "github.com/go-sql-dri......

Golang动态可变函数参数 参数默认值

作者:matrix 被围观: 926 次 发布时间:2024-08-17 分类:Golang | 无评论 »

Golang是不支持函数参数默认值的,但是也有很多办法可以解决 动态可变参数 func main() { addItem("11", "a1") addItem("2", "a2", "222") } func addItem(name, value string, opts ...string) { fmt.Println("add item-->", name, value) for _, opt := range opts { fmt.Println("opt:", opt) } } 其中opts ...string 表示可变参数,类型为string,如果需要不同类型传入 看下面 可变参数 + 动态类型 type Al......

go generate 为枚举类型生成字符串描述方法

作者:matrix 被围观: 924 次 发布时间:2024-08-10 分类:Golang | 无评论 »

go generate命令可以方便的为自动生成源代码,利用官方的stringer库来完成 安装stringer工具 如果本地已经安装,跳过 go get -u golang.org/x/tools/cmd/stringer Case main.GO package main import "fmt" type UserStatus int const ( Active UserStatus = 40 Inactive UserStatus = 1 Pending UserStatus = 9 Other = Inactive ) 上面定义的常量类型UserStatus,原始类型为 int 值,每次使用 fmt.Prin......

自动给 Google 搜索结果添加查看缓存功能

作者:matrix 被围观: 3,071 次 发布时间:2024-07-12 分类:零零星星 | 3 条评论 »

R.I.P. 2024年09月25日 google快照已死?️ https://www.solidot.org/story?sid=79336 google 搜索结果的查看缓存功能下线其实很久了,每次都得手动 `cache:https://www.hhtjim.com/` 就很麻烦。 有空搞了个油猴脚本能自动在Google搜索结果中添加 [Cache] 链接到该网页的缓存版本 ?? 这就方便多了 安装地址 https://greasyfork.org/zh-CN/scripts/500422-google-cache-viewer 脚本代码 // ==UserScript== // @name Google cache viewer ......