Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务:第二篇(内附开发 demo)

系列云原生 API 网关,gRPC-Gateway V2 初探Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务:第一篇鉴权微服务数据持久化使用 Docker 快速本地搭建 MongoDB 4.4.5 环境拉取镜像docker pull mongo:4.4.5 # .... # Digest: sha256:67018ee2847d8c35e8c7aeba629795d091f93c93e23d3d60741fde74ed6858c4 # Status: Imag...阅读全文

51CTO博客 2021-04-15 10:52:34 mb6077a82612db2

Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务(三):RSA(RS512) 签名 JWT(附demo)

系列云原生 API 网关,gRPC-Gateway V2 初探Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务:第一篇Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务:第二篇JWT & RS512JWT 与 RSA 详解,这里就不科普了。Google 一下,太多文章介绍了。我们进入官网:https://jwt.io/我们这里看图说话,注意 Decoded 部分:HEADER:ALGORITHM & TOKEN TYPEPAYLO...阅读全文

51CTO博客 2021-04-15 10:51:40 mb6077a82612db2

go微服务框架kratos学习笔记二(kratos demo 结构)

本章来看看demo项目的整体结构。目录结构├─api # 对外接口 ├─cmd # main ├─configs # 配置 ├─internal │ ├─dao #数据访问 │ ├─di #依赖注入 │ ├─model #业务结构体的声明 │ ├─server #grpc、http初始化 │ │ ├─grpc │ │ └─http │ └─service #业务逻辑处理 └─test官方文档解释├── CHANGELOG.md ├── OWNERS ├── README.md ├── api #...阅读全文

51CTO博客 2021-04-15 10:48:00 独孤一笑

零基础应该选择学习 java、php、前端 还是 python?

十年Java老鸟 威哥 作为一个十年以上的程序员老鸟,我不会去直接回答应该选择哪个,选择的权利永远是你自己,只是在选择的思考上要去多了解行业,市场,以及结合自己的情况,做出最适合自己的选择,我的选择不等于你就要选择,每个人都一样,所以,如果你愿意花5分钟读完以下内容,也许你能找到自己的答案。 软件开发的过程 零基础小白,我认为先要了解一下软件开发的过程,这是一个工程问题,就有分工合作,都有哪些必需的岗位,这些岗位的发展路线是怎样的,了解了这些可以帮助你更好的选择。 首先一个项目拿下后,完成概要设...阅读全文

简书 2021-04-15 11:33:41 威哥爱编程

go语言入门教程04 变量

