如何使用 Apache Module mod_mime

apache_software_foundation_logo_3074

Apache 可以透過 mod_mime 模組且根據使用者定義的副檔名來 response data 給 Client 端,此功能可以應用在前台搭配 Template Library,例如 Mustache Logic-less templates,透過此 Apache 模組 可以在 html 檔案將定義好全部 Template,一次讀取進來,底下舉個例子:

我們希望 apache 能夠讀取 assets/templates/test1.mustache,並且將檔案內容放到 script 裡面,這時候就必須在 apache httpd.conf 定義

text/x-mustache-template


    AddType text/x-mustache-template .mustache
    AddOutputFilter INCLUDES .mustache

[Read More]

CodeIgniter TextMagic API Library Release (簡訊功能)

CodeIgniter
之前寫了

Nexmo 簡訊 API Library for CodeIgniter Framework,現在又發現國外新的一家簡訊系統,叫做 TextMagic,看了一下簡訊價格,27 美金可以傳送 285 通簡訊,似乎比 Nexmo 還貴了一些,不過沒關係,TextMagic 還支援了後台系統或者是 Email 來傳送簡訊,這點倒是不錯,相較於 Nexmo,TextMagic 後台多了太多功能了,不多說了,直接來使用 CodeIgniter TextMagic Libray。

[Read More]

Windows 下安裝 Web Developer tool LiveReload

去年寫了一篇: LiveReload 網頁程式設計師必備工具,介紹如何在 FreeBSD 及 Linux 底下安裝 Livereload,相信過程也都不難,只是筆者目前有在 Windows 底下開發 Web,原本是透過 Linux 來使用 Livereload,但是我發現只有在 Chrome 才可以 Work,但是 FireFox 提供的 LiveReload :: Firefox 附加元件,安裝之後,發現瀏覽器根本沒有出現按鈕讓使用者連接伺服器,所以這方法作罷,查了官網資料才知道已經有提供 Windows 安裝檔架設 Server,及 Browser extension 來連接伺服器。

[Read More]

Backbone.js Event 事件介紹

backbone
今天我們可以來介紹

Backbone.js Event 事件,介紹 Event 之前,大家可以先看看 Backbone.js 的初學介紹,該教學文件可以學習如何載入 Backbone.js library,利用此套件如何去制定各種事件。Backbone.js 提供了3個 method 去控制事件產生、移除、執行,分別是 on(bind)off(unbind)trigger。文字上寫得很清楚 on 就等於 bind,off 就是 unbind,最後就是如何去 trigger 事件。底下就來簡單舉例:

[Read More]

jQuery 1.7 透過 on 來綁定事件

既上一篇作者寫了 Javascript 前端工具 Backbone.js Framework 初學介紹,這次來將程式改寫成 jQuery 寫法,藉這個機會來介紹 jQuery 新功能 on API,底下來看看 jQuery event handle 的演進

//在 jQuery 1.3 以上版本
$(selector).live(events, data, handler);
//在 jQuery 1.4.3 以上版本 
$(document).delegate(selector, events, data, handler);
//在 jQuery 1.7 以上版本
$(document).on(events, selector, data, handler);
上面三種寫法都可以綁定網頁上全部元件,如果只是單純只是用 click bind event 的話,那只要新增的元件就無法作用,講得有點抽象,底下直接看個例子: [Read More]

Javascript 前端工具 Backbone.js Framework 初學介紹

backbone
我相信大家對於後端程式

PHP, Ruby, Python .. 等語言都已經相當熟悉,進階開發者也都接觸了好用的後端 Framework 如 CodeIgniter, CakePHP, Django, Ruby on Rail, Yii, Symfony .. 等,用 Framework 最大的好處並不是在 Framework 提供了大量工具,而是制定了 MVC 架構,讓專案多位開發者可以遵循,上了講了這麼多後端 MVC Framework,那麼前端呢?接下來介紹前端強大工具: Backbone.js

