上一页 1 2 3 4 5 6 ··· 11 下一页

2021年1月6日

grpc 拦截器【 go 和 asp.net core的实现】

摘要: 在 asp.ner core 5.0 Grpc HttpApi 和jwt的集成 和跨域【https双向认证】和 Go Grpc Jwt身份认证和Gateway集成以及HTTPS双向认证 我们 获取用户名都是通过方法的,在这里我们来用拦截器实现一下。 GO 大类可分为两种 RPC 方法,与拦截器的对应 阅读全文

posted @ 2021-01-06 17:05 dz45693 阅读(2240) 评论(0) 推荐(0) 编辑

asp.ner core 5.0 Grpc HttpApi 和jwt的集成 和跨域【https双向认证】

摘要: 书接上文 Go Grpc Jwt身份认证和Gateway集成以及HTTPS双向认证, 那么它在asp.net core 里面怎么实现了, 前面asp.ner core 5.0 Grpc双向认证 和 restful api包装 外加swagger启用【VSCode创建】已经完成了大部分, 我们只要引入 阅读全文

posted @ 2021-01-06 14:12 dz45693 阅读(1949) 评论(0) 推荐(0) 编辑

2021年1月5日

gRPC流模式的实现和TLS加密通信[Go和asp.net core 5.0]

