golang rpc

Eolink Apikit「 零代码」快速发起 RPC 接口自动化测试

RPC(Remote Procedure Call )远程过程调用,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC 的核心思想是将远程服务抽象成一个接口,客户端通过调用这个接口,就可以实现对远程服务的访问。 Eolink Apikit 支持多协议,RPC 、DUBB ......
接口 代码 Eolink Apikit RPC

golang build 不同系统下的可执行文件

接着使用如下命令行运行上面的代码: go run -gcflags "-m -l" main.go 使用 go run 运行程序时,-gcflags 参数是编译参数。 其中 -m 表示进行内存分配分析,-l 表示避免程序内联,也就是避免进行程序优化。 1、Mac下编译Linux, Windows平台 ......
文件 golang 系统 build

Golang type和kind

Type是类型,Kind是类别。Type和Kind可能是相同的,也可能是不同的 var num int = 10 num的Type是int,Kind也是int var stu Student stu的Type是 包名.Student,Kind是struct ......
Golang type kind

go-zero开发入门-网关往rpc服务传递额外数据

go-zero 的网关服务实际是个 go-zero 的 API 服务,也就是一个 http 服务,或者说 rest 服务。http 转 grpc 使用了开源的 grpcurl 库,当网关需要往 rpc 服务传递额外的数据,比如鉴权数据的时候,通过 http 的 header 进行: func Aut ......
网关 go-zero 数据 zero rpc

go-zero开发入门之网关往rpc服务传递数据

