没事儿多看看文档吧
耗子叔推荐Stevens的一套书(tcp/ip, apue, unp)终于看完了,加上之前看的csapp总算把计算系统知识补齐了。
Stevens的书确实通篇都在罗列api,但是读起来其实没想象中的枯燥,Stevens会穿插讲一些操作系统和网络的核心概念,再结合代码示例,读起来并不困难。毕竟至少都是五六百页的书,想要不花一些精力读下来不太现实。即便是耗子叔这样的技术大牛也坦言这些书很枯燥,但是这些书要硬着头皮读下来。
为什么?因为这些都是计算机中的核心知识。不管是谁(windows程序员除外),写的代码总要跑在unix-like系统上吧,unix系统核心就那么几百个api,了解了这些api,就相当于了解了unix系统。
不管是什么语言,读取文件最后都是read系统调用。
服务器设计的核心就是io处理,所有io框架都离不开,同步,非阻塞,多路复用,信号io,异步io这五种模型。
Stevnes的书的好处是把代码和理论结合得很好,看完了tcp/ip 结合 unp就能对socket编程理解得差不多了。只看tcp/ip 很容易停留在对某些概念的理解上。
看Stevnes的书给我的另一个启示就是做技术的态度,对技术概念,api,代码都需要重视起来,深入到细节中,才能算完全深入的掌握某一门技术。
推荐阅读顺序:caspp -> tcp/ip -> apue -> unp。
csapp中的许多概念,apue中会提到。
apue中的许多api,unp中会用到。
apue和unp中的部分章节是重复的,比如线程,unix域协议。
记得做习题,不动手等于白看。
© 本文版权归作者 Marquezzzzz 所有,任何形式转载请联系作者。
有关键情节透露