常量定义 在程序运行过程中,其值无法改变的量,称为常量,存放于内存的数据区。常量以及变量是每一门语言基本都会遇到的,所以更加深入的学习常量变量就是重中之重了。下面一起来看看吧!变量是什么变量指定了某存储单元(Memory Location)的名称,该存储单元会存储特定类型的值。在 Go 中,有多种语法用于声明变量。声明单个变量var name type 是声明单个变量的语法。package mainimport "fmt"func main() { var age int // 变量声明 fmt...阅读全文

简书 2021-04-15 11:32:54 上海老男孩教育

手撸golang 仿spring ioc/aop 之6 扫码1

手撸golang 仿spring ioc/aop 之6 扫码1 缘起 最近阅读 [Spring Boot技术内幕: 架构设计与实现原理] (朱智胜 , 2020.6) 本系列笔记拟采用golang练习之 Talk is cheap, show me the code. Spring Spring的主要特性: 1. 控制反转(Inversion of Control, IoC) 2. 面向容器 3. 面向切面(AspectOriented Programming, AOP) 源码gitee地址: ...阅读全文

简书 2021-04-15 11:32:54 老罗话编程

go grpc入门

为什么还要写入门文章,因为按照网上教的,过程还是有问题,一方面是protobuf升级了,一方面是自己电脑go的环境配置不同,所以还是记录一下。 先下载protobuf https://github.com/protocolbuffers/protobuf/releases/tag/v3.15.8 我是win10, 下载的是protoc-3.15.8-win64 解压,把bin目录加入Path环境变量 检查自己的go环境变量,比如GOPATH是哪个目录,有没有开启GO111MODULE 完整的环境...阅读全文

简书 2021-04-15 11:32:53 xiaohuasheng

Gin源码学习

1.request数据是如何流转的? 直接使用net/http,ListenAndServe 开启监听,把handleFunc添加到默认服务路由表DefaultServeMux中,来处理http请求 func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello World")) }) if err := http.ListenAndServe(":80...阅读全文

简书 2021-04-15 11:32:53 WAMiii

2021-04-14:判断二叉树是否是满二叉树?

2021-04-14:判断二叉树是否是满二叉树? 福大大 答案2021-04-14: 网上查到的答案,一般会计算树的高度。我的答案不需要计算树的高度,至于是否准确,不得而知。 1.左子节点满。 2.右子节点满。 3.左右子节点的数量相等。 采用递归即可。 代码用golang编写。代码如下: package main import "fmt" func main() { head := &TreeNode{Val: 5} head.Left = &TreeNode{Val: 3} head.Rig...阅读全文

简书 2021-04-15 11:32:45 福大大架构师每日一题

Golang InfluxDB 基础入门

InfluxDB 入门 InfluxDB是一个主要用于存储和分析时间序列数据的开源数据库 主要特性 内置HTTP接口,使用方便 数据可以打标记,这样查询可以很灵活 类SQL的查询语句 安装管理很简单,并且读写数据很高效 能够实时查询,数据在写入时被索引后就能够被立即查出 在最新的DB-ENGINES给出的时间序列数据库的排名中,InfluxDB高居第一位,可以预见,InfluxDB会越来越得到广泛的使用。 对常见关系型数据库(MySQL)的基础概念对比 概念 MySQL InfluxDB 数据库...阅读全文

简书 2021-04-15 11:32:31 我是不会赢的

golang学习资料汇总

汇集学习golang过程中的参考资料,希望能帮助到需要的人。 作为云原生应用时代的C语言,有必要了解、掌握go语言的基础知识。 花费几天时间,学习一下入门视频课程,入门足够了。以下是本人学习时搜集的参考资料,更多实践请参考开源项目进行研究。golang知识结构图入门视频无闻教学视频go-web开发开源项目golang-webbeegodockerkubernetesharborelk-beats相关书籍https://studygolang.com/books学习资料在线练习常见陷井入门避坑汇总...阅读全文

51CTO博客 2021-04-15 08:58:13 feiyingw

基于Golang的加密货币挖矿恶意软件***活动

基于Golang的加密货币挖矿恶意软件***活动原创 ang010ela 嘶吼专业版 2019-08-18Golang也称Go,是一种开源的编程语言。Trend Micro研究人员在分析6月的一起***活动时发现该语言被用于传播加密货币挖矿机。该***活动中使用的传播器可以扫描运行着有漏洞软件的机器来进行传播。该***活动的***链如下:图1. ***感染链技术细节基于Golang的传播器恶意软件会寻找多个***入口来将恶意软件传播到其他的系统中。在该***活动中,***者使用了常用的SSH服务...阅读全文

51CTO博客 2021-04-14 23:03:57 mob604756ebed9f

go语言入门-1 环境搭建

下载 go1.11.1.darwin-amd64.pkg按照提示一路点击下去 测试是否安装成功,出现如下字样表示安装成功zmedu:~ mac$ go version go version go1.12.5 darwin/amd64默认的安装目录:/usr/local/go 默认添加 /usr/local/go/bin 到 PATH 环境变量中(mac 的环境变量默认配置在 /etc/paths.d/ 文件夹下)zmedu:~ mac$ cat /etc/paths.d/go /usr/loca...阅读全文

51CTO博客 2021-04-14 19:30:05 互联网老辛

go入门-1 变量

var 声明一个或者多个变量 你可以一次申明多个变量 go自动推断已经初始化的类型zmedu:~ mac$ cat fds.go package main import "fmt" func main(){ var a string = "inital" fmt.Println(a) var b,c int = 1,2 fmt.Println(b,c) var d = true fmt.Println(d) var e int fmt.Println(e) f := "short" fmt.Pr...阅读全文

51CTO博客 2021-04-14 19:29:41 互联网老辛

10天入门go语言教程- 常量变量

转载请注明来源"老男孩IT教育"来源网址:https://www.sholdboyedu.com/new/463.html常量定义 在程序运行过程中,其值无法改变的量,称为常量,存放于内存的数据区。常量以及变量是每一门语言基本都会遇到的,所以更加深入的学习常量变量就是重中之重了。下面一起来看看吧!变量是什么变量指定了某存储单元(Memory Location)的名称,该存储单元会存储特定类型的值。在 Go 中,有多种语法用于声明变量。声明单个变量var name type 是声明单个变量的语法。...阅读全文

51CTO博客 2021-04-14 17:49:24 上海老男孩教育

10天入门go语言教程- 常量变量

转载请注明来源"老男孩IT教育"来源网址:https://www.sholdboyedu.com/new/463.html常量定义 在程序运行过程中,其值无法改变的量,称为常量,存放于内存的数据区。常量以及变量是每一门语言基本都会遇到的,所以更加深入的学习常量变量就是重中之重了。下面一起来看看吧!变量是什么变量指定了某存储单元(Memory Location)的名称,该存储单元会存储特定类型的值。在 Go 中,有多种语法用于声明变量。声明单个变量var name type 是声明单个变量的语法。...阅读全文

51CTO博客 2021-04-14 17:49:20 上海老男孩教育

Golang 分布式系统

一、分布式 id 生成器 在高并发场景中,通常需要类似 MySQL 自增 id 一样不断增长且不会重复的 id。 比如某电商双 11 时,在 0:00 开始,会有千万到亿级的订单涌入,每秒要处理 10w+ 的订单。在将订单插入数据库前,我们需要给订单一个唯一的 id 再插入数据库内。也正因为订单量大,一个无意义的纯数字 id 在对数据库进行增删改查时不能起到优化作用。此 id 内应该包含一些时间信息,这样即使后端的系统对消息进行了分库分表,也能够以时间顺序对这些消息进行排序。 Twitter 的...阅读全文

简书 2021-04-14 16:37:11 thepoy

HTTP CONNECT

Web开发中可采用HTTP中的GET、POST、HEAD、CONNECT等方式发送请求等待响应来操作指定的资源。 HTTP请求方法 描述 GET 向指定资源请求数据 POST 向指定资源提交要被处理的数据 PUT 上传指定的URI表示 DELETE 移除指定的资源,请求服务器删除Request-URI所标识的资源。 HEAD 与GET相同但仅返回HTTP报头不返回主体 CONNECT 将连接改为管道方式的代理服务器,用于SSL加密服务器的连接。 OPTIONS 使服务器传回资源所支持的所有HTT...阅读全文

简书 2021-04-14 16:37:10 JunChow520