网络编程实战- 极客时间课程推荐/优惠

网络编程实战--极客时间课程推荐/优惠

从底层到实战,深度解析网络编程
盛延敏前大众点评云平台首席架构师
专栏 | 40讲 | 44827人已学习
优惠价¥59原价:129
官网优惠购买

版权声明

本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

你将获得

  • 掌握网络编程的底层原理;
  • 10 个常见异常和应对措施;
  • 聚焦常见的网络性能优化问题;
  • 动手编写高性能 HTTP 服务器。

课程介绍

什么是网络编程?一句话来说,网络编程是对网络协议的落地。

落地,意味着网络编程对实战的要求更高,也正因为如此,很多程序员更倾向于使用类似Netty这种封装好的框架,快速,高效。

既然如此,为什么还要学习网络编程呢?

确实,比起开发细节,在某些时候,开发效率更重要一些。但如果是高性能的网络编程呢?

这就好比盖房子,当我们只需要建一个小平房时,那么对地基的深浅和材质的要求就没有那么高了,但如果是建造一栋高楼大厦,小平房的地基条件显然不能满足我们的需求。

同样的,高性能网络编程与普通的开发不一样,高性能意味着工作中的设计很容易到达临界点。这时不仅要想办法延展边界,比如提高吞吐量和并发性,还要解决临界点下各种棘手的异常问题,比如怎样保证上千万个连接的正常运行?

这个时候就不只是框架的使用问题了,我们更应该从底层原理出发,才能真正搞懂高性能问题。而这些问题,又非常依赖多年的实战,只有这样,才能总结出一套成体系的方法论和经验。

盛延敏,本科、博士皆就读于中科大,2000年初就开始接触ACE、CORBA等网络编程技术,毕业后加入IBM从事WebSphere应用服务器开发和云平台Bluemix开发。后任大众点评云平台首席架构师,主持和推动了大众点评私有云平台的建设。目前在蚂蚁金服从事云计算领域的架构和开发等工作。

他将结合自己多年的实战经验,从网络编程的底层原理开始讲起,一步步聚焦到高性能编程上,教你从原理层面解决实际工作中可能遇到的各种性能问题,并且在最后手把手教你搭建一个可用的高性能框架。

课程基础要求

专栏使用C/C++语言讲解,需要你能看懂基础的C/C++语法。

文稿代码链接

文稿中代码较多,完整版请去GitHub查看。

专栏模块

专栏分为4个模块,还特别设计了“期中周”。

基础篇

从基本的套接字开始讲起,通过形象生动的比喻让你理解诸如三次握手、套接字缓冲区这样的底层原理,构建一个全面的知识体系,为后续的学习打下基础。

提高篇

在网络编程中,异常问题与性能息息相关。尤其是在高性能的条件下,异常问题出现的概率会大幅度增加。本模块重点讲解异常信息,教你提高程序中的鲁棒性。

期中周

为了增强你的实战能力,在基础篇和提高篇的基础上设置了为期一周的动手实践项目。你可以在老师的指导下自己动手编写一个可用的互联互通的程序,加深对网络编程的理解。

性能篇

能否解决程序的性能问题,是衡量水平高低的重要标准。本模块深入聚焦工作中常见的性能问题,带你处理诸如I/O、线程与进程等现在高性能网络编程所需要的技术,从而提高编程能力。

实战篇

除了学会利用轮子之外,造轮子也是学习能力的一个重要体现。本模块将结合前面讲到的技术,教你打造一个高性能的网络程序。

课程目录

开篇词

  • 开篇词 | 学好网络编程,需要掌握哪些核心问题?

第一模块:基础篇

  • 01 | 追古溯源:TCP/IP和Linux是如何改变世界的?
  • 02 | 网络编程模型:认识客户端-服务器网络模型的基本概念
  • 03丨套接字和地址:像电话和电话号码一样理解它们
  • 04 | TCP三次握手:怎么使用套接字格式建立连接?
  • 05 | 使用套接字进行读写:开始交流吧
  • 06 | 嗨,别忘了UDP这个小兄弟
  • 07 | What? 还有本地套接字?
  • 08 | 工欲善其事必先利其器:学会使用各种工具
  • 09丨答疑篇:学习网络编程前,需要准备哪些东西?

