極客時間出品的《網路程式設計實戰》由盛延敏所作,盛延敏是前大眾點評雲平臺首席架構師。本專欄從底層到實戰,深度解析網路程式設計。
訂閱價格:
原價¥99 ,限時¥68 。2868 人已學習 · 共35講 · 每週一 / 三 / 五更新, 本課程為音訊+圖文。可在極客時間APP/小程式/網站上永久觀看。
用我的邀請購買,返現12元。購買成功之後,請加我微訊號 dismissmewp ,備註:返現。
《網路程式設計實戰》課程介紹
什麼是網路程式設計?一句話來說,網路程式設計是對網路協議的落地。
落地,意味著網路程式設計對實戰的要求更高,也正因為如此,很多程式設計師更傾向於使用類似Netty這種封裝好的框架,快速,高效。
既然如此,為什麼還要學習網路程式設計呢?
確實,比起開發細節,在某些時候,開發效率更重要一些。但如果是高效能的網路程式設計呢?
這就好比蓋房子,當我們只需要建一個小平房時,那麼對地基的深淺和材質的要求就沒有那麼高了,但如果是建造一棟高樓大廈,小平房的地基條件顯然不能滿足我們的需求。
同樣的,高效能網路程式設計與普通的開發不一樣,高效能意味著工作中的設計很容易到達臨界點。這時不僅要想辦法延展邊界,比如提高吞吐量和併發性,還要解決臨界點下各種棘手的異常問題,比如怎樣保證上千萬個連線的正常執行?
這個時候就不只是框架的使用問題了,我們更應該從底層原理出發,才能真正搞懂高效能問題。而這些問題,又非常依賴多年的實戰,只有這樣,才能總結出一套成體系的方法論和經驗。
《網路程式設計實戰》講師介紹
盛延敏,本科、博士皆就讀於中科大,2000年初就開始接觸ACE、CORBA等網路程式設計技術,畢業後加入IBM從事WebSphere應用伺服器開發和雲平臺Bluemix開發。後任大眾點評雲平臺首席架構師,主持和推動了大眾點評私有云平臺的建設。目前在螞蟻金服從事雲端計算領域的架構和開發等工作。
他將結合自己多年的實戰經驗,從網路程式設計的底層原理開始講起,一步步聚焦到高效能程式設計上,教你從原理層面解決實際工作中可能遇到的各種效能問題,並且在最後手把手教你搭建一個可用的高效能框架。
你將獲得
- 掌握網路程式設計的底層原理
- 10 個常見異常和應對措施
- 聚焦常見的網路效能優化問題
- 動手編寫高效能 HTTP 伺服器
課程基礎要求
專欄使用C\/C++語言講解,需要你能看懂基礎的C\/C++語法。
《網路程式設計實戰》專欄模組
專欄共35講,分為4個模組,還特別設計了“期中周”。
基礎篇
從基本的套接字開始講起,通過形象生動的比喻讓你理解諸如三次握手、套接字緩衝區這樣的底層原理,構建一個全面的知識體系,為後續的學習打下基礎。
提高篇
在網路程式設計中,異常問題與效能息息相關。尤其是在高效能的條件下,異常問題出現的概率會大幅度增加。本模組重點講解異常資訊,教你提高程式中的魯棒性。
期中周
為了增強你的實戰能力,在基礎篇和提高篇的基礎上設定了為期一週的動手實踐專案。你可以在老師的指導下自己動手編寫一個可用的互聯互通的程式,加深對網路程式設計的理解。
效能篇
能否解決程式的效能問題,是衡量水平高低的重要標準。本模組深入聚焦工作中常見的效能問題,帶你處理諸如I\/O、執行緒與程式等現在高效能網路程式設計所需要的技術,從而提高程式設計能力。
實戰篇
除了學會利用輪子之外,造輪子也是學習能力的一個重要體現。本模組將結合前面講到的技術,教你打造一個高效能的網路程式。
《網路程式設計實戰》課程目錄
開篇詞 學好網路程式設計,需要掌握哪些核心問題?
基礎篇 一起來認識網路程式設計
追古溯源:TCP/IP和Linux是如何改變世界的?
網路程式設計模型:理解“客戶端-伺服器”的基本概念
套接字和地址:電話和電話號碼
TCP三次握手怎麼使用套接字格式建立連線?
使用套接字進行讀寫:開始交流吧
嗨,別忘了 UDP這個小兄弟
本地套接字:如何入門本地套接字?
工欲善其事必先利其器:學會使用各種工具
基礎篇總結與答疑
提高篇一起來解決異常問題
TIME.WAIT:隱藏在細節下的魔鬼
優雅地關閉還是粗暴地關閉?
連線無效:使用Keep-Alive還是應用心跳來檢測?
小資料包應對之策:理解TCP協議中的動態資料傳輸
What? UDP也可以是“已連線”?
怎麼老是出現“地址已經被使用”?
如何理解TCP的“流”?
TCP並不總是“可靠”的?
防人之心不可無:檢查資料的有效性
提高篇總結與答疑
期中複習周(9.16〜9.20)
作業:網路程式設計專案
實戰效能篇:學會優雅地提高程式效能
鼎鼎大名的select:看我如何同時感知多個I/O事件
poll:另一種I/O多路複用
非阻塞I/O:提升效能的加速器
Linux利器:epoll的前世今生
C10K問題:高併發模型設計
使用阻塞I/O和程式模型:用最傳統的方式
使用阻塞I/O和執行緒模型:換一種輕量的方式
I/O多路複用遇上執行緒:使用poll單執行緒處理所有I/O事件
I/O多路複用進階:子執行緒使用poll處理連線I/O事件
漸入佳境:使用epoll和多執行緒模型
真正的大殺器:非同步I/O探索
效能篇總結與答疑
實戰篇:讓我們一起來造個輪子
自己動手寫高效能HTTP伺服器(一):設計和思路
自己動手寫高效能HTTP伺服器(二):I/O處理模型 和多執行緒模型實現
自己動手寫高效能HTTP伺服器(三):TCP位元組流 處理和HTTP協議實現
實戰篇總結與答疑
我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。
***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***