什么是网络编程?一句话来说,对网络协议的落地
2021-10-31
什么是网络编程?总之,网络编程就是网络协议的落地。
落地意味着网络编程对实战的要求更高,也正因为如此,很多程序员更倾向于使用类似的封装框架,快速高效。
既然如此,何必去学习网络编程呢?
的确,在某些情况下,开发效率比开发细节更重要。但是高性能网络编程呢?
这就像盖房子一样。当我们只需要建造一个小洋房时,对地基的深度和材料的要求并没有那么高,但是如果是建造高层建筑,那么小洋房的地基条件显然不能满足我们的要求。需要。
同样,高性能网络编程也不同于普通的开发。高性能意味着工作中的设计可以轻松达到临界点。这时候,我们不仅要想办法扩展边界,比如提高吞吐量和并发网络编程技术 课程设计要求,还要解决临界点下的各种棘手的异常问题,比如如何保证千万连接的正常运行?
这时候网络编程技术 课程设计要求,不仅仅是框架的使用。我们应该从底层原理入手,真正理解高性能问题。这些问题很大程度上依赖于多年的实战。只有这样,才能总结出系统的方法论和经验。
盛彦民,本科和博士,就读于中国科学技术大学。2000年初,他开始接触ACE等网络编程技术。毕业后加入IBM,开发应用服务器和云平台。之后担任大众点评云平台首席架构师,主持和推动大众点评私有云平台建设。目前在蚂蚁金服从事云计算领域的架构和开发。
他将结合自己多年的实践经验,从网络编程的底层原理出发,一步步聚焦高性能编程,从原理层面教你解决实际工作中可能遇到的各种性能问题,并在最后动手教你搭建好用的高性能框架。
基本课程要求
专栏使用C/C++语言讲解,需要能够理解基本的C/C++语法。
手稿代码链接
手稿中有很多代码,请查看完整版。
立柱模块
栏目分为4个模块,专门设计了一个“期中周”。
基本
从基础入手,通过生动的比喻,让你了解三向握手、缓冲区等底层原理,构建全面的知识体系,为后续学习打下基础。
改进文章
在网络编程中,异常问题与性能密切相关。尤其是在高性能条件下,出现异常问题的概率会大大增加。本模块重点介绍异常信息,教你提高程序的健壮性。
中期
为了提升你的实战能力,在基础篇和改进篇的基础上,设置了为期一周的动手项目。在老师的指导下,您可以自己编写一个可用的互连程序,以加深您对网络编程的理解。
表现
能否解决程序的性能问题,是衡量水平的重要标准。本模块重点关注工作中常见的性能问题,带你处理高性能网络编程所需的I/O、线程、进程等技术,提升编程能力。
实用篇
除了学习使用轮子,制作轮子也是学习能力的重要体现。本模块将结合上述技术,教你搭建一个高性能的网络程序。