《码农翻身》读书笔记
花了一天时间翻完了《码农翻身》(跳过了Java部分)。生动有趣的书看起来就是舒服,竟有引人入胜、手不释卷的感觉,一不小心就翻完了。是一本很好的入门科普读物,开阔技术视野。
下面是书中的摘抄和笔记
线程
- 不知道什么时候会被挑中执行
- 在执行的过程中随时可能被打断,让出CPU
- 一旦出现硬盘、数据库这样耗时的操作,也得让出CPU
- 数据来了,也不一定马上执行,还得等着被CPU挑选
三次握手
TCP/IP之大明内阁
TCP/IP之蓟辽督师
TCP/IP 之 大明王朝邮差
发送的信息被拆分成小包裹,编上序号,打乱顺序后发送,由服务端发送,客户端接收,接收后返回确认接收信息。如果一定时间内没有收到确认信息,则代表信息丢失(可能是发出的包裹丢失,也可能是返回的确认信息丢失),重新发送该包裹。全部接收完成后按照序号重新组装成完整信息。
HTTPS
这里面讲HTTPS讲的非常好,通俗易懂有趣。
bill的公钥及身份信息通过HTTPS传输给CA服务器,并生成数字证书。
验证完证书后,除了对称秘钥是用非对称加密传输,其他请求都使用对称加密通信。
如何确保CA公钥的安全
CA本身也有证书来证明自己的身份,并且CA的信用是像树一样分级的,高层的CA给底层的CA做信用背书,而操作系统/浏览器中会内置一些顶层的CA的证书,相当于你自动信任了他们。 这些顶层的CA证书一定得安全地放入操作系统/浏览器当中,否则世界大乱。
OTHER
单点登录也讲得妙趣横生
第三方授权,接入微信服务会经常用到。
端口号
为了区分同一台服务器的不同进程。
进程号是动态的,如果服务器端的进程重启了,进程号就变了。端口号就是从来标识服务器端的进程。
老司机的忠告
- 凡事必先骑虎上背
- 局部性原理
(1)时间局部性:如果程序中的某条指令一旦执行,则不久之后该条指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。
(2)空间局部性:是指一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也将被访问。 - 抽象是计算机科学中极为重要的武器之一
- 要透彻地理解一门技术的本质
- 写漂亮的代码
- 书籍里的知识,体系更加完整,有深度——看书好过碎片阅读
- 不要游走在各大语言的边缘
- 坚持写作(输出)