Gin Web 框架中 Validate 使用总结
6月 7, 2020
在处理 HTTP 请求的时候,需要经常对请求的参数做 validate 验证,在 Django 框架里有 Serializer 里的 validate 方法来做校验,现在在 Go 语言的 Gin 框架下,也有类似的实现。Gin 使用了 go-playground/validator 来做校验,下面主要介绍下使用方法。 binding # 即绑定,validato ...
在处理 HTTP 请求的时候,需要经常对请求的参数做 validate 验证,在 Django 框架里有 Serializer 里的 validate 方法来做校验,现在在 Go 语言的 Gin 框架下,也有类似的实现。Gin 使用了 go-playground/validator 来做校验,下面主要介绍下使用方法。 binding # 即绑定,validato ...
Go 代码中如果有的 Goroutine 永远都不会退出,随着 Goroutine 的数量增长,内存泄露的风险也会变高。因此必须需要一种方法能够控制 Goroutine 的野蛮生长,在需要退出的场景下必须要主动退出。下面介绍几种方法来主动退出 Goroutine。 Context ...
最近 typroa 用的比较多,然后又想着继续维护在 github pages 的博客,觉得把 typora 编辑完的东西再复制到博客项目里很麻烦,于是开始了一番折腾。 目标是啥 # 在 typora 写的笔记放在了 iCloud,然后可以一键同步到我的线上博客 使用 hugo # hugo 是 ...
工作中需要用 Go 读写一些 Excel 表等类型的文件,发现 Go 提供了很多关于 I/O 操作的包,比如 io、ioutil、bufio 等,于是在这里总结一下,主要目标是理清几个包之间在使用时如何选择。 io # io 库提供了底层的接口定义 ...
为什么需要分布式锁 # 锁机制用于管理对共享资源的并发访问控制,当同一服务的多台机器间需要控制并发的时候,需要保证服务间在同一时间只能被一个线程访问。由于 Redis 的特点是单进程,并且具有高性能的特点,所以一般用 ...
婚礼上为了给媳妇制造一个印象深刻的惊喜,我提前三个月去学了钢琴,现在回想起来也算是一件有意思的事情。6 月底报名后,经过和钢琴老师的讨论,对于我这种零基础短期想突击的,同时后期还想继续学下去的,最后老师 ...
Github Actions 发布有一段时间了,自己用的也挺嗨,过来总结一下。我主要在两个地方用到了,一个是博客,另一个是打包、发布前端项目。整体功能上 Actions 和 GitLab CI/CD 差不多,同样实现了项目的自动化测试、打包、部署,不过 Actions 利用了 GitHub 开源 ...
布隆过滤器(Bloom Filter,BF),能够确定一个东西一定不存在或可能存在,常用于在海量并发情况下防止缓存击穿,相比较传统的 List、Set、Map 数据结构,布隆过滤器能够在大数据量的情况下,相 ...
Redis 介绍 # 历史 # Redis 是一个使用 ANSI C 编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库,由来自意大利西西里岛的 Salvatore Sanfilippo(Antirez)发起并编写。从2015年6月开始,Re ...
业务背景 # 最近已经转到 Go 下面进行日常工作的开发,我的一个后台项目有一些内部轻量的数据查询需要,考虑需求的复杂度不高,就平常自己和同事几个人使用,没必要专门开发一个前端项目来进行数据查询,于是我想到了老 ...