Feed on
Posts
Comments
推薦本文到Plurk噗浪去!
JSDC 2012

自從去年辦了台灣第一屆 2011 PHP Conference,2012年開始又來新的第一屆 Javascript Conference,在去年的 PHP 會議由於第一次開始舉辦 PHP Conference,所以比較少人投稿,導致議程裡面出現很多 Javascript 議題,這也是很多朋友的疑問 XD。底下來回顧 JSDC 5/19 (六) 個人參加的議程。由於早上差不多10點半才到,所以前兩場議程(Key Note – Ericsk, Node.JS on Windows Azure)就沒有聽到了,比較可惜。如果沒去聽現場的,可以到官方網站下載投影片參考。
Continue Reading »

Tags: , , , , ,

推薦本文到Plurk噗浪去!
logo-Ubuntu

當我們更新 Ubuntu/Debian 伺服器套件時,apt-get update 出現底下錯誤訊息

W: GPG error: http://ppa.launchpad.net maverick Release:
The following signatures couldn't be verified because the public key is not available:
NO_PUBKEY 1C1E55A728CBC482

Continue Reading »

Tags: ,

推薦本文到Plurk噗浪去!
apache_software_foundation_logo_3074

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

<script type="text/x-mustache-template" data-id="me">
  <!--#include file="assets/templates/test1.mustache" -->
</script>

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

<ifmodule mime_module>
    AddType text/x-mustache-template .mustache
    AddOutputFilter INCLUDES .mustache
</ifmodule>

Continue Reading »

Tags: , ,

推薦本文到Plurk噗浪去!
CodeIgniter

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

Tags: , , , ,

推薦本文到Plurk噗浪去!

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

Tags: ,

推薦本文到Plurk噗浪去!
backbone

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

Tags: , ,

推薦本文到Plurk噗浪去!

既上一篇作者寫了 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 的話,那只要新增的元件就無法作用,講得有點抽象,底下直接看個例子:
Continue Reading »

Tags: ,

推薦本文到Plurk噗浪去!
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 註解
Continue Reading »

Tags: , ,

推薦本文到Plurk噗浪去!

近期在幫公司導入 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.View 物件,當我觸發 click 事件時,就會發生兩次一樣的效果,該如何解決這問題呢,可以透過 jQuery 的 stopPropagationstopImmediatePropagation,這兩個其實很好區分,前者只會防止目前 Dom Tree 的上一層事件,後者則是會防止全部 Dom Tree 事件

不多說直接看個例子,先以 stopPropagation 當例子

<div><p style="background-color:#ccc; width:300px; height:300px"></p></div>
$("p").click(function(event){
  event.stopPropagation();
});
$("p").click(function(event){
  alert('test');
});
$("div").click(function(event){
  alert('test');    
});

執行過後,你會發現點選該區域只會跳出一個 alert 視窗,如果把 event.stopPropagation(); 換成 event.stopImmediatePropagation(); 則完全不會跳出 alert 視窗。

Tags: , ,

推薦本文到Plurk噗浪去!

最近把一個簡易的 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 收費了,想省錢的朋友們,可以儘快設定。

Tags: , ,

Older Posts »

Page 1 of 5512345678910...Last »