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 删掉节

Golang 刷题入门 _配对交换

面试题 05.07. 配对交换 Difficulty: **配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类

Golang 刷题入门 _重排链表

剑指 Offer II 026. 重排链表 Difficulty: **给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不能只

Golang 刷题入门_输出字符串

给定一个字符串 aa,请你按照下面的要求输出字符串 bb。 给定字符串 aa 的第一个字符的 ASCII 值加第二个字符的 ASCII 值,得到 bb 的第一个字符; 给定字符串 aa 的第

Golang 刷题入门_数组的右下半部分

输入一个二维数组 M[12][12]M[12][12],根据输入的要求,求出二维数组的右下半部分元素的平均值或元素的和。 右下半部分是指次对角线
T