The streaming build system Gulp
看到 Yeoman 作者之一 Addy Osmani 開始 review Gulp build system,由於 Yeoman framework 跟 GruntJS 是很緊密結合的,但是 GruntJS 套件愈來愈多,漸漸的執行 GruntJS 後,開始吃了系統 CPU 及記憶體,這對於開發環境而言,會是一大負擔阿,大家不知道有無發現,跑 Nodejs GruntJS 時,每當存檔的時候,CPU 就開始哀嚎了,我自己是有這方面的體會,加上團隊內並不是每位同仁的電腦都是很 powerful,原本是好意讓團隊開發更遵守 coding style 及統一開發環境,但是 Grunt 的肥大,讓整個 Client 環境 Loading 飆高。所以 Yeoman 看到了 Gulp。也有考慮如何將 Gulp 整合到 Yeoman 專案。
[Read More]CodeIgniter 初始化 Library 流程

好久沒寫 CodeIgniter 相關文章,這次看到在論壇有人發問 application/libraries 優先權,想說把整個 CodeIgniter 如何讀取 Library 的流程整個寫下來,其實也不會很難,但是就是要照著 CI 定義的規則來命名檔名以及 Class。假設要讀取 Email Library,我們可以透過底下方式讀取
$this->load->library('email');
Jenkins + Apache User Auth
上個月寫過一篇如何設定 Nginx + Jenkins 文章,可以參考: Jenkins + Nginx User Auth,這次筆記 Jenkins + Apache 設定方式
[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]玩命關頭主角 Paul Walker 享年 40 歲
玩命關頭主角 Paul Walker 發生車禍意外享年 40 歲,在 Twitter 得知此消息,Wiki 上面也已經更新死亡訊息了。
It's with a heavy heart that we must confirm Paul Walker passed away today in a tragic car accident...MORE: http://t.co/9hDuJMH99M - #TeamPW
— Paul Walker (@RealPaulWalker)
玩命關頭一直是我追逐的動作片,如今主角已經先走一步,希望能有 Paul Walker 的紀錄片出來 ... 底下是車禍現場影片Youtube IFrame API Unable to post message Issue
YouTube IFrame Player API 提供了簡單的介面及方法,讓網站可以快速整合 Youtube 影片,但是不得不說 Google 針對 Youtube API 時常改版,所以就會常常碰道友時候可以動,有時後不可以動。Youtube 在 2011 公告開始支援 https protocol,所以現在很多網站存取 Youtube API 時,都會使用底下寫法
[Read More]jquery-serialize-object 不支援 IE7,8 瀏覽器?
最近專案需求用到 jQuery Serialize Object plugin,它能夠自動將 Form 表單內的值,全部轉成 object 或 json 字串,減少開發者每次都要寫抓取 Form 表單內全部欄位的值。此套件安裝及使用方法都很容易,安裝可以透過 Bower 方式,或者是下載 source code 直接 include 即可,在 IE 7 或 8 為什麼沒辦法使用呢,原因是作者使用了 Array.prototype.forEach,此語法需要 JavaScript 1.6 版本,很抱歉,在 IE8 並不支援 forEach 寫法,所以 Mozilla Javascript 開發者文件內有提供 Compatibility 方法: if (!Array.prototype.forEach) { Array.prototype.forEach = function (fn, scope) { ‘use strict’; var i, len; for (i = 0, len = this.length; i < len; ++i) { if (i in this) { fn.call(scope, this[i], i, this); } } }; }[/code] 但是既然這是 jQuery Plugin,就可以透過 jQuery 內建的 each 函式來解決,最後發了 Pull request 給作者,就看作者收不收了 XD
西聯匯款 Google Adsense 取款步驟
Google Adsense 服務朋友們,相信在台灣的取款方式都是透過西聯匯款,以前支援西聯匯款服務的銀行還蠻多的,但是這次取款發現只剩下兩間銀行大眾銀行及京城銀行,所以大家不要再跑去其他銀行了,取款之前請先到西聯匯款查詢家裡附近有哪些銀行可取款,出發前,你只要準備好底下資料即可。
* 收件人 first name 及 last name (您的英文名字) * 匯款人 first name 及 last name (Google Inc) * 匯款人城市及國家 US-United States 美國 * 匯款處理編號 (MTCN) Money Transfer Control Number (請由後台觀看) * 款項金額 * 身份證 以上是櫃台小姐會請你提供,另外也會詢問你這筆費用的作用是?就回答廣告費即可,最後會依照當天的匯率轉換成美金給你。步驟相當簡單,給需要的朋友們參考看看。
將 Backbone Framework 升級到 1.1.0 注意事項
Backbone.js 經過了半年終於在 10 月 Release 了 1.1.0 版本,這次升級最重要的一點就是,Backbone 本來在 View 有支援 options,讓你可以透過初始化過程,將自定額外的 key 及 value 帶入,並且可以隨時透過 this.options.key 的方式取得資料。直接給例子來解說好了
this.example = new Backbone.View.extend({ template_name: "user_edit", el: "#main" });上面是宣告 Backbone.view 的寫法,程式設計師可以傳入 object 設定,並且可以在程式任意地方,使用
this.example.options.template_name 方式來得到 user_edit 值,如果是使用 Backbone 1.1.0 之前的版本都沒問題,要升級到 1.1.0,又想要此功能,請務必在 view 的宣告前就必須加一段程式碼(後面解說)。為什麼作者會拿掉呢?因為有開發者發 issue 說為什麼 View 有這功能,那 Model 為什麼沒有呢?,這會讓未來加入開發的程式設計師感到困擾,所以作者就決定拿掉這塊
[Read More]