什麼是 Backbone.js 簡單來說 Backbone.js 就是一套前端 Javascript Framework,它提供 MVC 架構,相信大家都玩過後端 MVC,那至於前端呢,好像比較少人提到,這就是介紹 Backbone.js 最主要的目的。Backbone.js 包含了 Model View Controller 來讓使者操作,Model 提供了key-value 結構,以及可以 binding 大量 event,開發者可以透過 RESTful JSON interface 來跟 Backbone.js 的 Model 及 Collection 搭配。如果想瞭解 Backbone.js 線上文件可以參考

GitHub 網站,如果想瞭解程式碼可以參考 source code 註解

[Read More]

jQuery stopPropagation 和 stopImmediatePropagation 比較

近期在幫公司導入 Backbone.js 技術,把後台全面改寫成 Javascript MVC 架構,技術包含 jQuery + Backbone.js + Underscore.js + Mustache Template,這些技術我想可以寫另外一篇 Backbone.js 初體驗,這邊就先不多說了,在 Backbone.js 的 View 架構裡,可以任意 bind events,程式碼如下: RT.View = Backbone.View.extend({ initialize: function() { if (this.model) { this.model.bind("change", this.render, this); } if (this.collection) { this.collection.bind("all", this.render, this); } }, events: { 'click .add': 'add', 'click .edit': 'edit', 'click .delete': 'delete_item', 'click .delete_all': 'delete_all' }, add: function(e) { }, )}; 上面程式碼可以看到,將 click 事件綁在不同 Class 上,但是問題來了,如果同時 new 兩個 RT. [Read More]

Google App Engine 收費機制 Frontend Instance Hours

最近把一個簡易的 Web 丟到

Google App Engine 測試,但是發現每天都會因為 Frontend Instance Hours 不夠用,而造成網站被關閉 (Quota 爆漿),上網找一下解決方法,發現了這篇: Frontend Instance Hours 的問題,只要透過底下方式就可以暫時解決這問題,如果是網站流量很大的話,那可能要考慮開啟付費機制。

解決方式 先進入

App engine 後台,點選您的 Application 之後可以看到左邊選單 Application Settings,進入後找到 Max Idle Instances 還有 Min Pending Latency 這兩項設定,我們必須將 Max Idle Instances 設定為**1**,以及 Min Pending Latency 設定為 15s,但是 Max Idle Instances 預設是不給修改,而是跑 default value “Automatic”,這時候,我們必須把 inbound_services 設定為 warmup 才可以動態調整 Max Idle Instances

設定 inbound_services 請打開網站根目錄底下的

app.yaml,在上面加入

inbound_services:
- warmup
之後將設定上傳後,回到剛剛

Application Settings 將兩個數值調整為上面描述的設定,這樣就可以不用被 Google 收費了,想省錢的朋友們,可以儘快設定。

phpfog 免費提供升級 Silver 一個月

phpFog 最近放出一個消息 Get $29 account credit by just deploying a new App!,內文大意就是說,只要您註冊網站成功,並且新開 application,系統就會在帳戶增加 $29 美元,您隨時可以升級到 Silver Cloud,重點是免費的啦,如果大家想玩看看,就趕快去註冊吧,開放時間是 8 AM PST on 6 March 2012 and runs until 8 AM PST on 9 March 2012.,不確定時間是不是過了 XD,如果已經有帳號的,可以直接到 Live Chat 直接請他們把 Credit 加上去就好。 phpfog 搭配當紅 git 來當作下載及上傳程式碼,跟過去都是用 FTP 方式來運作有很大的不同,所以用此平台之前,請先學會基本 git version control,網站提供了很多 PHP Framework 或 Application,例如 CodeIgniterCakePHPFuelPHPLaravel…等,不管選擇哪一個 Framework,都可以隨時修改,系統只是預設把 Source Code 抓下來放到 Application 裡面,所以可以任意刪除。