原创 use generator and co in mocha
主要的點在於當 it() 函數的回調函數帶有done參數,mocha會等到回調函數裏面出 done 或者或者超時才完成一條測試。同時因爲每個測試用例最多執行2000毫秒,所以要面對需要很長時間的測試,需要通過設置 -t 來修改最長
原创 Node中require()的原理
module = new Module() //module 爲 Module類的實例 var Module = function(id, parent) { this.id = id; this.exports =
原创 10 個技巧,讓你在2017 年成爲更好的 Node 開發者
本文是由我們的客座作者Azat Mardan寫的。SitePoint引入客座帖子的目的是希望能給你帶來web社區裏著名作者和演講者的有趣內容。 在2012年,我加入了Storify並開始使用Node作爲我的主要語言。從那以後,我從未回首
原创 學習JavaScript中的異步Generator
原文:https://www.bignerdranch.com/blog/asyncing-feeling-about-javascript-generators/ 你想看精簡版本麼 這裏是所有三個例子的要點 異步的generator
原创 Apache Proxy和Redirect(Proxy與Redirect衝突問題)
最近在國外的一臺機器上部署了公司的代碼,但是因爲有很多的圖片資源,所以國內訪問很慢,而客戶這段時間剛好在國內,所以想要把所有的圖片資源的鏈接重定向到國內的一臺機器上。 本以爲加上一段Redirect或者RedirectMatch什麼的就可
原创 Cluster
當我們去了解Cluster的時候,我們會在node的官方文檔的一開始就會看到一個簡單的例子 // 這個例子是根據cpu的核數來生成對應的子進程數量, // 然後每個子進程都運行一個綁定到8000端口的http server const c
原创 Koa中間件(middleware)實現探索
說起Node,最常用的估計就是express和koa,兩者都用到了中間件(middleware)這一概念,主要用於對請求的統一處理。 koa的請求處理是典型的洋蔥模型,下面是官方的配圖,而這一模型的組成部分就是middleware 接
原创 js浮點運算精度問題和IEEE754
原文鏈接 當我們使用一段時間的JS之後會遇到下面這個問題 0.1 + 0.2 === 0.3 // false 我們可以在控制檯裏面看到0.1+0.2輸出的並不是0.3而是0.30000000000000004。那麼爲什麼出現這樣的問
原创 ES6展開運算符(擴展運算符)的使用技巧
原文鏈接 在ES6中,我們有了一個新的運算符–展開運算符,它可以使我們的代碼的數量有一定的減少,有時候甚至有很有用的作用,我們來舉幾個常用的例子,同時通過例子來了解展開運算符的使用。 1.apply中的使用 當我們的函數有多個變量的
原创 js數組去重
原文鏈接 數組的去重在日常的開發中經常碰到的需求,雖然我們真實開發過程中會有lodash,Jquery等框架幫助我們。但是,很多時候我們也需要自己來實現這個簡單的功能 框架 var arr = [1, 2, 3, 4, 5, 5, 5,
原创 語義化版本
semver規則
原创 Javascript原型鏈
原型鏈的繼承就是將子類的prototype.__proto__鏈接到父類的prototype,藉此完成原型鏈 child.prototype.__proto__.= parent.prototype 實例化的對象沒有prototype,p
原创 Bootstrap盒模型
關於盒模型有兩種方案,可以通過box-sizing來控制,關於盒模型其實兩種方案都是表示有margin,border,’padding’,’conent’組成,唯一的區別在於一個Dom的width1到底是指那部分。 box-sizing:
原创 ES6中class的實現
在es6出來之後,我們看到js終於有class這個關鍵字,表示我們終於可以使用官方的類了。那麼es6的類和之前的我們使用原型鏈繼承實現的類有什麼聯繫麼。 答案是一模一樣 JavaScript classes introduced in
原创 反思JavaScript: 通過函數代替break
原文:https://hackernoon.com/rethinking-javascript-break-is-the-goto-of-loops-51b27b1c85f8#.k2oyppp5i 在我的上一篇文章 Death o