第二模块:提高篇

  • 10 | TIME_WAIT:隐藏在细节下的魔鬼
  • 11 | 优雅地关闭还是粗暴地关闭 ?
  • 12 | 连接无效:使用Keep-Alive还是应用心跳来检测?
  • 13 | 小数据包应对之策:理解TCP协议中的动态数据传输
  • 14丨UDP也可以是“已连接”?
  • 15 | 怎么老是出现“地址已经被使用”?
  • 16 | 如何理解TCP的“流”?
  • 17 | TCP并不总是“可靠”的?
  • 18 | 防人之心不可无:检查数据的有效性
  • 19丨提高篇答疑:如何理解TCP四次挥手?

期中复习周

  • 期中大作业丨动手编写一个自己的程序吧!
  • 期中大作业丨题目以及解答剖析

第三模块:性能篇

  • 20 | 大名⿍⿍的select:看我如何同时感知多个I/O事件
  • 21 | poll:另一种I/O多路复用
  • 22 | 非阻塞I/O:提升性能的加速器
  • 23 | Linux利器:epoll的前世今生
  • 24 | C10K问题:高并发模型设计
  • 25 | 使用阻塞I/O和进程模型:最传统的方式
  • 26 | 使用阻塞I/O和线程模型:换一种轻量的方式
  • 27 | I/O多路复用遇上线程:使用poll单线程处理所有I/O事件
  • 28 | I/O多路复用进阶:子线程使用poll处理连接I/O事件
  • 29 | 渐入佳境:使用epoll和多线程模型
  • 30 | 真正的大杀器:异步I/O探索
  • 31丨性能篇答疑:epoll源码深度剖析

第四模块:实战篇

  • 32 | 自己动手写高性能HTTP服务器(一):设计和思路
  • 33 | 自己动手写高性能HTTP服务器(二):I/O模型和多线程模型实现
  • 34 | 自己动手写高性能HTTP服务器(三):TCP字节流处理和HTTP协议实现
  • 35 | 答疑:编写高性能网络编程框架时,都需要注意哪些问题?

结束语

  • 结束语丨我相信这不是结束,让我们江湖再见

期末测试

  • 期末测试题丨有关网络编程的知识,你掌握了多少呢?

作者介绍

盛延敏,本科、博士皆就读于中科大,2000年初就开始接触ACE、CORBA等网络编程技术,毕业后加入IBM从事WebSphere应用服务器开发和云平台Bluemix开发。后任大众点评云平台首席架构师,主持和推动了大众点评私有云平台的建设。目前在蚂蚁金服从事云计算领域的架构和开发等工作。

推荐

Flink核心技术与实战 - 极客时间课程推荐/分享/优惠/折扣
Flink核心技术与实战
系统掌握流数据处理必杀技
张利兵第四范式数据中台架构师,Apache Flink贡献者
视频课 | 16582人已学习
优惠价¥68原价:199
官网优惠购买
LLaMA 3前沿模型实战课 - 极客时间课程推荐/分享/优惠/折扣
LLaMA 3前沿模型实战课
玩转LLaMA 3,全面驾驭其模型能力
Tyler前亚马逊应用科学家,头部大厂 AIGC 算法技术负责人
专栏 | 1112人已学习
优惠价¥59原价:99
官网优惠购买
Python工匠:案例、技巧与工程实践 - 极客时间课程推荐/分享/优惠/折扣
Python工匠:案例、技巧与工程实践
Python工匠:案例、技巧与工程实践
朱雷蓝鲸工具PaaS平台负责人
专栏 | 960人已学习
优惠价¥34.93原价:49.9
官网优惠购买
深入剖析Java新特性 - 极客时间课程推荐/分享/优惠/折扣
深入剖析Java新特性
手把手带你吃透Java新特性
范学雷前Oracle首席软件工程师,Java SE安全组成员,OpenJDK评审成员
专栏 | 16855人已学习
优惠价¥59原价:99
官网优惠购买
领域大模型微调案例课 - 极客时间课程推荐/分享/优惠/折扣
领域大模型微调案例课
2小时构建领域大模型微调新视野
老刘老刘说NLP技术公众号/社区作者
视频课 | 346人已学习
优惠价¥49原价:68
官网优惠购买
程序员职业规划手册 - 极客时间课程推荐/分享/优惠/折扣
程序员职业规划手册
人人都能实践的职业发展破局之道
雪梅前阿里技术总监,技术人职业发展教练
专栏 | 8333人已学习
优惠价¥59原价:99
官网优惠购买