![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go开发
爱你爱我
善于学习,勇于创新
展开
-
OAuth2认证方式介绍
OAuth2认证方式:在任何 OAuth 流程中都有三个参与者:客户端 - 登录的人员或用户使用者 - 客户端想要登录的应用程序(在上图中是 GitLab)服务提供者 - 用户通过其进行身份验证的外部应用程序。(上图中为 GitHub)使用OAuth进行认证和授权的过程如下所示:(A)用户打开客户端以后,客户端要求用户给予授权。(B)用户同意给予客户端授权。(C)客户端使用上一步获得的授权,向认证服务器申请令牌。(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。(E)客户原创 2020-07-17 12:08:08 · 613 阅读 · 0 评论 -
Casbin的使用实例
Casbin帮助文档地址:https://casbin.org/docs/zh-CN/how-it-works常见的设计模式(DAC,MAC,RBAC,ABAC)0.基于权限的角色控制 RBAC1.基于属性的权限验证(ABAC: Attribute-Based Access Control)创建一个Casbin决策器需要有一个模型文件和策略文件为参数:特性:1.支持自定义请求的格式,默认的请求格式为{subject, object, action}。2.具有访问控制模型model和策略po原创 2020-07-17 12:05:36 · 2314 阅读 · 0 评论 -
网关Kong的介绍使用实例
Kong 的介绍帮助文档:https://docs.konghq.com/2.0.x/admin-api/#upstream-object主要特性:云原生:与平台无关,Kong 可以从裸机运行到 Kubernetes高性能:背靠非阻塞通信的 Nginx,性能自不用说插件机制:提供众多开箱即用的插件,且有易于扩展的自定义插件接口,用户可以使用 Lua 自行开发插件熔断:可以通过插件实现熔断,避免系统雪崩日志:可以记录通过 Kong 的 HTTP,TCP,UDP 请求和响应鉴权:权限控制,IP原创 2020-07-17 11:58:53 · 872 阅读 · 0 评论 -
Golang SNMP的使用
SNMP OID的获取方法Get:支持单个或者多个oid,获取结果为固定oid的一对一值,例如:品牌/型号/转发功能/[root@es-9 ~]# snmpwalk -v 2c -c public123 192.168.40.2 .1.3.6.1.2.1.1.2.0SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.2011.2.23.426ObjectIdentifier .1.3.6.1.4.1.2011.2.23.426 Obj原创 2020-06-22 14:13:31 · 4029 阅读 · 0 评论 -
Go Mod的使用
升级地址请升级至go1.11 或以上的版本推荐下载包地址:https://studygolang.com/dl操作方式go mod download //下载依赖包go mod edit //从工具或脚本中编辑go.mod文件go mod init //在当前目录下初始化新的模块go mod graph //打印模块依赖图go mod tidy //添加缺失的模块以及移除无用的模块go mod vendor //将依赖复制到vendor下go mod verify原创 2020-06-22 14:08:36 · 150 阅读 · 0 评论 -
Golang Json解析和反解析汇总
生成JSON串type Stu struct { Name string `json:"name"` Age int HIgh bool sex string Class *Class `json:"class"`}type Class struct { Name string Grade int}func main() { //实例化一个数据结构,用于生成json字符串 stu := Stu{原创 2020-06-22 14:05:43 · 781 阅读 · 0 评论 -
SNMP OID 的使用方法
SNMP OID的使用方法**Get:**支持单个或者多个oid,获取结果为固定oid的一对一值,例如:品牌/型号/转发功能/[root@es-9 ~]# snmpwalk -v 2c -c public123 192.168.40.2 .1.3.6.1.2.1.1.2.0SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.20...原创 2020-04-13 18:19:00 · 1516 阅读 · 0 评论 -
个人笔记——golang ldflags 自定义打版本号
配置在项目的Main.go文件中var Version = "1.0.1"[root@es-9 ]# export TAG=1.0.7[root@es-9 ]# go build -ldflags "-X main.Version='$TAG'"等同于这个:go build -ldflags "-X main.Version='1.0.9'"注意:$TAG处和1.0.9版本号处可不需...原创 2020-03-04 14:32:14 · 2156 阅读 · 2 评论 -
个人笔记——GoMod的使用总结
升级地址请升级至go1.11 或以上的版本推荐下载包地址:https://studygolang.com/dl操作方式go mod download //下载依赖包go mod edit //从工具或脚本中编辑go.mod文件go mod init //在当前目录下初始化新的模块go mod graph //打印模块依赖图go mod tidy //添加缺失...原创 2020-02-29 15:19:59 · 258 阅读 · 0 评论 -
个人笔记之——IBM WebSphere MQ MQExplorer控制台的使用和监控指标
[ { "fields": [ { "monitor_type": "metric", "type": "double", "name": "mq_channel_status", "unit": "", "description": "通道状态" } ], "ta...原创 2020-02-29 15:10:10 · 1708 阅读 · 0 评论 -
个人笔记——redis指标采集
[ { "fields": [ { "monitor_type": "metric", "type": "double", "name": "redis_allocator_allocated_bytes", "unit": "B", "description": "Redis分配的内存量"...原创 2020-02-29 15:06:46 · 1219 阅读 · 0 评论 -
个人笔记之==简短的http请求==日志格式输出===strings.fields字符格式处理
日志格式输出**%d int变量****%x, %o, %b 分别为16进制,8进制,2进制形式的int****%f, %g, %e 浮点数: 3.141593 3.141592653589793 3.141593e+00****%t 布尔变量:true 或 false****%c rune (Unicode码点),Go语言里特有的Unicode字符类型****%s stri...原创 2019-12-05 11:25:30 · 199 阅读 · 0 评论 -
logrus 的输出设置
O_RDONLY:只读模式(read-only)O_WRONLY:只写模式(write-only)O_RDWR:读写模式(read-write)O_APPEND:追加模式(append)O_CREATE:文件不存在就创建(create a new file if none exists.)O_EXCL:与 O_CREATE 一起用,构成一个新建文件的功能,它要求文件必须不存在(...原创 2019-12-04 15:48:50 · 2135 阅读 · 2 评论 -
工作笔记——小结1
计时器Ticker和Timer如果timer定时器要每隔间隔的时间执行,实现ticker的效果,使用 func (t *Timer) Reset(d Duration) booltimer可以reset定时器Ticker:配合For循环为长久死循环定时器,开协程同时和系统休眠为定时循环用package mainimport ( "fmt" "time")func main...原创 2019-10-29 19:18:51 · 100 阅读 · 0 评论 -
golang etree 解析XML
首先:官网地址:https://github.com/beevik/etree,etree作为一个轮子在解析XML文件的工具中占据着很重要的地位,它可以查找节点,轮询、生成XML文件。XML打开工具:XML Marker,由于一般获取到的XML文件比较大,内容很多,节点对不齐的情况经常出现,用此工具打开文件,可以清晰的看到文件的结构,节点对应点,该节点下面的对应值,以及节点路径,在使...原创 2019-09-27 15:33:49 · 4306 阅读 · 0 评论 -
Go安装教程以及解决第三方插件无法安装的问题
必备:安装govendor: go get -u github.com/kardianos/govendor首先: 1.在%GOPATH%\src\ 目录下,建立golang.org 文件夹,并再新建x文件夹。例如:E:\Workplace_Go\src\golang.org\x\tools 2.在终端打开golang.org/x文件夹,执行下面这条命令 git clon...原创 2018-12-11 14:49:15 · 4438 阅读 · 1 评论 -
VirtualBox 虚拟机的安装和使用遇到的坑
#####################配置虚拟机#########################1.下载好操作系统镜像文件后,打开VirtualBox,点击新建虚拟机(首次新建虚拟机推荐使用向导模式,熟练操作步骤后建议使用专家模式)虚拟机名称可以随便输入,类型选择linux,在操作系统的发行版本中没有找到可选的centos版本,我们选择Other Linux版本(其他版本)替代,如果我...原创 2019-01-15 11:57:08 · 1241 阅读 · 0 评论 -
Git的使用笔记
Git场景应用0.git clone -b report http://git.aioper.cn/product/oneoaas.git Monitor1.git clone -b develop https://github.com/idcos/osinstall-server.git dir cd git branch -a//查看本地所有的分支 -r2....原创 2019-03-15 13:45:04 · 113 阅读 · 0 评论 -
记CMDB采集器链路排查流程和遇到的问题
记CMDB采集器链路排查流程和遇到的问题问题一:Gse路径的问题:正例:endpoint: "/var/run/ipc.state.report"反例:endpoint: "/run/ipc.state.report"排查流程:步骤一:获取 Redis channel名字1.登陆中控机后,连接zk去查找相关信息 source /data/install/utils.fc &a...原创 2019-05-24 16:44:57 · 547 阅读 · 0 评论 -
CMDB单模块编译和模型关联关系的添加
CMDB模块编译 1.推荐安装gox进行混合编译go get github.com/mitchellh/gox测试:命令行输入gox -h,应该会用输出的,不然你要检查下PATH变量设置的是否正确$gox -h... 2.使用方法1.编译window 64位: gox -osarch="windows/amd64" ./2.编译mac 64位: ...原创 2019-07-30 12:52:44 · 449 阅读 · 0 评论 -
1小时教你快速搭建蓝鲸CMDB运行平台
编译CMDB源码第一步:准备编译环境和下载源码 golang >= 1.8 采用:go version查看 python >= 2.7.5 采用:python --version命令查看 nodejs >= 4.0.0 采用:node -v命令查看 npm -v cnpm -v bower -v 源码地址:https://github.co...原创 2019-07-25 14:28:35 · 6557 阅读 · 2 评论 -
Go编译、运行和执行二进制的行命令
生成安装包系统执行go build混编#如果我们想生成linux和windows上的程序,只要通过一下命令:$gox -os "windows linux" -arch amd64 1.编译window 64位: gox -osarch="windows/amd64" ./ 2.编译mac 64位: gox -osarch = "darwin/amd64" ./...原创 2019-08-21 10:53:03 · 5688 阅读 · 0 评论 -
个人随笔——总结1
敏捷工具:https://mholt.github.io/json-to-go/ JSON可以转MODEL1.每行程序结束后不需要撰写分号;2.大括号{不能够换行放置。3.if 判断式和 for 循环不需要以小括号包覆起来。4.! 表示为not非的意思,这点需要注意5.return 只针对当前方法,有效6.init函数不需要传入参数,也不会返回任何值。与main相比而言,init...原创 2019-08-28 16:08:40 · 106 阅读 · 0 评论 -
Golang单元测试结果输出方式
单元测试结果输出方式目前支持Testing终端输出、Logrus、Tebeka重定向。Testing终端输出此种方式只支持终端打印的结果输出输入样例如下:time="2018-12-26T10:16:25+08:00" level=info msg="GetQueueTotal out values normal"--- PASS: TestGetQueueTotal (0.0...原创 2018-12-26 13:41:15 · 3067 阅读 · 0 评论