如果大家有在寫 Node.js Express Framework,一定對 Mocha Unit Testing 不陌生,各位工程師不要太相信自己寫的程式碼
,產品上線前,務必要把 Unit Test 寫完整,如果是要 Code Refactor,那測試的重要性更是大。網站架構越來越大,功能越來越多,每寫一個新功能,都會產生 side effect,造成其他程式或邏輯出錯,這時候就需要 Unit Test 來驗證邏輯的正確性。使用 Express 寫 API 我個人會建議使用 Supertest + Should.js 來驗證後端程式碼即可,這幾套框架都是由 TJ Holowaychuk 完成。使用 supertest 也可以讓 express 不用 listen port 就可以測試。
Git Flow and JavaScript Coding Style
Git 已經是每日必備使用的指令,在平常工作上常常使用到 git rebase 或 git merge,發現很多工程師不知道什麼時候該用 rebase 什麼時候該用 merge,所以做了底下投影片來清楚描述 git rebase 及 merge 的優缺點及使用時機。
[Read More]成立 iojs 台灣群組
昨天在 node.js 台灣群組討論對岸已經成立 iojs-cn,不多說我們也請官方幫忙成立了 iojs-tw,目前的工作只有兩項,就是負責將[ iojs 官網]翻譯成中文,這部份 @cfsghost 已經送 PR 給官方了,另外就是翻譯官方的 Weekly Notes,iojs 每週五都會發布一篇 iojs 的最新動態,我們就是負責將其中文化,上週五已經翻譯好了請參考如下:
[Read More]Automating your workflow with Gulp.js
今年 2014 COSCUP 在 7/19,20 中研院舉辦,由於 JSDC 今年比往年還要晚半年舉辦,所以本來想投在 JSDC 的議程,就先拿到投到 COSCUP 議程。去年 JSDC 講了 Javascript command line tool GruntJS 介紹,講完經過半年,Gulp.js 就出來了,我馬上跳過去嘗試,用過之後,就像變了心的女朋友,回不來了,底下是 Gulp.js Slides。
[Read More]用 Google PageSpeed Insights 計算 Desktop 或 Mobile 網站分數
相信工程師在調整網站效能一定會使用 Google PageSpeed Insights 來得到測試效能數據報表,但是這僅限於使用 Chrome 或 Firefox 瀏覽器。每次跑 PageSpeed 時候,Chrome 就會出現哀號,並且吃下許多記憶體。有沒有 command line 可以直接用 Google PageSpeed Insights 測試 Desktop 或 Mobile 的分數。Google 工程師 @addyosmani 寫了一套 PageSpeed Insights for Node - with reporting 稱作 PSI,可以直接透過 Node 來產生基本 report,這 report 真的算很基本,跟 Chrome 的 extension 跑起來的 report 是不一樣的。這工具可以用來紀錄每次 deploy 網站時的一些數據變化。底下附上 Google 網站報告
[Read More]Gulp.js 工具包
本篇來整理關於 Gulp.js 的一些 GUI 工具,對於不瞭解 Gulp.js 可以參考之前我寫的 The streaming build system Gulp,會紀錄這篇最主要是看到有人在 Github 發了這篇 Is there any GUI tool for Gulp? 而 Gulp.js 底層作者 @robrich 跳出來列出了很多工具,整理如下
[Read More]在 Chrome 瀏覽器使用 Terminal 終端機

簡介
不知道大家有無在瀏覽器內直接連上 Terminal 終端機,今天來介紹 DevTools Terminal,這是一套 Chrome extension,它可以讓您在 Chrome 瀏覽器直接使用 Terminal,平常開發程式,一定會常常切換瀏覽器及 Terminal 軟體,現在開發者可以直接在瀏覽器連上 Terminal,並且開始使用 Git, Grunt, wget 甚至 Vim 等指令。
[Read More]Javscript 18 歲生日歷史演進
在 resin.io 看到這篇 Happy 18th Birthday JavaScript! A look at an unlikely past and bright future. 裡面有些 Javascript 發展史,蠻有趣的,分享給大家看看。18 年前由 Netscape 和 Sun 共同 Release Javscript,在當年18天後,Ruby 也同時發佈了,底下來看看 Javscript 歷史演進。
[Read More]Drone.io 搭配 Ruby 環境測試
相信現在 Git 已經是大家共通的版本控制工具,每當專案有新的 commit,我們可以透過 Travis 來幫忙做測試,但是 Travis 真的只有支援測試而已,如果測試成功想要進一步 Deploy 到任何機器或者是繼續做任何動作,這些都不支援的,那國外有些 Service 可以整合 Github 或 Bitbucket Project 幫忙做到自動測試及 Deploy,比較常見的就是 Codeship,這服務非常強大,整合了 Heroku,App Engine,Nodejitsu .. 等服務,Deploy 也支援 Fabric, Puppet, Shell script 等等,這家的收費是看每個月做了多少次編譯測試動作,最便宜的方案每個月 $9 美金,只能編譯 50 次。
[Read More]JSDC 和 KSDG 影音紀錄 (淺談 GruntJS 整合開發工具)
JSDC 擔任講師,演講主題為『你不可不知的前端開發工具』,這場議程只有30分鐘可以講,時間實在是不太夠,要消化這麼多工具其實對於聽眾有點困難,真是對不起聽眾了,不過沒關係,高雄 KSDG 五月份邀請我講『打造團隊共同開發環境』,其實就是將 GruntJS 精華整個講一遍,大概有一個多小時,底下是官方影音,如果朋友們沒北上參加,也可以透過 JSDC Youtube 來欣賞。 JSDC 35分鐘議程
[Read More]