github action使用方法

参考项目 参考视频 CI 和 CD 的概念 CI很容易理解,就是持续集成。但是CD既可以指代码持续交付,也可理解为代码持续部署。CI和CD之间有很多相似的部

gitlab学习

gitlab 学习 GitLab是一个代码仓库,用来管理代码。Jenkins是一个自动化服务平台,可以运行各种自动化构建、测试或部署任务。所以这两者结合起

go generate代码生成

go generate 代码生成 这是一个尝试下的代码,实现golang解析注释,然后生成代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package main import ( "fmt" "os" ) //go:generate echo "hello world" func main____() { var ( pwd string

Golang 1.17泛型的使用

golang 泛型使用 参考视频 1 2 3 4 5 6 7 8 9 10 11 12 13 14 package main import "fmt" func printSlice[T any](s []T) { for _, v := range s { fmt.Println(v) } } func main() { printSlice[int]([]int{1, 2, 3}) } 1 go run -gcflags=-G=3 .\main.go

golang epoll 性能优化

golang epoll 问题引出: 如果需要处理百万TCP 连接,golang中要如何实现 需要了解的概念 水平触发和边缘触发 epoll 有两种模式,一种是水平触发,一种是边缘触

golang HTML白名单

golang HTML 白名单 golang HTML 白名单工具 java html 白名单工具 1 2 3 4 5 6 7 8 9 10 11 12 13 package html import "github.com/microcosm-cc/bluemonday" func PreventXSS(html string) string { var policy = bluemonday.NewPolicy() policy.AllowStandardURLs() policy.AllowAttrs("href").OnElements("a") policy.AllowElements("p") policy.AllowElements("div") policy.AllowAttrs("src").OnElements("img") return policy.Sanitize(html) } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Golang 反射参考

golang 反射获取 tag参考 golang反射 获取tag 2 golang参考3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

Golang 生成验证码

golang 生成验证码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 package captcha import ( "github.com/gin-contrib/sessions" "github.com/gin-gonic/gin" log "github.com/sirupsen/logrus" "image/color" "image/png" "github.com/afocus/captcha" ) //生成

Golang 实现定时器

golang 实现定时器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package util import ( "log" "time" ) //golang 定时器,启动的时候执行一次,以后每天晚上12点执行 func StartTimer(f func()) { go func() {

Golang 刷题入门 _o(1)时间删除链表节点

给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点。 假设链表一定存在,并且该节点一定不是尾节点。 样例 1 2 3 4 输入:链表 1->4->6->8 删掉节
T