什么是网络编程?一句话来说,网络编程是对网络协议的落地。
落地,意味着网络编程对实战的要求更高,也正因为如此,很多程序员更倾向于使用类似 Netty 这种封装好的框架,快速,高效。
既然如此,为什么还要学习网络编程呢?
确实,比起开发细节,在某些时候,开发效率更重要一些。但如果是高性能的网络编程呢?
这就好比盖房子,当我们只需要建一个小平房时,那么对地基的深浅和材质的要求就没有那么高了,但如果是建造一栋高楼大厦,小平房的地基条件显然不能满足我们的需求。
同样的,高性能网络编程与普通的开发不一样,高性能意味着工作中的设计很容易到达临界点。这时不仅要想办法延展边界,比如提高吞吐量和并发性,还要解决临界点下各种棘手的异常问题,比如怎样保证上千万个连接的正常运行?
这个时候就不只是框架的使用问题了,我们更应该从底层原理出发,才能真正搞懂高性能问题。而这些问题,又非常依赖多年的实战,只有这样,才能总结出一套成体系的方法论和经验。
盛延敏,本科、博士皆就读于中科大,2000 年初就开始接触 ACE、CORBA 等网络编程技术,毕业后加入 IBM 从事 WebSphere 应用服务器开发和云平台 Bluemix 开发。后任大众点评云平台首席架构师,主持和推动了大众点评私有云平台的建设。目前在蚂蚁金服从事云计算领域的架构和开发等工作。
他将结合自己多年的实战经验,从网络编程的底层原理开始讲起,一步步聚焦到高性能编程上,教你从原理层面解决实际工作中可能遇到的各种性能问题,并且在最后手把手教你搭建一个可用的高性能框架。
你将获得
- 掌握网络编程的底层原理
- 10 个常见异常和应对措施
- 聚焦常见的网络性能优化问题
- 动手编写高性能 HTTP 服务器
课程基础要求
专栏使用 C/C++ 语言讲解,需要你能看懂基础的 C/C++ 语法。
文稿代码链接
文稿中代码较多,完整版请去GitHub查看。
专栏模块
专栏分为 4 个模块,还特别设计了“期中周”。
基础篇
从基本的套接字开始讲起,通过形象生动的比喻让你理解诸如三次握手、套接字缓冲区这样的底层原理,构建一个全面的知识体系,为后续的学习打下基础。
提高篇
在网络编程中,异常问题与性能息息相关。尤其是在高性能的条件下,异常问题出现的概率会大幅度增加。本模块重点讲解异常信息,教你提高程序中的鲁棒性。
期中周
为了增强你的实战能力,在基础篇和提高篇的基础上设置了为期一周的动手实践项目。你可以在老师的指导下自己动手编写一个可用的互联互通的程序,加深对网络编程的理解。
性能篇
能否解决程序的性能问题,是衡量水平高低的重要标准。本模块深入聚焦工作中常见的性能问题,带你处理诸如 I/O、线程与进程等现在高性能网络编程所需要的技术,从而提高编程能力。
实战篇
除了学会利用轮子之外,造轮子也是学习能力的一个重要体现。本模块将结合前面讲到的技术,教你打造一个高性能的网络程序。
限时福利
- 订阅课程后,生成海报分享给朋友,每成功邀请一位好友,有 24 元现金奖励。
- 戳此申请学生认证,订阅课程一律 5 折。
订阅须知
- 本专栏为订阅专栏,形式为图文 + 音频,定价 99 元,现已更新完毕。订阅成功后,即可通过“极客时间”App 端、小程序端、Web 端永久阅读。
- 企业批量购买请点击“企业充值”了解详情,可支持员工选课,企业支付。
- 本专栏为虚拟商品,一经订阅,概不退款。