-
HTTP知識(shí)
查看全部 -
模塊的流程
查看全部 -
git Bash
查看全部 -
模塊與包管理工具
查看全部 -
www.npmjs.com? node.js? github.com
stackoverflow.com
查看全部 -
解決linux環(huán)境安裝問題
yum -y update && yum -y groupinstall "Development Tools"
查看全部 -
一、http.request(options[, callback]);
hots、hostname(host的別名)、port、localAddress、socketPath、method、path、headers、auth、agent(代理)、keepAlive、keepAliveMsecs
二、
////?request.js var?http?=?require('http'); var?querystring?=?require('querystring'); var?postData?=?querystring.stringify({ ??'content':?'一起期待下一期的課程', ??'cid':?348 }); var?options?=?{ ??hostname:?'idcbgp.cn', ??port:?80, ??path:?'/course/document', ??method:?'post', ??headers:?{ ????'Accept':?'application/json,?text/javascript,?*/*;?q=0.01', ????'Accept-Encoding':?'gzip,?deflate', ????'Accept-Language':?'zh-CN,zh;q=0.9,en;q=0.8' ????'Cache-Control':?'no-cache', ????'Connection':?'keep-alive', ????'Content-length':?postData.length, ????'Cookie':?'imooc_uuid=3d8f2c90-7665-4a1e-b895-df1d56529a9a;?imooc_isnew_ct=1536739444;?imooc_isnew=2;?IMCDNS=0;?Hm_lvt_fb538fdd5bd62072b6a984ddbc658a16=1536739476,1536890903;?Hm_lvt_f0cfcccd7b1393990c78efdeebff3968=1536739480,1536890903;?Hm_lpvt_fb538fdd5bd62072b6a984ddbc658a16=1536905046;?Hm_lpvt_f0cfcccd7b1393990c78efdeebff3968=1536905046;?cvde=5b9b18152e001-33', ????'Host':?'idcbgp.cn', ????'Pragma':?'no-cache', ????'Referer':?'http://idcbgp.cn/learn/348', ????'User-Agent':?'Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10_12_4)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/69.0.3497.92?Safari/537.36', ????'X-Requested-With':?'XMLHttpRequest' ??} }; var?req?=?http.request(options,?function(res)?{ ??console.log('Status:'?+?res.statusCode); ??console.log('headers:'?+?JSON.stringify(res.headers)); ??res.on('data',?function(chunk){ ????console.log(Buffer.isBuffer(chunk)); ????console.log(typeof?chunk); ??}); ??res.on('end',?function()?{ ????console.log('評(píng)論完畢'); ??}); }); req.on('error',?function(e)?{ ??console.log('Error'?+?e.message); }); req.write(postData); req.end();
查看全部 -
一、nodeJs不存在瀏覽器中的冒泡,捕獲等行為。有events模塊。
二、EventEmitter事件發(fā)射,事件監(jiān)聽。支持多個(gè)事件監(jiān)聽,最大支持10個(gè)(值可以修改)。
life.setMaxListeners(11);
三、
//?查看事件是否被監(jiān)聽過 var?hasConfortListener?=?life.emit('hug',?'漢子');?//?true:監(jiān)聽過,false:沒被監(jiān)聽
四、
////?①事件監(jiān)聽的移除 life.removeListener('hug',?water);?//?hug:事件名,water:方法名 life.removeAllListeners('hug');?//?批量移除 ////?②事件監(jiān)聽的數(shù)量 life.listeners('hug'.length); EventEmitter.listenerCount(life,?'hug');
查看全部 -
一、sudo npm install cheerio。像jquery一樣的模塊。如果沒有sudo,會(huì)報(bào)錯(cuò)(沒有權(quán)限)。
var?$?=?cheerio.load(html);
二、forEach是js中的方法(針對(duì)數(shù)組),each是jquery中的方法。
查看全部 -
一、測(cè)試http性能,appache自帶的ab.
ab?-n1000?-c10?http://localhost:2015/
(1)-n:總請(qǐng)求數(shù), ?
-c:并發(fā)數(shù),Concurrency[k?n'k?r?nsi](并發(fā)性)。
-t:測(cè)試進(jìn)行的總時(shí)間,-p:post數(shù)據(jù)文件,-w:以html表格形式輸出文件。
(2)2015后要加/
二、重要指標(biāo)
1、Requests per second:服務(wù)器吞吐率。
2、Time per request:用戶平均請(qǐng)求的等待時(shí)間。
3、第2個(gè)Time per request:每個(gè)連接請(qǐng)求時(shí)間實(shí)際運(yùn)行時(shí)間的平均值。
查看全部 -
作用域:與調(diào)用函數(shù),訪問變量的能力有關(guān) 作用域分為:局部和全局(在局部作用域里可以訪問到全局作用域的變量,但在局部作用域外面就訪問不到局部作用里面所設(shè)定的變量)?
?上下文:與this關(guān)鍵字有關(guān) 是調(diào)用當(dāng)前可執(zhí)行代碼的引用 ? ? ? this總是指向調(diào)用這個(gè)的方法的對(duì)象 js里的this 通常是當(dāng)前函數(shù)的擁有者,擁有者叫做執(zhí)行上下文。在nodejs中聲明函數(shù)中的this指向全局global,js中指向window。實(shí)例化函數(shù)后,指向當(dāng)前函數(shù)的擁有者。
call和apply可以改變上下文執(zhí)行對(duì)象。(把原來的this全都替換成自己指定的對(duì)象即可理解。)
查看全部 -
一、github項(xiàng)目頁(yè)按下't'鍵,能快速調(diào)出搜索頁(yè)。
二、搜索http.js,知道createServer做了什么事,搜索_http_server, emit觸發(fā)request事件。
查看全部 -
一、javascript的this指向當(dāng)前函數(shù)的擁有者。擁有者叫做執(zhí)行上下文。
this只能在函數(shù)內(nèi)部使用。
二、node.js中this
1、
var?pet?=?{ ??words:?'...', ??speak:?function()?{ ????console.log(this.words); ????console.log(this?===?pet);?//?true ??} }; pet.speak();
2、nodeJs中是global,javascript是window
?function?pet(words)?{ ???this.words?=?words; ???console.log(this.words); ???console.log(this?===?global);?//?true ?} ?pet('...');
三、上下文
定義時(shí)的上下文、調(diào)用時(shí)的上下文、上下文的改變。
四、函數(shù)的調(diào)用,函數(shù)擁有的2個(gè)方法:call、apply。
1、call, applly可以改變上下文執(zhí)行對(duì)象。
2、call函數(shù)需要一個(gè)參數(shù)列表, apply允許傳遞一個(gè)參數(shù)或者數(shù)組。改變上下文調(diào)用環(huán)境。
3、調(diào)用對(duì)象方法, 用另一個(gè)對(duì)象替換當(dāng)前對(duì)象。
查看全部 -
一、http
1、回調(diào)
2、同步、異步
3、I/O
磁盤的寫入和讀取
4、單線程、多線程
(1)瀏覽器的js是單線程的。
(2)js最基礎(chǔ)的異步函數(shù)是setTimeout, setInterval。
(3)單線程的nodeJs,可以通過異步達(dá)到多線程的效果。
5、阻塞、非阻塞
6、事件
7、事件驅(qū)動(dòng)
為某個(gè)事件注冊(cè)了某個(gè)函數(shù),但是這個(gè)函數(shù)不會(huì)立即執(zhí)行,只有事件觸發(fā)了才會(huì)調(diào)用回調(diào)函數(shù)。
8、基于事件驅(qū)動(dòng)的回調(diào)
9、事件循環(huán)。
查看全部 -
一、http1.0的請(qǐng)求方法(8種):
get、post、put、delete、head、trace、options
查看全部
舉報(bào)