「连载二」Hello World

这节将开始编写一个复杂的Hello World,涉及到许多的知识,建议大家认真思考其中的概念 需求 由于本实践偏向Grpc+Grpc Gateway的方面,我们的需求是同一个服务端支持Rpc和Restful Api,那么就意味着http2、TLS等等的应用,功能方面就是一个服务端能够接受来……

阅读全文

「连载一」gRPC介绍与环境安装

假定我们有一个项目需求,希望用Rpc作为内部API的通讯,同时也想对外提供Restful Api,写两套又太繁琐不符合 于是我们想到了Grpc以及Grpc Gateway,这就是我们所需要的 准备环节 在正式开始我们的Grpc+Grpc Gateway实践前,我们需要先配置好我们的开发环境 Grpc……

阅读全文

「连载六」编写一个简单的文件日志

涉及知识点 自定义 log。 本文目标 在上一节中,我们解决了 API’s 可以任意访问的问题,那么我们现在还有一个问题,就是我们的日志,都是输出到控制台上的,这显然对于一个项目来说是不合理的,因此我们这一节简单封装log库,使其支持简单的文件日志! 新建logging包 我们在pkg下新建loggin……

阅读全文

「连载五」使用 JWT 进行身份校验

涉及知识点 JWT 本文目标 在前面几节中,我们已经基本的完成了 API’s 的编写,但是,还存在一些非常严重的问题,例如,我们现在的 API 是可以随意调用的,这显然还不安全全,在本文中我们通过 jwt-go (GoDoc)的方式来简单解决这个问题。 下载依赖包 首先,我们下载 jwt-go 的依赖包,如下: go get -u github.com/dgrijalva/jwt-go 编写 jwt 工具包 我们需要编……

阅读全文

「连载四」Gin搭建Blog API's (三)

涉及知识点 Gin:Golang 的一个微框架,性能极佳。 beego-validation:本节采用的 beego 的表单验证库,中文文档。 gorm,对开发人员友好的 ORM 框架,英文文档 com,一个小而美的工具包。 本文目标 完成博客的文章类接口定义和编写 定义接口 本节编写文章的逻辑,我们定义一下接口吧!……

阅读全文

「连载三」Gin搭建Blog API's (二)

涉及知识点 Gin:Golang 的一个微框架,性能极佳。 beego-validation:本节采用的 beego 的表单验证库,中文文档。 gorm,对开发人员友好的 ORM 框架,英文文档 com,一个小而美的工具包。 本文目标 完成博客的标签类接口定义和编写 定义接口 本节正是编写标签的逻辑,我们想一想,一般……

阅读全文

「连载二」Gin搭建Blog API's (一)

思考 首先,在一个初始项目开始前,大家都要思考一下 程序的文本配置写在代码中,好吗? API 的错误码硬编码在程序中,合适吗? db 句柄谁都去Open,没有统一管理,好吗? 获取分页等公共参数,谁都自己写一套逻辑,好吗? 显然在较正规的项目中,这些问题的答案都是不可以,为了解决这些问题,我们挑选一款……

阅读全文

「连载一」Go 介绍与环境安装

本文目标 学会安装 Go。 知道什么是 Go。 知道什么是 Go modules。 了解 Go modules 的小历史。 学会简单的使用 Go modules。 了解 Gin,并简单跑起一个 Demo。 准备环节 安装 Go Centos 首先,根据对应的操作系统选择安装包 下载,在这里我使用的是 Centos 64 位系统,如下: 1 2 3 4 5 $ wget https://studygolang.com/dl/golang/go1.13.1.linux-amd64.tar.gz $ tar -zxvf go1.13.1.linux-amd64.tar.gz $ mv go/ /usr/local/ 配置 /etc/profile……

阅读全文