golang实现jwt

go实现jwt-demo 1.JSON web token(jwt) 是自己携带一些信息,jwt现在越来越流行原因如下: ·1.jwt是无状态,因此不需要任何数据库来存储 2.jwt签名是安全 3.jwt可以设置有效时间,可以减少黑客攻击 jwt官网介绍 2.用户登录之后生成token func Login(c *gin.Context) { var user models.User if err := c.ShouldBindJSON(&user); err != nil { c.JSON(h...阅读全文

简书 2020-09-01 20:32:40 左洁

滴滴云平台事业群——就是稳!

桔妹导读:八月是云平台事业群分享月,这个月,我们看到了该团队众多优秀技术文章,云平台事业群看似默默无闻,但却支撑着整个滴滴的运作,发挥着至关重要的作用。本篇压轴更是云平台事业群的重磅特辑,想要了解更多或加入这个团队?快来看看我们的专访特辑,一起来了解这个又稳又深的事业群吧! 在今年滴滴内部的吐槽大会上,来自云平台事业群一位同学的吐槽让大家笑疯:“像我们这种基础部门,连工位都安排在地下,这说明我们公司的云平台事业群非常稳!就是人家问你base在哪儿,别人都是base在北京、杭州,我啊,base在b...阅读全文

简书 2020-09-01 17:51:49 滴滴技术

golang的zap怎么使用

zap是一个高性能日志库,下面简单介绍一下zap的使用。1.下载zap包因为zap是uber开源的,zap内使用的包是在go.uber.org/zap,如果直接go get这个包,可能会提示get不下来。可以go get github.com/uber-go/zap,然后再把zap目录复制到src/go.uber.org下(可能还会需要go.uber.org/atomic和go.uber.org/multierr,均可参考该方法get下来)2.zap简单封装示例。 package logger ...阅读全文

简书 2020-09-01 17:32:57 MO_ON_e503

【golang】sync.Map原理

一、sync Map 包整体结构本文主要阐述:Load、Store、Delete,更加详细的阐述可以参考源码描述(建议先大体浏览一下Map源码)。导言:空间换时间。 通过冗余的两个数据结构(read、dirty),实现加锁对性能的影响。使用只读数据(read),避免读写冲突。动态调整,miss次数多了之后,将dirty数据提升为read。double-checking。延迟删除。 删除一个键值只是打标记(会将key对应value的pointer置为nil,但read中仍然有这个key:key;v...阅读全文

Segmentfault 2020-09-03 14:32:36 去去1002

【golang】map原理

特性key与value的限制key一定要是可比较的类型(可以理解为支持==的操作)| 可比较类型 | 不可比较类型 | | --- | --- | | boolean | slice | | numeric | map | | string | func | | pointer | | | channel | | | interface | | 如果是非法的key类型,会报错:invalid map key type xxx。函数传参Golang中是没有引用传递的,均为值传递。这意味着传递的是数...阅读全文

Segmentfault 2020-09-03 14:32:35 去去1002

Golang JWT Token 验签 生成

不讲概念,直接上代码 生成、验证 package helpers import ( "errors" "fmt" "github.com/dgrijalva/jwt-go" "myapp/config" "time" ) //JWT = JSON WEB TOKEN 是一个开放标准,用于作为json对象,在各个地方安全的传输信息 //此信息可以被验证和信任 type JWT struct { SigningKey []byte //自定义密钥 } //自定义信息结构,根据需求填写 type Cl...阅读全文

简书 2020-09-01 15:32:58 醉奕笑

在线自动生成农历生日并导入到 Google 日历

线上自动生成 农历生日 汇入到 Google calendar的通知提醒,可以到2100年。 用法(Windows): 1、打开 http://play.golang.org/p/pjHLGH_HjP 2、修改const example的内容。注意是农历的日子。 例如 父亲生日: 1999.01.01 母亲生日: 2000.-6.01 (-6 代表闰六月) 3、改好后,点击上方的 「Run」,就会产生,如下: Subject, Start Date, Start Time, End Date, ...阅读全文

简书 2020-09-01 14:32:45 薛定谔的皮

如何将含有多个main子项目的大项目mod化

以 xxx-go-eninge(图片中有打码) 为例,项目中包含5个子项目,2个公共类,如下图,红色框选即使公共模块其它都是独立的子项目,有main.go我们将这个项目放在任意文件夹,是否在GOPATH都可以如果这个项目不做任何配置,那么在任意目录下执行go get或build都会失败。现在操作步骤如下将项目根目录加入到GOPATH中,如图红圈中,Project级别的GOPATH即可,同时选中下面的索引GOPATH 这么做的目的是为了将当前大项目的目录变成一个独立的gopath的环境,里面有sr...阅读全文

Segmentfault 2020-09-05 13:32:33 member

工业4.0|工业物联平台有多重要?Hightopo深度解析

随着时代的发展,科学技术日新月异,人们进入了信息化的时代。现今,在物联网的逐渐普及下,物联网技术应用于工业中,也显得尤为重要;在工业网络和移动计算持续影响着制造业和工业环境的大环境中,这些技术帮助全球制造商和组织将诸如"互联工厂"、"工业4.0"和工业物联网 (IIoT) 的发展设想都将转变为现实。相信每个人都听说过物联网–智能热水器、联网冰箱、联网灯泡等等。但是物联网还有一个子集称为工业物联网,它对企业、安全乃至生活的日常影响都相当大。工业物联网(IIoT)连接了交通运输、电力和医疗保健等行业...阅读全文

简书 2020-09-01 11:33:09 互联网炒酸奶

Golang LeetCode练习题及答案(二)

> 本文参考 [嗨客网](https://haicoder.net) Golang [实战](https://haicoder.net/case/index.html) # **Golang LeetCode练习题及答案(二)** # **前言** 本篇文章是关于一部分 Golang LeetCode 的题目以及详细的解题思路,每道题都附有答案链接,答案解题的每个步骤到运行结果都十分详细,十分适合小白拿来练习,也十分适合准备面试的各位练手,这篇文章我会不断更新。题目都是对应 ...阅读全文

Go语言中文网 2020-09-01 10:59:18 haicoder_ibai

WGCLOUD监控系统运行时候,吃内存吗

看你说server端,还是agent端了。 如果是server端,运行时候占用内存最大512M,最低128M,根据实际场景不同,内存大小也不同。 java -Xms128m -Xmx512m -jar %cd%/wgcloud-server-release.jar 如果是agent端,一般运行时候占用内存64M吧,golang写的agent,内存开销很低。 WGCLOUD网站:www.wgstart.com demo2.jpg阅读全文

简书 2020-09-01 10:32:48 王逅逅_f6c0

golang写算法

最近在重温数据结构与算法知识,打算用golang将常用算法都实现一遍,主要包括:数组,单链表,双链表,队列,栈,排序算法,二分查找,二分查找扩展问题,二叉树搜索,大小堆,递归,回溯,贪心,分治,图的搜索,跳跃表,位图,缓存淘汰算法,动态规划,字符串搜索等,还有使用常用算法解决一些实际问题。阅读全文

Segmentfault 2020-09-04 09:32:31 8格雅鹿

打通微信和钉钉服务是一种怎样的体验?

微信 和 钉钉,分属于 腾讯 和 阿里巴巴 两大阵营,当他们之间可以互联互通,会是一种怎样神奇的场景?今天,我们就通过 fastwego/offiaccount 和 fastwego/dingding 这两个开源 Golang SDK 试一试:实现一个微信公众号秒变翻译机的服务:将用户发送过来的中文文本,翻译成法语。微信开放平台 & 钉钉开放平台微信公众号开启开发模式,接管用户发送的消息:同时,还将获取到微信公众号的 appid/secret/token 配置信息钉钉开放平台开通企业内部 H5 ...阅读全文

Segmentfault 2020-09-03 10:32:34 whatsyourname

【Go语言入门系列】(七)如何使用Go的方法?

【Go语言入门系列】前面的文章:【Go语言入门系列】(四)之map的使用【Go语言入门系列】(五)之指针和结构体的使用【Go语言入门系列】(六)之再探函数本文介绍Go语言的方法的使用。1. 声明如果你用过面向对象的语言,比如Java,那你肯定对类、对象、成员变量、方法等很熟悉。简单地来说,类是对一类事物的抽象,成员变量是该事物的属性,方法是该事物具有的行为,对象则是该事物所对应的具体个体。比如说,狗(类),名字(属性),叫(方法),哮天犬(对象)。但是Go语言中并没有类,自然也没有面向对象中的成...阅读全文

Segmentfault 2020-09-03 13:32:32 行人观学

Linux C/C++定时器的实现原理和使用方法

定时器的实现原理定时器的实现依赖的是CPU时钟中断,时钟中断的精度就决定定时器精度的极限。一个时钟中断源如何实现多个定时器呢?对于内核,简单来说就是用特定的数据结构管理众多的定时器,在时钟中断处理中判断哪些定时器超时,然后执行超时处理动作。而用户空间程序不直接感知CPU时钟中断,通过感知内核的信号、IO事件、调度,间接依赖时钟中断。用软件来实现动态定时器常用数据结构有:时间轮、最小堆和红黑树。深入学习视频地址:linux高并发编程|红黑树实现定时器|时间轮实现定时器Linux内核定时器相关的一些...阅读全文

简书 2020-08-31 18:32:47 linux大本营

使用GVM管理Go版本的方法介绍

Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。下面就来由go入门教程栏目为大家介绍一下使用GVM管理Go版本的方法。 安装GVM$ bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)安装完成后会在用户自己的home目录下生成.gvm目录。$ ls -al ~/.gvm使用GVM查看当前机器的Go环境 $...阅读全文

简书 2020-08-31 18:32:44 MO_ON_e503

GoLang学习笔记(一)

1、基本类型 类型 长度 默认值 说明 bool 1 false byte 1 0 uint8 int, uint 4/8,4/8 0 默认整数类型, 依据目标平台,32位或64位 int8, uint8 1 0 uint指无符号位,-128 ~ 128, 0~255 int16, uint16 2 0 -32,768 ~ 32,768, 0~65,535 int32, uint32 4 0 -21亿 ~ 21亿, 0~42亿 int64, uint64 8 0 float32 4 0.0 默认...阅读全文

简书 2020-08-31 18:32:41 乔治大叔

kubernetes服务优雅停止

Graceful shutdown优雅停止(Graceful shutdown),在停止程序之前先完成资源清理工作。比如:操作数据:清理、转移数据。数据库节点发生重启时需要考虑反注册:程序退出之前通知网关或服务注册中心,服务下线后再停止服务,此时不会有任何流量受到服务停止的影响。Prestop Hook一般情况当Pod停止后,k8s会把Pod从service中摘除,同时程序内部对SIGTERM信号进行处理就可以满足优雅停止的需求。但如果Pod通过注册中心向外暴露ip,并直接接受外部流量,则需要做...阅读全文

Segmentfault 2020-09-01 15:32:50 吕晨曦