go-jwt jwt go

Go源码阅读——github.com/medcl/esm —— domain.go

esm(An Elasticsearch Migration Tool)—— domain.go https://github.com/medcl/esm release: 8.7.1 通过阅读好的源代码,细致思考,理性分析并借鉴优秀实践经验,提高 zuoyang 的编程水平,所谓 "他山之石,可以 ......
源码 github domain medcl com

Go函数基础

在Go语言中,函数是一种基本的代码组织方式。函数能够接受输入参数并返回结果。Go语言中的函数有以下特点: 函数定义使用关键字func,后跟函数名、参数列表和返回值类型。 如果函数有返回值,则在函数定义中必须指定返回值的类型。 如果函数有多个返回值,则它们用逗号分隔。 Go语言中的函数可以有任意数量的 ......
函数 基础

go面试 (一)

面试 http的三次握手四次挥手 HTTP的三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是 ......

jwt

jwt https://jwt.io/ JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. JWT.IO allows ......
jwt

Go语言的type func()用法

golang通过type定义函数类型 在 Go 语言中,type 可以定义任何自定义的类型 比如熟悉的:type dog struct{},type myInt int 等等 所以 func 也是可以作为类型自定义的,type myFunc func(int) int,意思是自定义了一个叫 myFu ......
语言 type func

Go语言(Golang)编写最简单的命令行工具

最简单的命令行工具 项目预览 >echo abc 123 --name=nick abc 123 --name=nick 课程概述 如何制作命令行应用 如何使用 os.Args 获得命令行参数 前提条件 懂得 Go 语言基本语法 知识点 OS 包提供了用于处理操作系统相关内容的函数/值 独立于平台的 ......
命令 语言 工具 Golang

Go Web 基础--原理总结

Web的工作方式 对于普通的上网过程: 浏览器本身是一个客户端,当你输入URL的时候,首先浏 览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器 后,要求建立TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开 始 ......
原理 基础 Web Go

go学习

1. Go 语言采用是否大小写首字母来区分符号是否可以被导出。 2. var d = [...]int{1, 2, 4: 5, 6} // 定义长度为 6 的 int 型数组, 元素为 1, 2, 0, 0, 5, 6 这种初始化很少用吧 3. 用 for range 方式迭代的性能可能会更好一些, ......

go基础

第一段代码 package main //声明文件所在的包,每个go文件必须有归属的包 import "fmpt" //引入程序需要用的包,为了使用包下的函数,比如println func main(){ fmt.Println("Hello golang!") //控制台打印输出一句话,双引号内会 ......
基础

springboot整合security+jwt

一、引入相关依赖 <!--spring security依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dep ......
springboot security jwt

go-struct指针与值传递