摘要: gRPC主要有4种请求和响应模式,分别是简单模式(Simple RPC)、服务端流式(Server-side streaming RPC)、客户端流式(Client-side streaming RPC)、和双向流式(Bidirectional streaming RPC)。 1.简单模式(Simp 阅读全文

posted @ 2021-01-05 17:34 dz45693 阅读(2303) 评论(0) 推荐(0) 编辑

Go Grpc Jwt身份认证和Gateway集成以及HTTPS双向认证

摘要: 书接上文 Go Grpc Jwt身份认证 ,本文我们尝试把gateway也加进来,有关gatewa大家可以参考 go学习笔记 grpc-gateway和swagger。直接开干吧 Grpc Jwt GateWay的集成【包含跨域问题的解决】 1.修改api/api.proto文件 syntax = 阅读全文

posted @ 2021-01-05 13:56 dz45693 阅读(3164) 评论(0) 推荐(0) 编辑

2021年1月4日

Go Grpc Jwt身份认证

摘要: 在 http 请求当中我们可以设置 header 用来传递数据,grpc 底层采用 http2 协议也是支持传递数据的,采用的是 metadata。 Metadata 对于 gRPC 本身来说透明, 它使得 client 和 server 能为对方提供本次调用的信息。就像一次 http 请求的 Re 阅读全文

posted @ 2021-01-04 15:21 dz45693 阅读(3008) 评论(0) 推荐(0) 编辑

2021年1月3日

asp.ner core 5.0 Grpc双向认证 和 restful api包装 外加swagger启用【VSCode创建】

摘要: 关于grpc 我以前的文章 .Net Core3.0使用gRPC 和IdentityServer4 已经很向详细了, 关于http的双向认证 也已经有了, 大家可以参考 asp.net 5.0 https的双向认证(windows和ubuntu) ,今天主要试一下 在vccode 里面怎么完成全部的 阅读全文

posted @ 2021-01-03 10:27 dz45693 阅读(2230) 评论(1) 推荐(2) 编辑

2021年1月1日

asp.net 5.0 https的双向认证(windows和ubuntu)以及go的调用

摘要: 前几天搞go 的Grpc和http2的双向认证。现在来搞搞。net core 里面是如何实现的 首先需要下载 OpenSSL http://slproweb.com/products/Win32OpenSSL.html windows 证书创建: 一、创建根证书 //生成key文件,输入密码: op 阅读全文

posted @ 2021-01-01 19:34 dz45693 阅读(2163) 评论(0) 推荐(0) 编辑

go学习笔记 beego 的部署【windows 和docker】

摘要: windows下部署 在windows下和linux 下是一样的,windows 用bee pack -beGOOS=window 而linux 用 bee pack -beGOOS=linux -be GOARCH=amd64 ,通过bee创建的项目 默认是开发模式, 所以部署前需要修改 为run 阅读全文

posted @ 2021-01-01 14:57 dz45693 阅读(2314) 评论(0) 推荐(0) 编辑

2020年12月31日

go学习笔记 grpc-gateway和swagger

摘要: 有关GPRC 的创建 大家 请参考 go学习笔记 Windows Go 1.15 以上版本的 GRPC 通信【自签CA和双向认证】,本文同样会用上文创建的证书。【注意我的环境是win7+go1.15.6】 1:将REST注释添加到API定义,我们必须安装grpc-gateway和swagger文档生 阅读全文

posted @ 2020-12-31 21:52 dz45693 阅读(3179) 评论(0) 推荐(0) 编辑

2020年12月30日

go学习笔记 http2.0使用【SAN 和双向认证】以及dotnetcore5.0的调用

摘要: 简单说一下我的环境 win7+go1.15.6,GO1.15 X509 不能用了 ,需要用到SAN证书, 证书 需要用到SAN证书,下面就介绍一下SAN证书生成。首先需要下载 OpenSSL http://slproweb.com/products/Win32OpenSSL.html 第1步:生成 阅读全文

posted @ 2020-12-30 19:13 dz45693 阅读(2538) 评论(0) 推荐(0) 编辑

go学习笔记 Windows Go 1.15 以上版本的 GRPC 通信【自签CA和双向认证】

摘要: 简单说一下我的环境 win7+go1.15.6,GO1.15 X509 不能用了 , 证书 需要用到SAN证书,下面就介绍一下SAN证书生成。首先需要下载 OpenSSL http://slproweb.com/products/Win32OpenSSL.html 第1步:生成 CA 根证书 ope 阅读全文

posted @ 2020-12-30 17:18 dz45693 阅读(1588) 评论(0) 推荐(0) 编辑

Go学习笔记 由数组和切片 引发的值类型和引用类型的思考

摘要: 先看如下代码, 看看运行结果如何: func main() { var c = [3]int{1, 2, 3} //定义一个长度为3的int类型的数组 d := c //将数组c赋值给d d[1] = 100 //修改数组d中索引为1的值为100 fmt.Printf("c的值是%v,c的内存地址是 阅读全文

posted @ 2020-12-30 10:02 dz45693 阅读(1346) 评论(0) 推荐(0) 编辑

2020年12月29日

golang 使用pprof和go-torch做性能分析

摘要: 软件开发过程中,项目上线并不是终点。上线后,还要对程序的取样分析运行情况,并重构现有的功能,让程序执行更高效更稳写。 golang的工具包内自带pprof功能,使找出程序中占内存和CPU较多的部分功能方便了不少。加上uber的火焰图,可视化显示,让我们在分析程序时更简单明了。pprof有两个包用来分 阅读全文

posted @ 2020-12-29 18:10 dz45693 阅读(1437) 评论(0) 推荐(0) 编辑

2020年12月28日

go学习笔记 禁止拷贝noCopy

摘要: go中的copy,一般习惯来讲都是值拷贝,但是这种拷贝存在的问题是锁对象的“失效”,Go中没有原生的禁止拷贝的方式,所以如果有的结构体,你希望使用者无法拷贝,只能指针传递保证全局唯一的话,可以这么干,定义 一个结构体叫 noCopy ,要实现 sync.Locker 这个接口[我也是看锁的源码 里面 阅读全文

posted @ 2020-12-28 18:54 dz45693 阅读(1233) 评论(0) 推荐(0) 编辑

go学习笔记 sync/Cond源码

摘要: ond需要指定一个Locker,通常是一个*Mutex或*RWMutex。 func (c *Cond) Broadcast() 和 func (c *Cond) Signal() 唤醒因wait condition而挂起goroutine,区别是Signal只唤醒一个,而Broadcast唤醒所有 阅读全文

posted @ 2020-12-28 16:23 dz45693 阅读(1195) 评论(0) 推荐(0) 编辑

go学习笔记 sync/once源码 和 sync/WaitGroup源码

摘要: sync.Once.Do(f func())是一个挺有趣的东西,能保证once只执行一次,无论你是否更换once.Do(xx)这里的方法,这个sync.Once块只会执行一次。 package sync import ( "sync/atomic" ) // Once is an object th 阅读全文

posted @ 2020-12-28 14:43 dz45693 阅读(1161) 评论(0) 推荐(0) 编辑

go学习笔记 sync/RWMutex源码

摘要: RWMutex是一个读写锁,该锁可以加多个读锁或者一个写锁,其经常用于读次数远远多于写次数的场景.func (rw *RWMutex) Lock() 写锁,如果在添加写锁之前已经有其他的读锁和写锁,则lock就会阻塞直到该锁可用,为确保该锁最终可用,已阻塞的 Lock 调用会从获得的锁中排除新的读取 阅读全文

posted @ 2020-12-28 13:47 dz45693 阅读(1114) 评论(0) 推荐(0) 编辑

go学习笔记 sync/mutex源码

摘要: Mutex 是一个互斥锁,可以创建为其他结构体的字段;零值为解锁状态。Mutex 类型的锁和线程无关,可以由不同的线程加锁和解锁。 在一个goroutine获得 Mutex 后,其他goroutine只能等到这个goroutine释放该Mutex使用Lock() 加锁后,不能再继续对其加锁,直到利用 阅读全文

posted @ 2020-12-28 11:38 dz45693 阅读(1132) 评论(0) 推荐(0) 编辑

go学习笔记 Go的sync.Pool源码

摘要: Pool介绍# 总所周知Go 是一个自动垃圾回收的编程语言,采用三色并发标记算法标记对象并回收。如果你想使用 Go 开发一个高性能的应用程序的话,就必须考虑垃圾回收给性能带来的影响。因为Go 在垃圾回收的时候会有一个STW(stop-the-world,程序暂停)的时间,并且如果对象太多,做标记也需 阅读全文

posted @ 2020-12-28 09:50 dz45693 阅读(1210) 评论(0) 推荐(0) 编辑

2020年12月25日

go CBC 加密【AES 和DES的运用】

摘要: 关于AES cbc的加密 在go AES 加密 和解密已经调到了, 这次主要涉及的内同时cbc 和ecb,刚好网上也有相应的说明, 我就一起整理一下 DES是以64比特的明文为一个单位来进行加密,并生成64比特的密文。由于它每次只能处理特定长度的一块数据,所以DES属于分组密码算法。cypto/de 阅读全文

posted @ 2020-12-25 20:40 dz45693 阅读(2934) 评论(0) 推荐(0) 编辑

使用Redis的SET实现锁机制【C# &Go&Python实现】

摘要: 其实网上正确地使用Redis的SETNX实现锁机制 和 高并发1-Redis分布式锁setnx,setex连用 说的都对,只是现在的redis做了很多优化比如现在的Set 指令如下 set key value [EX seconds] [PX milliseconds] [NX|XX] EX sec 阅读全文

posted @ 2020-12-25 17:23 dz45693 阅读(1486) 评论(0) 推荐(0) 编辑

2020年12月24日

go activeMQ的简单封装

摘要: 虽然个人也不怎么推荐activeMQ, 只是由于项目需要, 所以也做一个简单的整理, 在订阅的时候 ,一般我们的业务都是处理字符串,但有时候AckMode 设置为AckAuto不可以,客服端处理完业务后在发回确认,所以订阅封装了2个方法 utils.go如下: //Usage: // // //Se 阅读全文

posted @ 2020-12-24 18:34 dz45693 阅读(1395) 评论(0) 推荐(0) 编辑

dotnetcore5.0 session redis 使用 是否有阻塞

摘要: 今天来尝试一下dotnetcore5.0 的session redis的用法, 顺便看看你是否有阻塞,在我以前的文章 你的项目真的需要Session吗?redis保存session性能怎么样? 和 asp.net mvc Session RedisSessionStateProvider锁的实现 有 阅读全文

posted @ 2020-12-24 08:43 dz45693 阅读(1207) 评论(0) 推荐(0) 编辑

2020年12月23日

beego Session redis源码解读

摘要: 在文章beego Session redis存储以及是否阻塞 我们说到session 是无阻塞的,session的接口对用户来说是一个字典(C# diction, Go是map), 存储所有的ssion也是一个字典(类似于C# Dictionary<string【sessionid 用于区分用户】, 阅读全文

posted @ 2020-12-23 20:27 dz45693 阅读(1241) 评论(0) 推荐(0) 编辑

go的字符操作strings和strconv

摘要: 在任何语言中字符串操作都是非常频繁的,那么go中主要用strings和strconv, 他们的主要api有哪些了 strings strings.HasPrefix(s string, prefix string) bool:判断字符串s是否以prefix开头 。 strings.HasSuffix 阅读全文

posted @ 2020-12-23 13:28 dz45693 阅读(1167) 评论(0) 推荐(0) 编辑

在VS Code中配置GO开发环境并调试

摘要: 1.安装Go 和VScode, 2.配置环境变量GOPATH 确保go root 和go path在系统变量path里面 ​ 3.VScode设置goroot 和gopath 下载一些必要的包 由于网络原因请设置代理 go env -w GO111MODULE=on go env -w GOPROX 阅读全文

posted @ 2020-12-23 11:48 dz45693 阅读(4767) 评论(0) 推荐(0) 编辑

go文件操作实践[读写zip tar xlsx文件]

摘要: 这篇我接着实践zip,tar和xlsx文件的读写操作。简单介绍一下 tar吧: tar 是一种打包格式,但不对文件进行压缩,所以打包后的文档一般远远大于 zip 和 tar.gz,因为不需要压缩的原因,所以打包的速度是非常快的,打包时 CPU 占用率也很低。tar 的目的在于方便文件的管理,比如在我 阅读全文

posted @ 2020-12-23 10:30 dz45693 阅读(1251) 评论(0) 推荐(0) 编辑

2020年12月22日

go 文件操作实践[读写json xlm gob txt]

摘要: go常用操作文件有json,xml, gob 和txt,一般json,xml, gob 都是全部操作 很少修改一个部分快的内容, 所以一般采用 编码、解码实现,txt可能有追加所以相对难一点。 说说自己遇到的坑 1.验证文件或者目录是否存在 // 检查文件或目录是否存在 // 如果由 filenam 阅读全文

posted @ 2020-12-22 20:29 dz45693 阅读(1154) 评论(0) 推荐(0) 编辑

go inject 实践

摘要: nject 是依赖注入的Go语言实现,它能在运行时注入参数,调用方法,是 Martini 框架(Go语言中著名的 Web 框架)的基础核心。 demo1: package main import ( "fmt" "github.com/codegangsta/inject" ) type S1 in 阅读全文

posted @ 2020-12-22 17:03 dz45693 阅读(1213) 评论(0) 推荐(0) 编辑

go的反射reflect

摘要: 我们项目中反射一般是在特定场合获取对象的信息, 然后动态调用对象方法 或者修改对象的属性,但是go里面还有指针【地址】一说法, 来看看是怎么用的 package main import ( "fmt" "reflect" ) func main() { var x float64 = 3.4 p : 阅读全文

posted @ 2020-12-22 15:13 dz45693 阅读(1079) 评论(0) 推荐(0) 编辑

go goroutine channel 和C# Task BlockingCollection 以及python该如何实现

摘要: 首先说结论吧,个人感觉go的goroutine 和C# 的Task 相似,goroutine 和Task 可以近似理解为逻辑线程, 至于多个goroutine 或Task 对应操作系统几个物理线程 是底层决定的,我们可以不用太关心;但是一定是多对多【这个我们可以简单理解多对一, 一个或多个gorou 阅读全文

posted @ 2020-12-22 11:12 dz45693 阅读(1186) 评论(0) 推荐(0) 编辑

2020年12月20日

beego redis作为缓存

摘要: 用redis来作为cach其实官网已经很详细了https://beego.me/docs/module/cache.md,只是我一般喜欢封装成通用方法直接上代码吧 redis.go作为通用工具类: package redis import ( "fmt" "time" "github.com/ast 阅读全文

posted @ 2020-12-20 17:12 dz45693 阅读(2373) 评论(0) 推荐(0) 编辑

beego Session redis存储以及是否阻塞

摘要: 其实官网的讲解已经很详细了, 我这里只是演练一下,https://beego.me/docs/mvc/controller/session.md;分两部分1, 是redis session的使用,2是看看redis session 是否和其他语言一样 都阻塞 使用 1.首先需要在配置文件app.co 阅读全文

posted @ 2020-12-20 15:30 dz45693 阅读(1392) 评论(0) 推荐(0) 编辑

Beego generate自动生成代码 以及注解路由 @router

摘要: .使用bee generate 自动生成代码 bee generate scaffold user -fields="id:int64,name:string,gender:int,age:int" -driver=mysql -conn="root:123456@tcp(127.0.0.1:330 阅读全文

posted @ 2020-12-20 15:24 dz45693 阅读(2993) 评论(0) 推荐(0) 编辑

bee go用base64Captcha生成base64的验证码

摘要: 废话不多说 直接 上代码:login.go package controllers import ( "fmt" "strings" "github.com/astaxie/beego" "github.com/mojocn/base64Captcha" ) var store = base64Ca 阅读全文

posted @ 2020-12-20 15:17 dz45693 阅读(2024) 评论(0) 推荐(0) 编辑

go rsa加密和解密 签名和验证

摘要: 网上关于rsa的用法很多,尤其是 https://cloud.tencent.com/developer/section/1140761,但是上面的例子不全面 package utils import ( "bytes" "crypto" "crypto/rand" "crypto/rsa" "cr 阅读全文

posted @ 2020-12-20 15:15 dz45693 阅读(2496) 评论(0) 推荐(0) 编辑

go AES 加密 和解密

摘要: 其实网上关于aes加密和解密的文章很多,尤其是 https://cloud.tencent.com/developer/section/1140748, 只是我个人喜欢用字符串形式,所以整理了一下: package utils import ( "crypto/aes" "crypto/cipher 阅读全文

posted @ 2020-12-20 15:14 dz45693 阅读(4131) 评论(0) 推荐(0) 编辑

beego XSRF

摘要: 其实官网的介绍已经很详细了https://beego.me/docs/mvc/controller/xsrf.md, 我这里自己做一个demo来演练一下 srf(跨站请求伪造)防护: 定义:每个用户一个cookie,所有的请求都需要验证这个cookie,如果没有这个cookie,则被认为跨站请求伪造 阅读全文

posted @ 2020-12-20 15:11 dz45693 阅读(1310) 评论(0) 推荐(0) 编辑

2019年12月24日

Docker 简单部署 ElasticSearch【包括集群的搭建】

摘要: 一、ElasticSearch是什么? Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。不过,Elasticsearch不仅仅是Lucene和全文搜索 阅读全文

posted @ 2019-12-24 15:26 dz45693 阅读(2617) 评论(0) 推荐(0) 编辑

2019年10月23日

.Net Core3.0使用gRPC 和IdentityServer4

摘要: gRPC是什么gRPC是可以在任何环境中运行的现代开源高性能RPC框架。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。它也适用于分布式计算的最后一英里,以将设备,移动应用程序和浏览器连接到后端服务。 proto文件用于定义gRPC服务和 阅读全文

posted @ 2019-10-23 13:20 dz45693 阅读(2521) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 11 下一页

导航