Laravel 5.1 is released

很高興昨天收到 Laravel 釋出 5.1 版本,此版本在 Laravel 發展過程中第一個長期支援的版本,底下我們就來看看 Taylor Otwell 作者在此版本釋出有什麼新功能或變化。

[Read More]

Node.js Mocha 延遲測試

687474703a2f2f662e636c2e6c792f6974656d732f336c316b306e32413155334d3149314c323130702f53637265656e25323053686f74253230323031322d30322d32342532306174253230322e32312e3433253230504d2e706e67

如果大家有在寫 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 就可以測試。

[Read More]

Mac iTerm2 + tmux 搭配 Mouse mode

Screen Shot 2015-05-02 at 10.17.10 AM

在 Mac 上必裝 iTerm2 終端機軟體搭配 copy mode 相當好用,只要用滑鼠選擇了一段文字,系統就會自動幫忙 copy,接著在任何地方就可以直接使用 command + v 貼上,如果要多視窗操作,可以安裝 tmux 多視窗軟體,如果使用了 tmux 你會發現滾輪滑鼠無法使用了,也就是看不到執行過的畫面跟指令,這時候就要調整 tmux 設定檔,補上 Mouse mode 設定檔

[Read More]

CodeIgniter 3.0 Release 終於釋出啦

CodeIgniter

從 2.2.x 版本到現在的 3.0 Release,終於等到釋出大家所期待的 3.0,此版本跟 2.2.x 版本差距極大,修正很多 bugs 重構很多程式碼,官網列出底下重大修正,要嘗鮮的請直接下載

  • CodeIgniter 使用 MIT 版權宣告
  • 重構各種 Database Driver library
  • 支援 PDO 所有函數
  • 重新撰寫 Session Library,支援 Native Session
  • 重新撰寫 Encryption library
  • 已加強單元測試部分,以及改善程式碼覆蓋率
  • 官方建議使用 PHP 5.4 或更新版本,但是官方仍繼續支援 PHP 5.2.4

詳細資料,可以參考官方的 ChangeLog,如果要升級 CodeIgniter 2 到 3,請詳細參考升級文件

PS:台灣官網部分近期內會修正

Amazon 推出無限儲存空間方案 一年只要 60 美元

Wird 網站上看到這篇 Amazon’s New Unlimited Cloud Storage Is Absurdly Cheap,也就是說 Amazon 正式加入儲存空間競爭者,在儲存空間方案來說 Amazon 推出一年只要 $60 美金就可以無限制儲存任何檔案,這消息實在是太驚豔了,過去各大公司不曾有這樣的服務啊,像是 Google 每年 $120 美金只有 1 TB 儲存空間,Dropbox 一年 $100 也是只有 1 TB 封頂,而 iCloud 也是需要 $240 美金,從來都沒有人推過一年只要 $60 美金然後無限制空間啊,這真的是好殺啊,底下來看看 Amazon 推出的這兩個方案

Amazon Cloud Drive
[Read More]

Ruby Deploy With Capistrano 碰到 SSH Connection Closed

CapistranoLogo

Ruby 開發環境最常用的 Deploy 工具就是 Capistrano,讓開發者可以快速部署程式碼,在部署進行中,由於大量的 js 及 css 需要處理,所以花最長的時間就是 assets:precompile,執行 cap deploy 就會發現卡在底下錯誤訊息

** [whenever:update_crontab] exception while rolling back: Net::SSH::Disconnect, connection closed by remote host *** [deploy:update_code] rolling back * executing “rm -rf /home/deploy/nami/releases/20150317135422; true” servers: [“xxxxx.tw”] ** [deploy:update_code] exception while rolling back: Net::SSH::Disconnect, connection closed by remote host

[Read More]

透過 https 下載套件,取代 git protocol

現在前端套件幾乎都會透過 Bower 來下載,而 Bower 預設使用 git protocol 來下載原始檔案,如果遇到 timeout 逾時,也就是無法透過 git:// 方式,就必須要切換成 https:// 下載,蠻多人遇到此問題,網路上找到這篇 bower install - github.com connection timed out 解答。在 Console 視窗噴出底下錯誤訊息,就請改用 https 方式。

Additional error details: fatal: unable to connect to github.com: github.com[0: 192.30.252.130]: errno=Connection timed out 切換方式很容易,請在 Console 鍵入底下指令

1
$ git config --global url."https://".insteadOf git://

遇到 bower install 卡卡的也可以用這招 XD

Bower  git  npm 

6to5 JavaScript Transpiler 重新命名為 Babel

es6-logo

先前寫了一篇 CoffeeScript 轉 ES6,裡面有提到 6to5 專案,此專案幫助開發者可以直接寫 JavaScript ECMAScript 6,該專案則會將 ES6 轉成 ES5,但是目前瀏覽器對於 ES6 的支援度還沒有很高,可以直接參考 ECMAScript 6 compatibility table,但是看到專案名稱 6to5,就會覺得如果之後 ES7 出來,不就要多開一個 7to6 專案,果然官方在 Blog 宣佈將名稱正式轉為 BabeljsBabel 也會持續使用最新 JavaScript Standard 開發 JavaScript transpiler 相關工具,讓各種平台程式都可以使用。

現在就可以透過 Babel 來開發 ES6

$ npm install --global babel

ES6 轉 ES5

$ babel script.js

一些來自 Mozilla, Esprima, jQuery Foundation, Acorn, 6to5, ESLint 組織成員,也合力開了 ESTree,而 Babel 以 ESTree 為基底來開發相關 Tool,所以最新的 Standard 也可以直接參考 ESTree。