go-zero 的网关往 rpc 服务传递数据时,可以使用 headers,但需要注意前缀规则,否则会发现数据传递不过去,或者对方取不到数据。 go-zero 的网关对服务的调用使用了第三方库 grpcurl,入口函数为 InvokeRPC: grpcurl.InvokeRPC(r.Context( ......
网关 go-zero 数据 zero rpc

Golang实现简易的顺序执行协程池

countable_executor.go // 一个可计数的单线程顺序任务执行器 type CountableExecutor struct { name string // 名称 taskQueue chan iCountableTask // 任务队列 bufferSize int // 缓冲 ......
简易 顺序 Golang

是谁的简历上全是秒杀商城和RPC啊?

是不是还在苦于自己简历上的项目离不开商城、RPC、秒杀、论坛、外卖、点评等等烂大街的项目?是不是翻遍全网再很难找到一个既有含金量又能看得懂的项目?那么现在就不用找了,下面这个项目一定适合你! 高性能短链系统 EZLink! 教程地址:https://itmtx.cn/column/17(或者小🍊序 ......
简历 商城 RPC

golang之泛型

Go 1.18版本增加了对泛型的支持,泛型也是自 Go 语言开源以来所做的最大改变。 泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。ーー换句话说,在编写某些代码或数据结构时先不提供值的类型,而是之后再提供。 泛型是一种独立于所使用的特定类型的 ......
golang

RPC

RPC 是什么? RPC(Remote Procedure Call) 即远程过程调用。 为什么要 RPC ? 因为,两个不同的服务器上的服务提供的方法不在一个内存空间,所以,需要通过网络编程才能传递方法调用所需要的参数。并且,方法调用的结果也需要通过网络编程来接收。但是,如果我们自己手动网络编程来 ......
RPC

golang 生成excel文件,或者结合gin框架返回文件流

package main import ( "errors" "fmt" "github.com/gin-gonic/gin" "github.com/xuri/excelize/v2" ) func ReadExcel(file string, sheet string) ([][]string, ......
文件 框架 golang excel gin

golang按换行符一行一行读取GBK文件

package awesomeProject1 import ( "bufio" "fmt" "github.com/axgle/mahonia" "io" "log" "os" ) func main() { filename := "/tmp/test.txt" readTbkByLine(fi ......
一行 换行符 文件 golang GBK

A sample of JSON RPC service

This is a sample service program which show how to implement a JSON RPC. The RPC service included two functions which used for RSA sign and verify. If ......
service sample JSON RPC of

前后端RPC交互

需求: 系统有WEB端、PC客户端、服务端(微服务架构)组成,WEB端和客户端(跨平台)功能有部分重合,共用一套微服务。Client要求必需使用RPC调用服务,WEB要求使用HTTP调用服务。 实现方案 为提高开发效率,WEB采用Vue开发,Client使用Electron打包。前端采用Thrift ......
RPC

golang的try catch 方式

列子如下 :main.go 1 try.Catch(func(err error) { 2 //异常处理 3 fmt.Println(err) 4 }).Then(func() error { 5 //执行代码 1 6 //... 7 8 //如果有异常即抛出异常 9 return nil 10 } ......
方式 golang catch try

cerbos golang 内部policy check 处理简单说明

主要是想尝试实现一个rust 的check 方法,所以先研究下golang 的内部实现 CheckResources func (cs *CerbosService) CheckResources(ctx context.Context, req *requestv1.CheckResourcesR ......
cerbos golang policy check

Golang(Go语言) 对windows进行注销、关机、重启、闪电关机、闪电重启的操作

有个小项目需要对windows系统进行远程电源操作,于是封装了以下代码方便使用。 目录结构如下: main.go package main import ( "fastshutdown/utils/power" "fmt" ) func main() { err := power.Shutdown( ......
windows 语言 Golang

golang的蓝牙通信库

github.com/tinygo-org/bluetooth: TinyGo是一个Go语言编译器,它专注于微控制器和小型计算机系统。这个库是TinyGo项目的一部分,用于支持蓝牙低功耗(BLE)设备。 github.com/go-ble/ble: 这是一个轻量级的Golang库,旨在简化与蓝牙低功 ......
golang

golang之媒体处理

[视频] 获取视频封面图: 1) 如果是使用oss的话, 可以添加指定的后缀生成指定图片 获取视频长度: 1)若是oss上的视频,则可以使用阿里云的IMM中的提取视频信息的服务 注意这里获取需要使用到签名之后获取对应的数据 这里使用基于阿里云oss包: github.com/aliyun/aliyu ......
媒体 golang

处理golang gin框架下载文件时中文文件名乱码问题

func Download(c *gin.Context) { c.Writer.WriteHeader(http.StatusOK) //设置文件类型 c.Header("Content-Type", "application/vnd.ms-excel;charset=utf8") // Path ......
文件 乱码 文件名 框架 golang

go-carbon v2.2.14 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装 ......
轻量 轻量级 语义 开发者 go-carbon

Связь между протоколами HTTP и RPC

HTTP (протокол передачи гипертекста) и RPC (удаленный вызов процедур) — это протоколы, используемые для связи между компьютерами, но они имеют разные ......
HTTP RPC

Golang使用kcp

安装 go get -u github.com/xtaci/kcp-go import ( "fmt" "github.com/xtaci/kcp-go" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" "net" ) // KCP 服务器 func ......
Golang kcp

NFS服务及RPC协议

NFS服务及RPC协议 FTP和NFS的区别 文件系统类型 FTP是一种基于客户端-服务器的协议,用于文件传输。NFS则是一种分布式文件系统协议,作为本地操作系统和远程文件系统之间的桥梁,可以实现跨平台文件共享。 传输速度和效率 由于FTP是基于客户端-服务器的协议,所以需要进行连接的建立和关闭,因 ......
NFS RPC

Golang中如何自定义时间类型进行xml、json的序列化/反序列化

在日常开发工作中,我们进行会遇到将 struct 序列化 json字符串以及将 json字符串 反序列化为 struct 的场景,大家也对此十分熟悉。 最近工作中,遇到了需要将 struct 序列化 xml字符串以及将 xml字符串 反序列化为 struct 的场景,对于普通类型的字段,比如int、 ......
序列 类型 时间 Golang json

Golang学习笔记-定时任务

指定具体时间执行 package main import ( "fmt" "time" ) func main() { // 指定执行时间为 2023-11-29 00:00:00 executionTime := time.Date(2023, time.November, 29, 0, 0, 0 ......
任务 笔记 Golang

golang http请求 tcp连接没有关闭

参考链接 https://studygolang.com/articles/3138 func dialTimeout(network, addr string) (net.Conn, error) { return net.DialTimeout(network, addr, time.Secon ......
golang http tcp

Golang-常见数据结构实现原理

chan 1.chan数据结构 src/runtime/chan.go:hchan定义了channel的数据结构: type hchan struct { qcount uint // 当前队列中剩余元素个数 dataqsiz uint // 环形队列长度,即可以存放的元素个数 buf unsafe ......
数据结构 原理 常见 结构 数据

Golang - context.TODO()和context.Background()的区别

context.Background():上下文的默认值(创建上下文的默认起点),这个函数返回一个空context,返回值就是根节点,这只能用于最高等级(在main函数、初始化或顶级请求处理中),因为所有其他的上下文都应该从它衍生(Derived)出来 context.TODO():通常用作占位符或 ......
context Background Golang TODO

打包Golang并在Android环境下运行

实践: 1、 打包Golang并在Android环境下运行-CSDN博客 https://blog.csdn.net/lszy24/article/details/78948130 翻译 搜索 复制 ......
Android 环境 Golang

实现一个简易的golang版本的CompletetableFuture

背景 将入侵4.0 java代码迁移到入侵5.0 golang项目时,有些并行处理的功能用到了java的CompletetableFuture框架,但是golang中好像没有类似的框架(可能我没有找到),所以打算手动写一个简易的golang版本的CompletetableFuture。 在入侵jav ......
CompletetableFuture 简易 版本 golang