golang demo grpc

[golang]使用mTLS双向加密认证http通信

## 前言 假设一个场景,服务端部署在内网,客户端需要通过暴露在公网的nginx与服务端进行通信。为了避免在公网进行 http 明文通信造成的信息泄露,nginx与客户端之间的通信应当使用 https 协议,并且nginx也要验证客户端的身份,也就是mTLS双向加密认证通信。 这条通信链路有三个角色 ......
双向 golang mTLS http

Go / Golang JSON 一些心得

## 自定义序列化和反序列化 可以实现 json.Marshaler 和 json.Unmarshaler 自定义json的序列化和反序列化 ``` type Tags []string func (t Tags) MarshalJSON() ([]byte, error) { return []b ......
心得 Golang JSON Go

golang 实现图片上绘制文字

```golang package main import ( "github.com/golang/freetype" "image" "image/draw" "image/png" "io/ioutil" "log" "os" ) // TextInfo 文字信息 type TextInfo ......
文字 golang 图片

golang之浮点数处理库decimal

decimal库包是用来解决float类型对象之间运算不准确的问题的。所以,如果你想使用decimal库包,你必须先把float类型对象通过decimal.NewFromFloat()函数转成decimal.Decimal类型,然后再计算,最后还得再转成你所需要的类型。 范例: package ma ......
点数 decimal golang

golang之路由库gorilla/mux

gorilla/mux是 gorilla Web 开发工具包中的路由管理库。gorilla Web 开发包是 Go 语言中辅助开发 Web 服务器的工具包。它包括 Web 服务器开发的各个方面, 有表单数据处理包gorilla/schema, 有 websocket 通信包gorilla/webso ......
路由 gorilla golang mux

初识Go(Golang)语言

# 初识Go(Golang)语言 ## Go的诞生 ~~~go 1.Go语言的发展历程 2007 年,谷歌工程师 Rob Pike, Ken Thompson 和 Robert Griesemer 开始设计一门全新的语言,这是Go 语言的最初原型。 2009 年 11 月 10 日,Google 将 ......
语言 Golang Go

[Go笔记] 基础-01: Golang发展简史、著名项目及基本使用

一起了解Go语言的发展史、采用Go语言的知名公司、GO开发工具、环境搭建、 代码结构、代码风格以及如何使用官方库API文档。 ......
简史 基础 笔记 项目 Golang

kafka_demo

参考: 概念:https://zhuanlan.zhihu.com/p/74063251 代码运用:https://zhuanlan.zhihu.com/p/114209326 参考 kafka 在windows 平台的搭建和简单实用_一代键客的博客-CSDN博客,先验证本地是否能使用kafka成功 ......
kafka_demo kafka demo

gRPC Test

[TOC] ghz github:https://github.com/bojand/ghz ghz官方文档:https://ghz.sh/ # 简单使用 下载后解压,将目录配置到path上,方便命令调用: ```bash ghz --insecure --proto xxx\Hello.proto ......
gRPC Test

golang 接口的概念

先上代码 定义一个接口 Retriever 两个接口的实现 infra.go ```go package main import ( "fmt" "robot.com/Robot/learngo/testing" //"robot.com/Robot/learngo/infra" ) // ?: S ......
接口 概念 golang

如何通过gRPC传输文件

在gRPC中,可以通过将文件分割成多个小块,然后使用流式RPC将这些小块发送到服务器来传输文件。以下是一个简单的示例,展示了如何在gRPC中实现文件传输。 首先,我们需要定义一个服务来处理文件传输。在`.proto`文件中,我们可以定义一个`UploadFile`服务,它接收一个流式的`Chunk` ......
文件 gRPC

05服务拆分-案例Demo

下载对应学习资料 准备数据库 ``` docker ps docker exec -it 6d542566d077 /bin/bash psql 'host=localhost port=5432 user=postgres dbname=postgres' create database clou ......
案例 Demo

从一道面试题来谈谈Golang中的 ==

写这篇文章的时候,已经离我找工作有一段时间了,但是觉得这道题不管是面试还是日常的工作中,都会经常遇到,所以还是特意写一篇文章,记录下自己对Golang中`==`的理解。如文章中出现不对的地方,请不吝赐教,谢谢。 > 注意,以下文章内容是基于 go1.16.4 进行演示的,如果和你验证时,结果不一致, ......
一道 Golang

golang之sync包

