什么是網(wǎng)絡(luò)編程?一句話來(lái)說(shuō),對(duì)網(wǎng)絡(luò)協(xié)議的落地
2021-10-31
什么是網(wǎng)絡(luò)編程?總之,網(wǎng)絡(luò)編程就是網(wǎng)絡(luò)協(xié)議的落地。
落地意味著網(wǎng)絡(luò)編程對(duì)實(shí)戰(zhàn)的要求更高,也正因?yàn)槿绱?,很多程序員更傾向于使用類(lèi)似的封裝框架,快速高效。
既然如此,何必去學(xué)習(xí)網(wǎng)絡(luò)編程呢?
的確,在某些情況下,開(kāi)發(fā)效率比開(kāi)發(fā)細(xì)節(jié)更重要。但是高性能網(wǎng)絡(luò)編程呢?
這就像蓋房子一樣。當(dāng)我們只需要建造一個(gè)小洋房時(shí),對(duì)地基的深度和材料的要求并沒(méi)有那么高,但是如果是建造高層建筑,那么小洋房的地基條件顯然不能滿足我們的要求。需要。
同樣,高性能網(wǎng)絡(luò)編程也不同于普通的開(kāi)發(fā)。高性能意味著工作中的設(shè)計(jì)可以輕松達(dá)到臨界點(diǎn)。這時(shí)候,我們不僅要想辦法擴(kuò)展邊界,比如提高吞吐量和并發(fā)網(wǎng)絡(luò)編程技術(shù) 課程設(shè)計(jì)要求,還要解決臨界點(diǎn)下的各種棘手的異常問(wèn)題,比如如何保證千萬(wàn)連接的正常運(yùn)行?
這時(shí)候網(wǎng)絡(luò)編程技術(shù) 課程設(shè)計(jì)要求,不僅僅是框架的使用。我們應(yīng)該從底層原理入手,真正理解高性能問(wèn)題。這些問(wèn)題很大程度上依賴(lài)于多年的實(shí)戰(zhàn)。只有這樣,才能總結(jié)出系統(tǒng)的方法論和經(jīng)驗(yàn)。
盛彥民,本科和博士,就讀于中國(guó)科學(xué)技術(shù)大學(xué)。2000年初,他開(kāi)始接觸ACE等網(wǎng)絡(luò)編程技術(shù)。畢業(yè)后加入IBM,開(kāi)發(fā)應(yīng)用服務(wù)器和云平臺(tái)。之后擔(dān)任大眾點(diǎn)評(píng)云平臺(tái)首席架構(gòu)師,主持和推動(dòng)大眾點(diǎn)評(píng)私有云平臺(tái)建設(shè)。目前在螞蟻金服從事云計(jì)算領(lǐng)域的架構(gòu)和開(kāi)發(fā)。
他將結(jié)合自己多年的實(shí)踐經(jīng)驗(yàn),從網(wǎng)絡(luò)編程的底層原理出發(fā),一步步聚焦高性能編程,從原理層面教你解決實(shí)際工作中可能遇到的各種性能問(wèn)題,并在最后動(dòng)手教你搭建好用的高性能框架。
基本課程要求
專(zhuān)欄使用C/C++語(yǔ)言講解,需要能夠理解基本的C/C++語(yǔ)法。
手稿代碼鏈接
手稿中有很多代碼,請(qǐng)查看完整版。
立柱模塊
欄目分為4個(gè)模塊,專(zhuān)門(mén)設(shè)計(jì)了一個(gè)“期中周”。
基本
從基礎(chǔ)入手,通過(guò)生動(dòng)的比喻,讓你了解三向握手、緩沖區(qū)等底層原理,構(gòu)建全面的知識(shí)體系,為后續(xù)學(xué)習(xí)打下基礎(chǔ)。
改進(jìn)文章
在網(wǎng)絡(luò)編程中,異常問(wèn)題與性能密切相關(guān)。尤其是在高性能條件下,出現(xiàn)異常問(wèn)題的概率會(huì)大大增加。本模塊重點(diǎn)介紹異常信息,教你提高程序的健壯性。
中期
為了提升你的實(shí)戰(zhàn)能力,在基礎(chǔ)篇和改進(jìn)篇的基礎(chǔ)上,設(shè)置了為期一周的動(dòng)手項(xiàng)目。在老師的指導(dǎo)下,您可以自己編寫(xiě)一個(gè)可用的互連程序,以加深您對(duì)網(wǎng)絡(luò)編程的理解。
表現(xiàn)
能否解決程序的性能問(wèn)題,是衡量水平的重要標(biāo)準(zhǔn)。本模塊重點(diǎn)關(guān)注工作中常見(jiàn)的性能問(wèn)題,帶你處理高性能網(wǎng)絡(luò)編程所需的I/O、線程、進(jìn)程等技術(shù),提升編程能力。
實(shí)用篇
除了學(xué)習(xí)使用輪子,制作輪子也是學(xué)習(xí)能力的重要體現(xiàn)。本模塊將結(jié)合上述技術(shù),教你搭建一個(gè)高性能的網(wǎng)絡(luò)程序。