![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go lang
若尘拂风
小扇引微凉,悠悠夏日长。
展开
-
MySQL 主从库配置参数详解
MySQL 主从库配置参数详解原创 2022-02-15 16:56:57 · 915 阅读 · 0 评论 -
apisix网关+golang服务 jwt验证
apisixjwt原创 2022-02-13 11:35:48 · 1804 阅读 · 0 评论 -
基于Redis位图实现用户点赞功能(golang)
场景需求 适用场景点赞,收藏等设计思路对于用户签到数据,如果每条数据都用K/V的方式存储,当用户量大的时候内存开销是非常大的。而位图(BitMap)是由一组bit位组成的,每个bit位对应0和1两个状态,虽然内部还是采用String类型存储,但Redis提供了一些指令用于直接操作位图,可以把它看作是一个bit数组,数组的下标就是偏移量。它的优点是内存开销小、效率高且操作简单,很适合用于签到这类场景。Redis提供了以下几个指令用于操作位图:SETBITGETBITBITCOUNT实.原创 2021-05-21 17:30:59 · 1342 阅读 · 0 评论 -
基于Redis位图实现用户签到功能(golang)
场景需求适用场景如签到送积分、签到领取奖励等,大致需求如下:签到1天送1积分,连续签到2天送2积分,3天送3积分,3天以上均送3积分等。 如果连续签到中断,则重置计数,每月初重置计数。 当月签到满3天领取奖励1,满5天领取奖励2,满7天领取奖励3……等等。 显示用户某个月的签到次数和首次签到时间。 在日历控件上展示用户每月签到情况,可以切换年月显示……等等。设计思路对于用户签到数据,如果每条数据都用K/V的方式存储,当用户量大的时候内存开销是非常大的。而位图(BitMap)是由一组bi原创 2021-05-18 10:03:12 · 1133 阅读 · 0 评论 -
golang 正确的使用指针
声明结构体方法的时候,有两种方式:一种普通、一种指针方式。一、普通方式type Person struct { age int name string}func (p Person) SetName(name string) { p.name = name}func (p Person) GetName() { fmt.Println(p.name)}二、指针方式type Person struct { age int name string}f.原创 2021-05-11 18:54:00 · 394 阅读 · 0 评论 -
golang 在项目中灵活的配置文件写法用作参考
package mainimport "fmt"func main(){ var conf config = BuildConfig(WitchConfiga(2),WitchConfigb("1111")) fmt.Print(conf)}//项目中配置文件的写法type config struct{ a int b string}func BuildConfig(ops ...Option) config { var c config = config{ .原创 2021-03-08 13:39:08 · 413 阅读 · 0 评论 -
golang 归并排序(Merge Sort)算法思想及其实现
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。1 算法描述把长度为n的输入序列分成两个长度为n/2的子序列; 对这两个子序列分别采用归并排序; 将两个排序好的子序列合并成一个最终的排序序列。2 动图演示3:golang代码func merger(a []int, b .原创 2021-01-02 00:00:25 · 568 阅读 · 0 评论 -
力扣49题:字母异位词分组
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。解题简单思路,把每个单词转换成单个数组字母,然后排序,合并成字符串。排序后的字符串比较合并1、直接把单词切割成数组,字符串排序,在组合成字...原创 2020-12-14 21:55:19 · 199 阅读 · 0 评论 -
jwt-go源码解析
下载地址:https://github.com/dgrijalva/jwt-go一、基本数据结构解析type StandardClaims struct { Audience string `json:"aud,omitempty"` //该JWT所面向的用户 ExpiresAt int64 `json:"exp,omitempty"` //token什么时候过期 Id string `json:"jti,omitempty"` //ID为web token提供唯一标识原创 2020-12-13 00:10:49 · 1021 阅读 · 0 评论 -
微服务grpc证书-TLS 证书认证(二)
grpc微服务,为了增加其安全性,使用tls证书一:使用openssl生成证书 1、安装openssl 2、生成证书openssl genrsa -out server.key 2048 //生成私钥openssl req -new -x509 -sha256 -key server.key -out server.pem -days 36500 //生成私钥You are about to be asked to enter information that wil...原创 2020-12-08 09:38:58 · 1534 阅读 · 2 评论 -
微服务grpc安装及其及其第一个程序调通(一)
一:安装grpc在go使用了module 只需要在 go.mod文件中添加一下文件,进入次目录执行 go build 自动安装了(需要更改go的代理,我使用的是七牛云的代理,能直接下载)require ( google.golang.org/grpc v1.34.0 google.golang.org/protobuf v1.25.0)二:准备编译protoful需要的工具1、安装protoc 根据开发环境和需求下载:https://github.com/protocolbuff..原创 2020-12-07 23:28:24 · 418 阅读 · 0 评论 -
centos搭建golang环境
1:下载golang包访问:https://studygolang.com/dl 下载包复制连接地址下载并解压,把包复制到usr/local下[root@codeserver soft]# wget https://studygolang.com/dl/golang/go1.15.3.linux-amd64.tar.gz[root@codeserver soft]# tar -xvf go1.15.3.linux-amd64.tar.gz[root@codeserver soft.原创 2020-10-17 14:38:46 · 2526 阅读 · 2 评论 -
centos 7.5 禁用密码登陆 启用ssh-key登陆 配置
这里使用的是root用户1、生成sshd-keyssh-keygen -t rsa -C 429281869@qq.com输入文件名(如xxxx,这里使用默认文件名称)和私钥密码,并二次确认 -- 密码已经要保存,在使用ssh-key登陆的时候需要密码cd /root/.sshlsauthorized_keys id_rsa id_rsa.pub known_hosts目录下生成了一对密钥文件(可以起别名)id_rsa 私钥id_rsa.pub 公钥author原创 2020-09-14 13:08:11 · 903 阅读 · 0 评论 -
golang xorm日志写入文件中
golang访问数据库记录SQL语句: 使用的包为: 1:github.com/arthurkiller/rollingwriter //写入日志包 2:github.com/go-xorm/xorm //xorm包 具体实现为: package mainimport ( "time" "github.com/art...原创 2019-07-22 14:14:04 · 3951 阅读 · 0 评论 -
go lang 数组初探
go lang 数组 数组函数 数组定义原创 2016-09-14 10:21:15 · 1332 阅读 · 0 评论 -
go lang 时间包time
go lang 相关的时间处理包 time 函数原创 2016-10-10 10:51:42 · 685 阅读 · 0 评论 -
Go Channel 详解
Go Channel 详解转载 2016-10-27 11:25:54 · 7871 阅读 · 0 评论 -
go lang 函数定义及其接口实例
go lang 函数定义及其接口实例原创 2016-10-18 14:38:27 · 1515 阅读 · 0 评论 -
golang rc4加密算法的使用
golang rc4 算法 实例 介绍原创 2016-11-09 10:41:01 · 6196 阅读 · 0 评论 -
golang接收post接收xml或者json数据
今天测试用GO语言链接微信公众平台,一切都很顺利,但是发来的XML数据一直收不到。将所有有可能的函数和值都测试过了,例如Request.Form,Request.PostForm,Request.MultiPartForm等都没有……golang接收post接收xml或者json数据Request.Body里的数据是i原创 2016-12-01 14:24:11 · 17978 阅读 · 1 评论 -
golang beego接受post json字符串解析返回JSON数据
golang beego接受post json字符串解析返回JSON数据原创 2016-11-18 10:06:08 · 28673 阅读 · 2 评论 -
[golang]beego列表分页
beego列表分页原创 2016-12-09 10:52:13 · 4421 阅读 · 0 评论 -
[golang] struct转JSON,解析JSON
[golang] struct转JSON,解析JSON原创 2016-12-23 15:26:11 · 48740 阅读 · 0 评论 -
Golang标准库探秘(一):sync 标准库
在高并发或者海量数据的生产环境中,我们会遇到很多问题,GC(garbage collection,中文译成垃圾回收)就是其中之一。说起优化GC我们首先想到的肯定是让对象可重用,这就需要一个对象池来存储待回收对象,等待下次重用,从而减少对象产生数量。标准库原生的对象池在Golang1.3版本便已新增了sync.Pool功能,它就是用来保存和复用临时对象,以减少内存分配,降低CG压力,转载 2017-02-15 10:31:10 · 795 阅读 · 0 评论 -
golang 阻止主goroutine退出方法
golang 阻止主goroutine退出方法原创 2017-10-17 11:04:18 · 7267 阅读 · 0 评论 -
GO LANG 函数声明
例子:1、go语言为静态语言 必须传入数据的类型:,如果有返回值则必须声明返回的类型 func test(x, int, y int) int { return x + y}2、没有返回类型func test(x int ,y int){ fmt.Println(x+y)}原创 2016-09-13 15:12:19 · 826 阅读 · 0 评论