apue 外传,


先上目录

chapter 3

[apue] dup2的正确打开方式

chapter 10

[apue] 等待子进程的那些事儿

chapter 14

[apue] 使用文件记录锁无法实现父子进程交互执行同步

chapter 15

[apue] 多进程管道读写的一些疑问

[apue] 测试管道容量的一些疑问

[apue] 管道原子写入量的一个疑问

[apue] 使用 poll 检测管道断开

[apue] 使用 popen/pclose 的一点疑问

[apue] popen/pclose 疑点解惑

[apue] FIFO:不是文件的文件

chapter 16

[apue] syslog 导致 accept 出错?

[apue] 如何处理 tcp 紧急数据(OOB)?

chapter 17

[apue] 神奇的 Solaris pipe

记一次传递文件句柄引发的血案

记一次传递文件句柄引发的血案 (续)

[apue] 作为 daemon 启动, Unix Domain Socket 侦听失败?

 

前言

开技术博客最好的时间是十年前(2010),其次是现在。

 

遥想当年读大学时,费尽心力读过一些书,其中不乏一些“教材型”书籍:概念罗列了一大堆,也用心看了,但是看完了就忘了——就是没有收获。

毕业后,记得第一次有种醍醐灌顶的感觉,还是在读侯捷的《深入浅出MFC》,真的有种 under hood 之后的恍然大悟的感觉。

于是知道了看书不能不加选择,要看就要看经典的书、看经典作者。

 

后来又看了一系列侯捷的作品/译作:《Effective C++》《More Effective C++》《Essential C++》《深度探索 C++ 对象模型》《Win32 多线程程序设计》;

潘爱民的:《Effective STL》《COM原理与应用》;李师贤的:《C++ Primer 中文版》;荣耀的:《C++ 必知必会》;陈伟柱的:《C++ Templates》;

马维达的:《C++ 网络编程》《C++ 网络编程 II》;宋劲杉的:《Linux C 编程一站式学习》《Linux C 编程一站式学习 II》;

其中看潘爱民的 《COM原理与应用》遭遇了一个挫折,虽然每句都看得懂,但是没有去写代码实践,虽然看得很辛苦,最后除了一堆IXXX接口就没有留下什么印象。

于是知道了看书不能光看,还要动手去实践,当书本上的代码跑起来之后,才能更深刻的领悟。

 

后来开始看 《Advanced Programming Unix Environment》这本经典著作,前几章看得有点枯燥,主要是一些基础知识,心想自己不会又读了一本教材吧。

但是越到后来,越感觉作者并不是简单的去写作,背后有他自己大量的实践,很可能他就是一边写着代码、一边去印证各个技术点。

常常一段话就可以提炼出三、四个测试用例去验证,而作者在每章的练习题中,更是经常以一些他自己在验证过程中遇到的问题作为题目。

作者经常声明,他是四种平台(linux / mac / freebsd / solaris)上去验证一个特性,所以如果一些特性仅在某些平台存在,他一定会给出提示。

这里作者有着一种非常严谨的态度,我想经典之所以称之为经典、大师之所以成为大师,概为此也。

 

吸取之前看书的经验,不能再囫囵吞枣、不求甚解的看一本书了,

于是从这本书开始,展开“工程师”视角,对书中每个技术点亲自做验证,验证通过了,固然证明书上所说不虚;

验证不通过,如果能弄明白原因,也能加深认识;如果弄不明白,就先放着,做个标记,留待将来看 linux 源码时解决。

 

总而言之,看这个系列的文章,前提是读过原著或者对 linux 系统编程特别熟悉,而且对 linux 底层实现有一定兴趣,否则读起来会不知所云、浪费时间。

相关内容

    暂无相关文章