-
Go语言基础学习以及学习过程中参考的资料(资料的内容可能有重复,都是互相结合着看的)
-
了解了Go语言基本语法(变量,if,for,switch,基本数据类型,数组,字符串,接口,切片,映射,指针,结构体,包导入和一些关键字的使用),了解GO中的并发,了解了Goroutine 协程、Channel 通道的概念和用法
-
了解了一些基本的go指令(go env,go get, go install,go run,go build)和go mod的使用,以及GOROOT和GOPATH的概念
-
现在存在的一些问题
-
对于一些语法(接口等)仅停留在了解,可读以及基本的使用上,如果复杂了可能就有点懵了
-
对go env后显示的参数了解的不多,只知道GOROOT、GOPATH和GO111MODULE的概念,其他的没有接触也不知道具体用法
-
一些基本知识点记忆不深,容易遗忘(害,我得重复的看GO语法,不然隔天就感觉忘了啥东西,此时就忘了go.mod要怎么创建了【苦笑,先回去看看】)
-
-
Http协议的学习以及学习过程中参考的资料
-
了解了Http的一些报文类型(请求报文,响应报文)和各类型报文的一些基本格式,Http报文中的一些方法,Http的头信息和状态码
-
现在存在的问题
-
只停留在表面理解,不能体会到如何使用,记忆不深
-
gRPC学习以及学习过程中参考的资料
-
了解了远程过程调用(RPC)的概念
-
在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)。RPC是一种服务器-客户端(Client/Server)模式,经典实现是一个通过发送请求-接受回应进行信息交互的系统。(来自wiki)
-
以我理解就是在本地计算机(客户端)上调用,在另一台计算机(服务器)上执行调用的过程,在通过一些协议将运行结果传回本地计算机(客户端)
-
gRPC使用了Http/2作为传输协议,使用Proto Buffers作为接口描述语言
-
-
了解了protobuf3的一些基本语法(定义发送请求消息,定义响应消息,定义服务)
-
了解了gRPC的4种请求和响应模式和其他基本概念
-
简单模式
-
服务端流模式
-
客户端流模式
-
双向流模式
-
参考资料
-
-
通过Go gRPC教程中的源码实现了一个简单的gRPC机制
-
-
在将.proto文件转换成.go文件时出现了问题,我查了老久才找到要怎么解决这个问题,链接
-
现在还存在的问题
-
这部分代码难度明显提升了,看一些服务端创建,客户端创建的代码有些费劲
-
只能用别人的源码进行简单的修改以达到能在本地实现服务端和客户端调用的过程,自己要想写个的话,还得在花一段时间的学习
-
分布式架构的理解
-
了解了分布式和集群的区别,还有负载均衡的概念
前后端分离架构的理解
-
参考资料