日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

如何學(xué)習(xí)互聯(lián)網(wǎng)編程


如何學(xué)習(xí)互聯(lián)網(wǎng)編程


網(wǎng)絡(luò)編程最主要的工作就是在發(fā)送端把信息通過(guò)規(guī)定好的協(xié)議進(jìn)行組裝包 , 在接收端按照規(guī)定好的協(xié)議把包進(jìn)行解析 , 從而提取出對(duì)應(yīng)的信息 , 達(dá)到通信的目的 。如何學(xué)習(xí)互聯(lián)網(wǎng)編程呢?





1:學(xué)會(huì)用C++和socket或windows的http server api做一個(gè)http server , 搞成一個(gè)小網(wǎng)站2:多加幾個(gè)網(wǎng)頁(yè)之后你就明白為什么大家總是需要一個(gè)template語(yǔ)言/工具了 , 然后你可以試著自己開(kāi)發(fā)一個(gè)3:于是你開(kāi)始試圖做動(dòng)態(tài)網(wǎng)頁(yè) , 你就要用jquery和XMLHttpRequest修改html本身還有和C++服務(wù)器進(jìn)行數(shù)據(jù)交換4:然后你開(kāi)始給你的網(wǎng)站加一個(gè)Windows桌面的客戶端 , 這是對(duì)模塊化能力的重大考驗(yàn)5:你會(huì)發(fā)現(xiàn)你重復(fù)了很多代碼 , 所以開(kāi)始使用MVC和一些小的設(shè)計(jì)模式來(lái)幫你劃分模塊6:然后你發(fā)現(xiàn) , 盡管C++用IOCP是很方便 , 但是拼HTML字符串還是難爆了 。于是你開(kāi)始嘗試把C++服務(wù)器改成純粹的功能服務(wù)器 , 然后用一個(gè)薄薄的http server來(lái)host你的網(wǎng)頁(yè) , 網(wǎng)頁(yè)開(kāi)始用js獲取后臺(tái)數(shù)據(jù) , 然后用js調(diào)用你的新template工具來(lái)生成HTML , 再也不要在C++里面拼字符串了 。
做到這里 , 你的小網(wǎng)站已經(jīng)變成了 C++功能服務(wù)器/不知道什么寫的http server/js+template+ajax的browser端/不知道什么寫的GUI客戶端
這個(gè)時(shí)候你差不多可以用你學(xué)到的知識(shí)來(lái)做你想要的東西 , 于是后面你就面臨幾大問(wèn)題1:用戶登錄怎么做 。authentication是需要特別豐富的知識(shí)的 , 而且在天朝不能因?yàn)橐?guī)定你要給提供用戶的密碼你就非得把密碼的明文保存在生產(chǎn)環(huán)境里等著被拖庫(kù) 。2:用戶太多了 , 功能服務(wù)期一臺(tái)機(jī)器hold不住了 , 你需要寫分布式系統(tǒng)3:客戶端漸漸蔓延到了windows phone、android、ios 。如果你不讓view層變得很薄 , 你就會(huì)在各種端和語(yǔ)言里面重復(fù)實(shí)現(xiàn)你的controller , 做大了之后簡(jiǎn)直無(wú)法維護(hù) 。
做到這里 , 你基本上已經(jīng)碰到了如何在各種奇葩的語(yǔ)言之間交換數(shù)據(jù)的問(wèn)題了 。當(dāng)然這個(gè)問(wèn)題肯定很早就被人解決了 , 但是因?yàn)槟阈枰獙W(xué)會(huì)整個(gè)知識(shí)框架體系 , 那你一定會(huì)開(kāi)始去山寨一個(gè)你自己的protocol buffer這樣的東西 。服務(wù)器也開(kāi)始知道如何用restful http server來(lái)把功能抽象成model了 , 然后你的MVC到這里就正式學(xué)會(huì)了 。
【如何學(xué)習(xí)互聯(lián)網(wǎng)編程】

    推薦閱讀