GO
文章平均质量分 69
GO
@马云
先天cpp代码圣体
展开
-
通过拦截器和metadata机制实现grpc的auth认证
grpc metadata拦截器metadata拦截器身份验证metadata拦截器。原创 2024-03-12 13:37:08 · 1437 阅读 · 0 评论 -
grpc的metadata机制
gRPC让我们可以像本地调用一样实现远程调用,对于每一次的RPC调用中,都可能会有一些有用的数据,而这些数据就可以通过metadata来传递。metadata是以key-value的形式存储数据的,其中key是 string类型,而value是[]string,即一个字符串数组类型。http中header的生命周周期是一次http请求,那么metadata的生命周期就是一次RPC调用。通过添加元数据,向服务器传递特定的信息,例如授权令牌、用户标识、链路追踪ID等。随后可以通过for range取出数据。原创 2024-03-11 17:23:26 · 1772 阅读 · 2 评论 -
grpc的验证器
在使用grpc库时候 ,很多时候我们需要对反序列化的参数进行校验,代码中有很多参数校验的代码,如果手动实现,会非常繁琐,对于grpc来说,在定义proto的时候使用直接定义参数的限制规则是一种更合理、更优雅的方式,插件就是来帮助我们实现这一功能的,使用 proto-gen-validate 生成后的代码进行参数校验,我们可以通过在 proto 中编写参数校验规则,然后生成代码,通过中间件自动的进行校验。}];// 参数必须大于 0// 参数必须在 0 到 120 之间。原创 2024-03-11 17:19:56 · 1995 阅读 · 0 评论 -
grpc四种数据流
### 1.简单模式这种模式最为传统,即客户端发起一次请求,服务端响应一个数据,这和大家平时熟悉的rpc没什么区别,所以不在详细介绍### 2.服务端数据流模式这种模式是客户端发起一次请求,服务端返回一段连续的数据流。典型的例子是客户端向服务端发送一个股票代码,服务端就把该股票的实时数据源源不断的返回给客户端。### 3.客户端数据流模式与服务端数据流模式相反,这次是客户端源源不断的向服务端发送数据流,而在发送结束后,由服务端返回一个响应。典型的例子是物联网向服务器报送数据。原创 2024-03-10 13:03:54 · 1769 阅读 · 0 评论 -
GO下grpc快速体验
【代码】GO下grpc快速体验。原创 2024-03-10 13:01:53 · 1682 阅读 · 0 评论 -
gorm快速上手
ORM全称是:Object Relational Mapping(对象关系映射),其主要作用是在编程中,把面向对象的概念跟数据库中表的概念对应起来。举例来说就是,我定义一个对象,那就对应着一张表,这个对象的实例,就对应着表中的一条记录。 对于数据来说,最重要最常用的是表:表中有列, orm就是将一张表映射成一个类,表中的列映射成类中的一个类。java 、python,但是针对go语言而言,struct,就是列如何映射,是因为列可以映射成struct中的类型,int->int,但是有另一个问题?原创 2024-03-08 10:25:08 · 1992 阅读 · 0 评论 -
go切片实现原理
首先,我们思考,go在通过函数传递一个`切片`时,是通过`引用传递`的吗,还是通过`值传递`的呢(答案将会很意外的哦)原创 2024-03-08 10:21:06 · 2514 阅读 · 0 评论 -
GO闭包实现原理(汇编级讲解)
函数闭包一点也不神秘,它就是函数和引用环境而组合的实体。在Go中,闭包在底层是一个结构体对象,它包含了函数指针与自由变量。Go编译器的逃逸分析机制,会将闭包对象分配至堆中,这样自由变量就不会随着函数栈的销毁而消失,它能依附着闭包实体而一直存在。因此,闭包使用的优缺点是很明显的:闭包能够避免使用全局变量,转而维持自由变量长期存储在内存之中;但是,这种隐式地持有自由变量,在使用不当时,会很容易造成内存浪费与泄露。附着闭包实体而一直存在。原创 2023-12-12 20:08:15 · 2164 阅读 · 0 评论 -
GO基础记录
小驼峰相当于private,大驼峰相当于public(针对于不同的包之间)添加需要用到但go.mod中查不到的模块,删除未使用的模块(推荐)),那么需要启动一个goroutine去读取。分为有缓冲和无缓冲,如果需要使用无缓冲(在import文件前面可以声明包的别名。go实现继承需要以匿名的形式嵌入结构体。是一个原子包,里面提供了很多原子方法。go在同一级目录下包名要一致,指令可以安装库,自动安装依赖。不能在放值,但是可以取值,原创 2024-03-07 10:46:05 · 1811 阅读 · 0 评论
分享