You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
5.6 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 网络编程实战
## 你将获得
1. 掌握网络编程的底层原理;
2. 10 个常见异常和应对措施;
3. 聚焦常见的网络性能优化问题;
4. 动手编写高性能 HTTP 服务器。
## 讲师介绍
盛延敏本科、博士皆就读于中科大2000年初就开始接触ACE、CORBA等网络编程技术毕业后加入IBM从事WebSphere应用服务器开发和云平台Bluemix开发。后任大众点评云平台首席架构师主持和推动了大众点评私有云平台的建设。目前在蚂蚁金服从事云计算领域的架构和开发等工作。
## 课程介绍
什么是网络编程?一句话来说,网络编程是对网络协议的落地。
落地意味着网络编程对实战的要求更高也正因为如此很多程序员更倾向于使用类似Netty这种封装好的框架快速高效。
既然如此,为什么还要学习网络编程呢?
确实,比起开发细节,在某些时候,开发效率更重要一些。但如果是高性能的网络编程呢?
这就好比盖房子,当我们只需要建一个小平房时,那么对地基的深浅和材质的要求就没有那么高了,但如果是建造一栋高楼大厦,小平房的地基条件显然不能满足我们的需求。
同样的,高性能网络编程与普通的开发不一样,高性能意味着工作中的设计很容易到达临界点。这时不仅要想办法延展边界,比如提高吞吐量和并发性,还要解决临界点下各种棘手的异常问题,比如怎样保证上千万个连接的正常运行?
这个时候就不只是框架的使用问题了,我们更应该从底层原理出发,才能真正搞懂高性能问题。而这些问题,又非常依赖多年的实战,只有这样,才能总结出一套成体系的方法论和经验。
盛延敏本科、博士皆就读于中科大2000年初就开始接触ACE、CORBA等网络编程技术毕业后加入IBM从事WebSphere应用服务器开发和云平台Bluemix开发。后任大众点评云平台首席架构师主持和推动了大众点评私有云平台的建设。目前在蚂蚁金服从事云计算领域的架构和开发等工作。
他将结合自己多年的实战经验,从网络编程的底层原理开始讲起,一步步聚焦到高性能编程上,教你从原理层面解决实际工作中可能遇到的各种性能问题,并且在最后手把手教你搭建一个可用的高性能框架。
# 课程基础要求
专栏使用C/C++语言讲解需要你能看懂基础的C/C++语法。
# 文稿代码链接
文稿中代码较多,完整版请去[GitHub](https://github.com/froghui/yolanda)查看。
# 专栏模块
专栏分为4个模块还特别设计了“期中周”。
**基础篇**
从基本的套接字开始讲起,通过形象生动的比喻让你理解诸如三次握手、套接字缓冲区这样的底层原理,构建一个全面的知识体系,为后续的学习打下基础。
**提高篇**
在网络编程中,异常问题与性能息息相关。尤其是在高性能的条件下,异常问题出现的概率会大幅度增加。本模块重点讲解异常信息,教你提高程序中的鲁棒性。
**期中周**
为了增强你的实战能力,在基础篇和提高篇的基础上设置了为期一周的动手实践项目。你可以在老师的指导下自己动手编写一个可用的互联互通的程序,加深对网络编程的理解。
**性能篇**
能否解决程序的性能问题是衡量水平高低的重要标准。本模块深入聚焦工作中常见的性能问题带你处理诸如I/O、线程与进程等现在高性能网络编程所需要的技术从而提高编程能力。
**实战篇**
除了学会利用轮子之外,造轮子也是学习能力的一个重要体现。本模块将结合前面讲到的技术,教你打造一个高性能的网络程序。
## 课程目录
![](https://static001.geekbang.org/resource/image/d9/b4/d9868ff93c308befe7bb3f06cfc828b4.jpg)
## 特别放送
#### 免费领取福利
[![](https://static001.geekbang.org/resource/image/69/dc/69c52d08278a2164dc5b061ba342a5dc.jpg?wh=960x301)](https://time.geekbang.org/article/427012)
#### 限时活动推荐
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
## 订阅须知
1. 订阅成功后推荐通过“极客时间”App端、Web端学习。
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1)订阅课程享受原价5折优惠。
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。