摘要: 标准库的RPC默认采用Go语言特有的Gob编码,因此从其他语言调用Go语言实现的RPC服务将比较困难。在互联网的微服务时代,每个RPC以及服务的使用者都可能采用不同的编程语言,因此跨语言是互联网时代RPC的一个首要条件。得益于RPC的框架设计,Go语言的RPC其实也是很容易实现跨语言的。 Go语言的 阅读全文
posted @ 2021-04-04 14:41 pangqianjin 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 在涉及RPC的应用中,作为开发人员一般至少有3种角色:首先是服务器端实现RPC方法的开发人员,其次是客户端调用RPC方法的人员,最后也是最重要的是制定服务器端和客户端RPC接口规范的设计人员。为了简化将以上几种角色的工作全部放到一起,虽然看似实现简单,但是不利于后期的维护和工作的切割。 如果要重构H 阅读全文
posted @ 2021-04-04 13:46 pangqianjin 阅读(399) 评论(0) 推荐(0) 编辑
摘要: Go语言的RPC包的路径为net/rpc,也就是放在了net包目录下面。因此我们可以猜测该RPC包是建立在net包的基础之上的 。 我们首先构造一个HelloService类型,其中的Hello()方法用于实现打印功能: 其中的Hello()方法必须满足Go语言的RPC规则 :方法只能有两个可序列化 阅读全文
posted @ 2021-04-04 13:01 pangqianjin 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 1. 基本概念 一个用例就是与参与者(actor)交互的,并且给参与者提供可观测的有意义的结果的一系列活动的集合。 所谓的用例就是一件事情,要完成这件事情需要做一系列的活动;而做一件事情可以有很多不同的办法和步骤,也可能会遇到各种各样的意外情况,因此这件事情是由很多不同情况的集合构成的,在UML中称 阅读全文
posted @ 2021-03-15 09:51 pangqianjin 阅读(1607) 评论(0) 推荐(0) 编辑
摘要: 1. 基本概念 UML建模是以人为本的,没有人就没有接下来的故事。 参与者(actor)在建模的过程中是处于核心地位的。官方定义为:是在系统之外与系统交互的某人或某事物。 1.1 参与者位于边界之外 主动启动业务的,就是参与者。 1.2 参与者可以非人 当某些需求没有人参与时,需求的启动者即为参与者 阅读全文
posted @ 2021-03-13 15:58 pangqianjin 阅读(1371) 评论(0) 推荐(1) 编辑
摘要: 一、什么是数据库? 数据库(Database,DB)是一个长期储存在计算机内的、有组织的、统一管理的数据集合。 保管数据的仓库 数据管理的方法和技术 二、数据表的概念 数据库表:是一系列二维数组的集合。 横向的行(记录/行) 纵向的列(字段/属性/列) 字段名 学生编号 学生姓名 出生日期 所学专业 阅读全文
posted @ 2021-03-01 15:57 pangqianjin 阅读(2641) 评论(0) 推荐(0) 编辑
摘要: web应用工作原理 具体代码 方式一:使用http.HandleFunc 方式二:使用http.Handle 结果 阅读全文
posted @ 2021-02-24 10:03 pangqianjin 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 一、基本数据类型实现接口 net/http包中的FileSystem接口,其方法被Dir实现,而Dir的原型是一个string 二、结构体实现接口 比如: type Duck interface{ Swim() Quack() } type Person struct{} func (p Perso 阅读全文
posted @ 2021-02-20 09:13 pangqianjin 阅读(1113) 评论(0) 推荐(0) 编辑
摘要: 一、何时使用make和new? 二、make和new的区别 1.new这个内置函数用来分配内存。 第一个参数是类型,而不是值,返回值是指向该类型的新分配的零值(默认值)的指针。例如: 此时指针的内容为nil,不能使用,除非再次指向新的引用,所以意义不大,初始化切片时需要使用make。 2.make这 阅读全文
posted @ 2021-02-18 12:28 pangqianjin 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 不要在循环内部使用defer语句,他可能不会执行 阅读全文
posted @ 2021-02-18 12:21 pangqianjin 阅读(82) 评论(0) 推荐(0) 编辑