一些有意思的类比
此处记录通过类比的方式来记录下计算机方面的相关知识,更加便于理解和记忆。
# TCP 建立连接的三次握手
为什么是三次握手呢?就好比我们打电话时候确认是谁,然后再通话聊天的过程。一般是这三个步骤:
- 喂?我是张三,听得到不? (这一步是第一次握手,客户端向服务端发送信息,即Seq
- 可以听得到!我是李四,你找的是我吗? (第二次握手,服务端向客户端回复,首先对客户端发来的seq回复ack信息,然后再发送自己的seq
- 是的是的,我找的就是你!我跟你说啊,巴拉巴拉... (第三次握手,客户端对服务器的seq信息回复ack,此时客户端已经可以给服务端发送一些信息了,随后可以双方通信
# TCP 的四次挥手
为什么是四次挥手呢?
- A:我挂了啊!
- B:好!等下,我还有个事没说完
- B:好,说完了!我也挂了啊!
- A;挂了挂了!(至此通信中断
# Git 分布式版本控制系统 与 SVN 集中式版本控制系统
Git是分布式版本控制系统当中的一个,是最快、最简单也是最流行的。而SVN是集中式版本控制系统的一个代表。既然是版本控制,都会有版本库。
两者的区别在于,集中式的版本库是集中存放在中央服务器的,在干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活之后,再把自己的活推送给中央服务器。(中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后拿回家改,改完之后再放回图书馆)所以说集中式的最大缺点就是必须联网才能工作。
分布式系统,没有中央服务器说法,版本库在每个人的电脑上。在工作的时候,不需要联网,因为版本库都在每个人电脑。但是很少在两个人之间的电脑上推送版本库的修改,也会有一个充当“中央服务器”的电脑,用来方便大家交换修改。但是没有这个中央服务器,一样可以进行版本控制,只不过是交换修改不太方便。
编辑 (opens new window)
上次更新: 2022/06/16, 10:52:37