介绍sync包中常用的方法, - sync:提供基本的同步原语(比如Mutex、RWMutex、Locker)和 工具类(Once、WaitGroup、Cond、Pool、Map) - sync/atomic:提供变量的原子操作(基于硬件指令 compare-and-swap) [Once] [Wa ......
golang sync

gRPC的测试

gRPC(Google remote procedure call)远程过程调用,使不同服务在不同机器上互相调用就像调本地一样方便 但调用方和服务方对应开发不是一个人,出现问题,没法确认是哪方的问题,因此,可以使用BloomRPC工具测试rpc服务是否正常 1、测试工具: BloomRPC,下载地址 ......
gRPC

Golang – gin 框架加载多个模板目录

简介 gin默认是使用text/template,只支持加载一个路径下的模板,而且只取最后的名字,所以有相同文件名字的文件,就有可能加载不到了。 gin.Load html Glob,这个是加载模板目录的,查找模板文件的时候,调用的是filepath.Glob(pattern),patter 设置 ......
框架 多个 模板 目录 Golang

Golang 使用 JSON unmarshal 数字到 interface{} 数字变成 float64 类型

最近在golang业务开发时,遇到一个坑。 我们有个服务,会接收通用的interface对象,然后去给用户发消息。因此会涉及到把各个业务方传递过来的字符串,转成interface对象。 但是因为我的字符串里有一个数字,比如下面demo里的{"number":1234567},而且数字是7位数,在经过 ......
数字 unmarshal interface 类型 Golang

VScode 中golang 基准测试 go test -bench .

目的:基准测试的主要目的是比较不同实现方式之间的性能差异,找出性能瓶颈。 1 准备以_test.go结尾文件和导入testing包 在命名文件时需要让文件必须以_test结尾,在文件中导入testing包。基准测试可以测试一段程序的运行性能及耗费CPU的程度,获得代码内存占用和运行效率的性能数据。G ......
基准 VScode golang bench test

玩一玩Aidlux应用中心demo

玩一玩Aidlux应用中心demo之目标检测 首先,安装aidlux安卓端,登录pc端。 其次,下载桌面examples。 最后,任意选择一个demo文件打开运行,即可得到如下展示效果。 点击下方链接观看视频。 https://link.zhihu.com/?target=https%3A//www ......
Aidlux demo

golang继承多态使用心得

很多人都说用go代替php或者java的最大短板就是写业务太反人类。经过最近的一些使用,发现确实与常见的java或者c++这种有些区别,在这里说明一下。 # go继承多态的现状 ## go没有类的概念 也没有所谓的继承多态。所以按照常规用法开发相应的业务逻辑,确实不适用。 ## go只有struct ......
心得 golang

Qt+GDAL开发笔记(二):在windows系统msvc207x64编译GDAL库、搭建开发环境和基础Demo

前言 上一篇使用mingw32版本的gdal,过程曲折,为更好的更方便搭建环境,在windows上msvc方式对于库比较友好。 大地坐标简介 概述 大地坐标(Geodetic coordinate)是大地测量中以参考椭球面为基准面的坐标,地面点P的位置用大地经度L、大地纬度B和大地高H表示。 原理 ......
GDAL windows 环境 基础 笔记

我用 GPT-4 生成了性能全网第一的 Golang Worker Pool,轻松打败 GitHub 万星项目

目录 1. 我写了一个超牛的开源项目 1.1 你看看这性能 1.2 你看看这功能 1.3 你猜我这一百天都经历了啥 2. 你有多久没写并发程序了? 3. 问:一个 Worker Pool 程序需要包含哪些功能? 4. 让 GPT-4 写第一行代码! 4.1 我对 GPT-4 说 4.2 GPT-4 ......
全网 性能 项目 Golang GitHub

golang用pgx查询数据时如何将查询结果方便的放入Map中

pgx库简介 下面是来自官网的简介: pgx - PostgreSQL驱动和工具包 pgx是一个用于PostgreSQL的纯Go语言驱动和工具包。 pgx驱动是一个底层的高性能接口,暴露了PostgreSQL特有的功能,如LISTEN/NOTIFY和COPY。它还包含一个标准database/sql ......
结果 数据 golang Map pgx

SSLSocket_demo

参考:https://www.jianshu.com/p/7145bd9c8e95 ssl通信过程图解:https://blog.csdn.net/HD243608836/article/details/118708843 keytool各参数含义:java存取密码于keystore文件中_keys ......
SSLSocket_demo SSLSocket demo

Golang反射type和kind有什么区

一、前言 Go语言中的反射是由 reflect 包提供支持的,它定义了两个重要的类型 Type 和 Value 。任意值在反射中都可以理解为由 reflect.Type 和 reflect.Value 两部分组成,并且 reflect 包提供了 reflect.TypeOf 和 reflect.Va ......
Golang type kind

c语言链表demo

```c #include #include // 定义节点结构体 struct node { int data; struct node *next; /* 注意:这行使用了 node, node 必须在这行之前定义 */ }; int main(int argc, const char *arg ......
语言 demo

仅三天,我用 GPT-4 生成了性能全网第一的 Golang Worker Pool,轻松打败 GitHub 万星项目

[TOC] ## 1. 我写了一个超牛的开源项目 激动的心,颤抖的手,我用 [DevChat](https://github.com/devchat-ai/devchat) 白嫖 GPT-4 写下了这辈子写过的最炫酷,最艺术的一千行代码! 我用 Golang 写了一个强大又易用的 Worker Po ......
全网 性能 项目 Golang GitHub

golang json字符串转结构体

1、不知道结构体类型的情况下 func JsonStringToMap(jsonStr string) (map[string]interface{}, error) { //未知值类型 m := make(map[string]interface{}) err := json.Unmarshal( ......
字符串 字符 结构 golang json

Golang基础

# 1、GOLANG概述 ## 1.1 语言特点 ## 1.2 开发工具 ## 1.3 相关文档 - 官方编程指南 - 标准库API文档 # 2、规范的代码风格&注释 ## 2.1 注释&注释风格 ## 2.2 缩进&空白 # 3、编码 # 4、数据类型 ## 4.1 基本数据库类型 1. 变量 2 ......
基础 Golang

golang并发编程

Go 语言是一种支持并发编程的编程语言,它内置了协程(goroutine)和通道(channel)等机制,可以方便地实现并发编程。在 Go 语言中,一个协程是一个独立的工作单元,可以在不同的协程之间进行通信和协作。Go 语言中的并发编程主要使用 go、chan、select 及 sync 库完成同步... ......
golang