golang token grpc

Golang viper读取配置

go get github.com/spf13/viper config.toml title = "toml exaples" redis = "127.0.0.1:3300" [mysql] host = "192.168.1.1" ports = 3306 username = "root" ......
Golang viper

Golang sync包中errgroup的使用详解

WaitGroup 主要用于控制任务组下的并发子任务。它的具体做法就是,子任务 goroutine 执行前通过 Add 方法添加任务数目,子任务 goroutine 结束时调用 Done 标记已完成任务数,主任务 goroutine 通过 Wait 方法等待所有的任务完成后才能执行后续逻辑 pack ......
errgroup Golang sync

golang之xorm简单使用

go get github.com/go-xorm/xorm package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/go-xorm/xorm" ) type PointInfo struct { Id i ......
golang xorm

在客户端存储登录令牌 token 步骤

原理: 是服务器创建的对象(一般存储当前登录用户的编号); 加密为定长字符串;发送给客户端;客户端存储起来;等待下一次请求时,提交自己的身份令牌;服务器读取该令牌,解密从而获取其中的用户信息 一- 类似于银行卡客户端在登录成功后保存令牌: uni.setStorageSync(userToken', ......
令牌 客户端 步骤 客户 token

Golang操作es使用mysql语法

package main import ( "context" "encoding/json" "fmt" "github.com/elastic/go-elasticsearch/v7" "github.com/elastic/go-elasticsearch/v7/esapi" "log" ) ......
语法 Golang mysql

Golang泛型的简单使用

package main import "fmt" // MyInt ~表示不仅支持int8, 还支持int8的衍生类型int8A和int8B type MyInt interface { int | ~int8 | int16 | int32 | int64 } func getMaxNum[T ......
Golang

Systemd集成Golang二进制程序

首先新建Service,名称叫做server-api vim /lib/systemd/system/server-api.service [Unit] Description=server api [Service] Type=simple Restart=always RestartSec=5s ......
二进制 Systemd 程序 Golang

dart grpc 试用

主要是体验下dart grpc 的集成试用,grpc 对于dart 的支持也是基于了插件生成代码,然后我们可以基于生成的代码创建实现,client 进行调用 参考项目 代码来自官方示例 proto 定义 syntax = "proto3"; option java_multiple_files = ......
dart grpc

【对象存储】Minio本地运行和 golang客户端基本操作

运行环境 OS和Golang版本: go version go1.21.0 darwin/arm64 安装 源码安装 下载最新版本的源码,地址https://github.com/minio/minio后编译 cd minio go build main.go # 得到 116M Oct 19 15 ......
基本操作 客户端 对象 客户 golang

golang 实现协程池

import ( "fmt" "sync" "time" ) type Task func() type ThreadPool struct { workerCount int taskQueue chan Task wg sync.WaitGroup } func NewThreadPool(wo ......
golang

玩一玩 golang 汇编(二)

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 上次玩 golang 汇编是使用了一个 python 的 intel 汇编转换 plan9 汇编的工具,很不好用。 本次试试一些 golang 实现的工具。 ......
golang

【介绍一个工具】图形化界面查看一个 golang 二进制文件的汇编代码

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 通常,可以通过命令行工具,来查看一个代码文件对应的汇编代码: go build -gcflags -S api.go // 或者 go tool compil ......
二进制 图形 界面 代码 文件

golang常见用法

结构体数组与接口数组转换 如果想把[]struct转为[]interface,我们发现直接赋值会报错。 理论上interface可以转换任何数据,为什么结构体数组不可以呢?这是因为interface的设计导致的,如果能理解interface的底层实现,就能很清楚知道如何转换了。 如图所示,与C++的 ......
常见 golang

LLM探索:为ChatGLM2的gRPC后端增加连续对话功能

前言 之前我做 AIHub 的时候通过 gRPC 的方式接入了 ChatGLM 等开源大模型,对于大模型这块我搞了个 StarAI 框架,相当于简化版的 langchain ,可以比较方便的把各种大模型和相关配套组合在一起使用。 主要思路还是用的 OpenAI 接口的那套,降低学习成本,但之前为了快 ......
ChatGLM2 ChatGLM 功能 gRPC LLM

golang生成uuid

1,借助linux系统命令 /usr/bin/uuidgen 1.1 代码 package main import ( "fmt" "log" "os/exec" ) func main(){ out,err := exec.Command("uuidgen").Output() if err!=n ......
golang uuid

git配置token,然后在本地保存token

1 在github上面生成token 这个就不用说了,网上的教程很多 2 将token在本地保存起来 # 命令,设置保存token git config --global credential.helper store # 然后下次访问的时候,就会自动将token带入了 # 第一次使用的时候还是需要 ......
token git

【转】dive into golang database/sql(1)

转,原文:https://www.jianshu.com/p/3b0b3a4c83da 数据库操作是一个应用必不可少的部分,但是我们很多时候对golang的sql包仅仅是会用,这是不够的。每一条语句的执行,它的背后到底发生了什么。各式各样对sql包的封装,是不是有必要的,有没有做无用功? 这是go ......
database golang dive into sql

【转】dive into golang database/sql(2)

转,原文: https://www.jianshu.com/p/807257fcb985?utm_campaign=studygolang.com&utm_medium=studygolang.com&utm_source=studygolang.com 当我们拿到一个DB实例之后就可以操作数据库了 ......
database golang dive into sql

【转】dive into golang database/sql(3)

转,原文: https://www.jianshu.com/p/cd8cee3d7fc3 上一章中我们一起探讨了golangdatabase/sql包中如何获取一个真实的数据库连接。当我们拿到一个数据库连接之后就可以开始真正的数据库操作了。本章讲继续深入,一起探讨底层是如何进行数据库操作的。 上一章 ......
database golang dive into sql

在 kubernetes 环境中实现 gRPC 负载均衡

前言 前段时间写过一篇 gRPC 的入门文章,在最后还留了一个坑没有填: 也就是 gRPC 的负载均衡问题,因为当时的业务请求量不算大,再加上公司没有对 Istio 这类服务网格比较熟悉的大牛,所以我们也就一直拖着没有解决,依然只是使用了 kubernetes 的 service 进行负载,好在也没 ......
kubernetes 环境 gRPC

golang + rabbitmq 死信队列

生产者 package main import ( "fmt" "github.com/streadway/amqp" "strconv" "time" ) // 启动生产者,n秒之内,如果consume没有消费,那么就会被die-死信队列消费 func main() { // # 1.创建连接 m ......
死信 队列 rabbitmq golang

.NET CORE 之 gRPC使用

gRPC简单介绍 gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架(google开源的rpc框架)。gRPC 默认使用 protocol buffers,这是 Google 开源的一套成熟的结构数据序列化机制(也可以使用其他数据格式如 JSON) gRPC 的主要优点是: HTTP2 ......
CORE gRPC NET

golang的值接收者与指针接收者(二)

虽然在平时使用时,值接收者和指针接收者调用值方法和指针方法都没有问题,但是在涉及到实现接口方法时,有时会遇到如下报错: Son does not implement Father (SomeFunction method has pointer receiver) 比如: type Person i ......
接收者 指针 golang

golang值接收者与指针接收者(一)

golang方法的接收者有两种:值接收者与指针接收者。 平时使用中两种接收者的主要区别就是能不能修改接收者的内部值。 先说结论:值接收者方法不能修改结构体内部的值,指针接收者方法可以修改结构体内部的值。 做个测试: type Student struct { age int } func (s St ......
接收者 指针 golang

golang 并发之goroutine

goroutine 的启动 将要并发执行的任务包装成一个函数,调用函数时候前面加上go 关键字,就能够开启goroutine去执行该函数的任务 goroutine对应的函数执行完成,该goroutine就结束 程序启动的时候自动的创建一个goroutine去执行main函数 main函数结束之后那么 ......
goroutine golang

grpc服务报错: http2 frame too large

报错如下: 1 4xx BadRequesterror reading server preface: http2: frame too large 其中4xx为客户端报错中的一个具体数字。比如: 404/415,仅以报错举例,且出现报错码不固定。 但是error msg的核心内容不变: frame ......
frame http2 large grpc http

SpringBoot+vue+Axios实现Token令牌

前后端Token实现 目录前后端Token实现认识TokenJWT组成HeaderPayloadSignatureJWT简单使用创建JWT解析JWT常见异常后端Maven依赖封装JWT工具获取并响应Token拦截器验证Token前端登录+存储Token前端拦截器 认识Token 对Token有了解可 ......
令牌 SpringBoot Axios Token vue

burpsuite靶场----CSRF----token验证取决于其是否存在

burpsuite靶场 CSRF token验证取决于其是否存在 靶场地址 https://portswigger.net/web-security/csrf/bypassing-token-validation/lab-token-validation-depends-on-token-being ......
靶场 取决于 burpsuite token CSRF

burpsuite靶场----CSRF----token验证取决于请求方法

burpsuite靶场 CSRF 无防御 靶场地址 https://portswigger.net/web-security/csrf/bypassing-token-validation/lab-token-validation-depends-on-request-method 正式开始 1.登 ......
靶场 取决于 burpsuite 方法 token

golang map json 结构体

要将JSON转换为Go结构体,您可以使用json.Unmarshal()函数。首先,您需要定义一个与JSON数据结构匹配的Go结构体,然后使用json.Unmarshal()将JSON数据解码为该结构体。以下是一个示例:假设有如下JSON数据: { "name": "John Doe", "age" ......
结构 golang json map