示例如下 1 type compare0 struct { 2 version1 string 3 version2 string 4 } 5 func (c compare0) setV1(str string) string { 6 c.version1 = str 7 return c.ver ......
指针 go-struct struct go

用go设计开发一个自己的轻量级登录库/框架吧

用go设计开发一个自己的轻量级登录库/框架吧 几乎每个项目都会有登录,退出等用户功能,而登录又不单仅仅是登录,我们要考虑很多东西。 token该怎么生成?生成什么样的? 是在Cookie存token还是请求头存token?读取的时候怎么读取? 允许同一个账号被多次登录吗?多次登录他们的token是一 ......
轻量 轻量级 设计开发 框架

session.token,jwt认证

什么是认证? 认证即是登录认证,在我们日常浏览网站时经常会遇到,比如,购物网站中购买商品时需要我们先进行登录认证,在一些问答型网站,往往需要用户登录认证后才能发表,评论和收藏。 常见认证方式 常见的认证方式有: cookie-session认证; token认证; JWT(json web toke ......
session token jwt

RocketMQ开启ACL认证Go连接测试

RocketMQ开启ACL认证连接测试 导入包 go get -u github.com/apache/rocketmq-client-go/v2 go get -u github.com/spf13/pflag 查看go.mod module your_module_name go 1.16 re ......
RocketMQ ACL

Go笔记(十五):并发编程

一、协程的创建 Go 语言支持并发,只需要通过 go 关键字来开启 goroutine(协程) 即可。 goroutine(协程) 是轻量级线程,goroutine(协程) 的调度是由 Golang 运行时进行管理的。 goroutine 语法格式(创建协程): go 函数名( 参数列表 ) 示例代 ......
笔记

Go笔记(十四):通道 channel

1、通道 通道channel是Go提供的一种用于各个协程(goroutine)之间的数据共享,保证数据同步交换的机制。协程是轻量级线程,类似于Java中的线程。 2、通道的类型 2.1、无缓冲通道 用于同步通信,可保证在发送和接收数据时完成两个goroutine(协程)的数据交换。 2.2、缓冲通道 ......
通道 channel 笔记

go测试库之apitest

前言 使用go语言做开发差不多快一年了,主要用来写后端Web服务,从一开始吐槽他的结构体,比如创建个复杂的JSON格式数据,那是相当的痛苦。还有 err 处理写的巨麻烦。 当然,go 也有爽的地方,创建个线协程简直太简单了。 到后来慢慢接受,觉得效率还行,因为是静态强类型语言,在修改完项目代码之后, ......
apitest

go 快速入门

1. 下载并安装 gin: $ go get -u github.com/gin-gonic/gin 使用 Go modules 工具管理项目 初始化 go mod $ go mod init learninggo package main import "github.com/gin-gonic/ ......
go

云原生时代崛起的编程语言Go常用标准库实战

通过前两篇文章对Go编程的理解,本篇从重点实战使用角度介绍Go常见基础标准库的使用,较大部分业务场景直接使用标准库提供的丰富功能就可实现快速开发,结合精简代码示例演示了字符串、IO、编码、网络、数据库、单元测试等十几个标准包的使用。 ......
编程语言 实战 常用 语言 标准

Go笔记(十三):包管理工具

包管理工具,用来管理模块中包的依赖关系。下面来看看go mod的使用方法。 1.1、初始化模块 go mod init 项目模块名 1.2、依赖关系处理,根据go.mod文件 go mod tidy 1.3、将依赖复制到项目下的vendor目录 go mod vendor 如果包被屏蔽(墙),随后使 ......
笔记 工具

Go笔记(十二):接口

1、接口的声明 Go语言中的接口是一种新的类型定义,拥有将具有共性的方法定义在一起的特性。任何其他类型只要实现了这些方法就是实现了这个接口。 语法详情如下: /* 定义接口 */ type interface_name interface { method_name1 [return_type] m ......
接口 笔记

Go笔记(十一):方法

Go语言没有Java语言面向对象的特性,也无类对象的概念。但可以使用结构体实现这些特性。 1、方法的声明 Go中的方法是一种特殊的函数,与struct相关联,被称为struct的接收者。可以理解为方法就是有接收者的函数。语法格式如下: type mystruct struct{} func (rec ......
笔记 方法

Go源码阅读——github.com/medcl/esm

esm(An Elasticsearch Migration Tool)—— main.go https://github.com/medcl/esm 阅读源码,我没啥好方法和好习惯,唯 "莽 "。 一、main.go func main(){} // 该方法用于基于源索引的刷新设置来还原目标索引的 ......
源码 github medcl com esm

Go语言入门14(channel通道01)

channel(一) ​ channel用于goroutines之间的通信,让它们之间可以进行数据交换。像管道一样,一个goroutine_A向channel_A中放数据,另一个goroutine_B从channel_A取数据 channel 基本语法 // 因为channel是指针类型的数据类型, ......
通道 channel 语言

Go并发编程实战

概述 基础理论 Do not communicate by sharing memory; instead, share memory by communicating. 简单来说所谓并发编程是指在一个处理器上“同时”处理多个任务;宏观上并发是指在一段时间内,有多个程序在同时运行;在微观上 并发是指 ......
实战

【GO】jeager

安装 docker docker pull jaegertracing/all-in-one:latest docker run \ --rm \ --name jaeger \ -d \ -p6831:6831/udp \ -p16686:16686 \ -p14268:14268 \ jaege ......
jeager

云原生时代崛起的编程语言Go并发编程实战

Go语言是天然并发利器,通过通信来实现内存共享而不是通过共享内存来通信,本篇从了解Go的并发哲学、理论及并发原语开始,之后用一个个Go代码示例认识Go的协程、通道、定时器、互斥锁、池化、原生操作等十几个并发编程示例,进一步加深对其并发编程使用场景理解和原理的初步认识。 ......
编程语言 实战 语言 时代

2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。

2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。 答案2023-05-04: 这段代码实现了使用 libswscale 库进行视频缩放的功能。下面是程序的主要流程: 1.获取命令行参数,包括输出文件名和目标图像大小。 2. ......
示例 scaling_video Scaling scaling 语言

从案例中详解go-errgroup-源码

一、背景 某次会议上发表了error group包,一个g失败,其他的g会同时失败的错误言论(看了一下源码中的一句话The first call to return a non-nil error cancels the group,没进一步看其他源码,片面理解了)。 // The first ca ......
go-errgroup 源码 errgroup 案例 go

go 语言 接口、并发与协程、信道,缓冲信道、mutex、异常处理

==接口== 1.实现多个接口 2.接口嵌套 3.接口零值 package main import "fmt" // 接口 //1 实现多个接口 具体类型可以赋值给多种接口类型 //type Animal interface { // run() //} // //type Dog interfac ......
信道 接口 语言 mutex go