
golang
文章平均质量分 92
duzhenxun
PHP菜鸟
展开
-
go md5签名
var postData = map[string]string{ "timestamp": "1234567890", "app_key": "XXXX", "data":"asdfasdf", } //私钥 var secret = "****************" var keys []string for k, _ := ...原创 2020-04-07 18:38:50 · 586 阅读 · 0 评论 -
etcd入门与实践(含go代码)
对比一、etcd 支撑服务发现集群状态存储配置同步集群状态存储配置同步分布式锁二、etcd原理1、抽屉理论 大多数2、etcd与Raft的关系Raft是强一致的集群日志同步算法etcd是一个分布式KV存储etcd利用raft算法在集群中同步key-value3、quorum模型集群需要2N+1个节点当leader复制给2N+1个节点后本地提交,返回客户端...原创 2020-04-07 18:31:55 · 1110 阅读 · 0 评论 -
go中使用cmd与crontab
一、go中使用cmd/bin/bash -c “ls -l”cmd->golang->pipepipe()创建2个文件描述符,fd[0]可读,fd[1]可写fork() 创建子进程 fd[1]被继承到子进程dup2() 重定向子进程 stdout/stderr到fd[1]exec() 在当前进程内,加载并执行二进制程序例子1模拟一下cmd调用package main...原创 2020-04-07 18:29:30 · 436 阅读 · 0 评论 -
golang 单元测试与性能分析
在这里简单讲一下go如何写单元测试与代码的性能分析,代码覆盖率相关知识。平时我们写了的一些方法,想测试时一般在main包中的main函数中去调用我们写好的函数,这样测试不是很专业。golang自带test工具非常好用,我们可以手动写测试代码,也可以在ide中使用快捷键先创建,我们使用下面的例子来说一下 代码测试,性能压测,性能分析等。例子 demo.gopackage demoimpor...原创 2020-01-31 23:03:18 · 601 阅读 · 0 评论 -
go 数据类型rune的使用
我们知道golang的数据类型有布尔型,字符串型,数字类型,派生类型。rune它属于数字类型,类似in32。官方解释:// rune is an alias for int32 and is equivalent to int32 in all ways. It is// used, by convention, to distinguish character values from i...原创 2020-01-21 15:08:17 · 883 阅读 · 0 评论 -
使用go写一个高性能端口扫描器,支持IP范围,端口号范围
引入"github.com/xs25cn/scanPort" 下面写好的包帮助信息scanPort -h Options: -h 帮助信息 -ip string ip地址 例如:-ip 192.168.0.1-255 或直接输入域名 xs25.cn (default "127.0.0.1") -n int 进程数 例如:-n 10 (defa...原创 2020-01-13 18:39:11 · 2009 阅读 · 1 评论 -
golang redis连接池的使用
作为一个phper,第一次听到连接池还有点蒙圈,转golang开发后连接池的概念会经常使用。一、连接池是什么连接池是什么?一个服务端资源的连接数量都是有限的,每次初始化时他建一定数量的连接,先把所有连接存起来,谁要用则从里面取,用完后放回去。如果超出连接池容量,要是排队等着或么直接丢弃。比如我们做开发中常用的mysq,redis,php-fpm的配置1,redis服务端设置maxclie...原创 2020-01-13 15:54:02 · 2253 阅读 · 1 评论 -
go批量请求URL,计算时间
批量请求URL,计算时间package mainimport ( "fmt" "io" "io/ioutil" "net/http" "time")func main() { start :=time.Now() ch :=make(chan string) var urls = []string{"http://www.baidu.com", "http://...原创 2019-10-26 00:01:11 · 891 阅读 · 0 评论 -
go与php jwt的使用
go与php jwt的使用go代码PHP代码go代码package mainimport ( "crypto/hmac" "crypto/sha256" "encoding/base64" "encoding/json" "fmt" "go-demo/01/jwt" "strings")func main() { //jwt.io 密钥 123456 注意payloa...原创 2019-10-21 11:39:37 · 711 阅读 · 0 评论 -
go与php hmac的使用
go与php hmac的使用golangPHPgolangfunc hmacSha256(src string, secret string) string { h := hmac.New(sha256.New, []byte(secret)) h.Write([]byte(src)) shaStr:= fmt.Sprintf("%x",h.Sum(nil)) //shaStr:=he...原创 2019-10-14 13:37:58 · 701 阅读 · 0 评论 -
kong使用grpc功能
对于kong的grpc使用目前官方还没有正式的文档说明,记得7月份时刚看KONG,那时还不支持grcp。当时一直想在网关上做grpc转发,恰巧月底KONG官方发布了一个1.3.0rc1版本。是第一个正式支持gRPC代理的版本!一个月后,又发布了1.3.0正式版本,可以放心使用了。下面我来简单说下如何使用的,为了快速演示可以使用官方的docker镜像。docker run -d...原创 2019-09-19 16:03:16 · 3596 阅读 · 0 评论 -
go grpc服务端,客户端,grpcurl的使用总结
今天从头到尾用了一下go的grpc,对grpc鉴权,Deadlines,反射等相关知识有了新的认识先是部署了kong,建立了services,routes,转发到go的grpc端口进行测试.真幸运,10天前安装的kong还不支持GRPC,前几天竟然发布了新版对GRPC做了支持..有空整理一下使用kong连GRPC的一些坑~~所连接的IP地址是kong的.如果你没有安装kong直接连...原创 2019-08-02 20:52:31 · 1811 阅读 · 0 评论 -
go切片map的数据追加
data:=map[string]interface{}{} /* data["info"] = append(data["info"].([]map[string]string),map[string]string{"name":"duzhenxun","color":"red"},map[string]string{"name":"lisi","color":"green"}) ...原创 2019-07-15 10:36:58 · 7380 阅读 · 0 评论 -
在Golang中将int32转换为字符串的几种方法
最近刚在从PHP转GO,在使用中发现强类型语言真是啰嗦~~,2个值做对比时要先注意他们的类型.如果一个string与一个in32不能直接对比.先要转换类型如果使用Itoa需要一个int,使用FormatInt需要一个int64,最简单的方法是使用fmt.Sprint(int32),但效率比较低1,fmt.Sprint(i)比较慢func Sprint(a ...interf...原创 2019-07-13 12:47:29 · 21720 阅读 · 0 评论