# Network(计算机网络)
本节主要参考陈硕的网络编程学习经验,特此鸣谢,后文附原文链接及文档。
### 初阶读物
- 中文书名:[计算机网络:自顶向下方法](http://book.douban.com/subject/1391207/),从应用层着手介绍计算机网络,例子也比较生动,适合入门科普(想深入学习的建议直接从底下Stevens的书籍入手)。中文译作质量不错,Andrew S. Tanenbaum的 *Computer Networks* 则是自下而上介绍计算机网络的,两本书行文风格差异较大,个人推荐 James F.Kurose 的 *Computer Networking: A Top-Down Approach*。
- [TCP/IP Illustrated Volumn 1](http://www.pcvr.nl/tcpip/) - Stevens 的经典技术书籍,是网络编程方面必读的入门经典。第三版有较大改动(此时Stevens已故),第三版中的TCP部分值得关注,其他章节阅读第二版即可,第二版部分章节的内容已经十分陈旧,不必阅读。
- [TCP/IP Illustrated, Vol. 1: The Protocols](http://freecomputerbooks.com/TCP-IP-Illustrated-Vol-1-The-Protocols.html) - 上述书籍的附加资源链接。
### 进阶
- [UNIX Network Programming, Volume 1](http://www.unixnetworkprogramming.com/) - 书籍网站。
- [UNIX网络编程](http://book.douban.com/subject/1500149/) - 译作质量很高。
- [Jon Snader's Home Page](http://home.netcom.com/~jsnader/) - 有 *Effective TCP/IP Programming* 一书的介绍及勘误。本书为专家经验总结类。
### 高阶
- [Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects](http://www.dre.vanderbilt.edu/~schmidt/POSA/POSA2/) - 总结了开发并发网络服务程序的模式,对UNP是很好的补充。书中强调模块化,业务逻辑和网络通信解耦。代码仅供参考,主要看思想。
- *TCP/IP Illustrated, Vol. 2: The Implementation* - 与现有的Linux相差较大,陈硕的网站上有对Linux下用户态的实现。主要看TCP部分的实现即可。
### 其它补充
- [TCPIP网络编程之四书五经](#) - 2003年《程序员》杂志上孟岩写的一篇书评。
- [谈一谈网络编程学习经验](#) - 陈硕写的,原文链接可见 [谈一谈网络编程学习经验(06-08更新)](http://blog.csdn.net/solstice/article/details/6527585)。作者在网络编程方面还是比较有经验的,已有书籍 [Linux多线程服务端编程](http://book.douban.com/subject/20471211/) 出版,里面有不少干货。
- Introduction
- Part I Introduction to Programming
- 第一章-编程所谓何物
- 第二章-咋学编程
- 第三章-编程进阶-数据结构与算法
- 第四章-操作系统及项目开发杂谈
- 控制台和图形用户界面
- 工程和单个文件的关系
- 第五章-编程语言
- 第六章-编程方法论杂谈
- 好书哪里找
- 高效使用搜索引擎
- 好习惯
- 文本编辑器
- 版本控制
- 编程开发
- 第七章-教材推荐及其它
- 数据结构与算法类
- Operating System
- C
- C++
- Java
- Python
- Golang
- Network
- 数据库
- Web-前端
- Web-后端
- 机器学习
- Linux
- GUI
- Android开发
- 数据挖掘与分析
- Spark
- 杂项