http://www.douban.com/note/172917911/
在学习完c/c++编程语言并会使用标准库和常用的库后,就要开始选择一个业务方向了,我选择的是互联网底层开发。这一领域很让人着迷,安全、性能、负载等是最关注的东西,当然最好可以不依赖具体的操作系统环境。
目前我所接触到的开发任务会涉及到 Web服务器、分布式缓存、HASH数据库等基础组件,在学习的过程中我总结需先学习一些更加高级的知识,请看以下我整理汇总一些资料:
网络编程
首当其冲应说一说The C10K problem(简体中文版见: The C10K problem翻译),经典佳作,我就不再多说。时间不停,新环境新问题,原来的C10K似乎有些过时,我们所熟知的冯大辉为我们写了一篇新作:从 C10K 到 C500K,从中我知道了更有价值的C500K,甚至C1000K高性能服务器构建技术。以上链接中提到的参考书籍均可从douban上搜索到,有心的同学可以入手啦!
大牛陈硕的一篇《谈一谈网络编程学习经验》(06~08年累积更新)很有学习价值,更加贴心的是陈先生还提供了PDF下载版 https://github.com/downloads/chenshuo/documents/LearningNetworkProgramming.pdf。并且他的博客上有大量高质量的博文,涉及到网络开发,分布式等主题。
在c10k中提到的各种poll,是不是看着乱呢?我新找到了一篇How to use epoll? A complete example in C,以一个完整的C语言小示例通俗易懂的告诉我们如何使用epoll。
@TODO
- 项目工程
- 内存管理
- 多进程多线程
- 通信协议
技术更新的很快,会有更多更好的资料我没有列出,有机会我会更新这篇文章。如果你看到这篇文章欢迎你提供建议和意见。