jQuery 釋出 1.9 及 2.0 版本,官方團隊也同時推出 jQuery Migrate Plugin 1.0.0 版本,此 Plugin 是跟 jQuery 1.9 或 2.0 一起搭配使用,偵測 jQuey 已移除或者是將被移除的功能,讓您之前開發的 jQuey 功能可以持續使用,但是似乎很多使用者不知道此 plugin 用處,就直接升級 1.9 或 2.0,並未載入 migrate plugin,造成官方收到很多 feed back 都是關於一些舊功能不能使用。半個月後 jQuery 官方收到很多 migrate plugin 回報問題,這次一樣可以透過 jQuuery CDN 載入,程式碼如下。
壓縮版本[Read More]CodeIgniter Error Handler 處理
CodeIgniter 在處理 PHP Error handler 是直接呼叫內建的 Exceptions Class 顯示在瀏覽器上,如果有打開 log,系統另外會紀錄在 application/logs 目錄。這是 CodeIgniter 預設作法,但是我希望能把這些錯誤訊息都紀錄到 Database,相關 Notice, Error 訊息都一律寫到 DB 裡面,但是如果用 extend 系統內的 Exceptions 是完全做不到的,所以我寫了一個 Library 只要直接 include 系統就可以直接開始紀錄,因為在 PHP 你會遇到無數種 User experience,都會產生相關錯誤訊息,在產品上線都會將 display_errors 設定為 0,不要讓使用者看到任何錯誤訊息,但是我們還是需要全部的錯誤訊息阿,底下來看看如何安裝 Log Library。
建立 log table 可以直接參考
連結,或者是複製底下資料貼到 phpMyAdmin。
-- -- Table structure for table `logs` -- DROP TABLE IF EXISTS `logs`; CREATE TABLE IF NOT EXISTS `logs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `errno` int(2) NOT NULL, `errtype` varchar(32) CHARACTER SET utf8 NOT NULL, `errstr` text CHARACTER SET utf8 NOT NULL, `errfile` varchar(255) CHARACTER SET utf8 NOT NULL, `errline` int(4) NOT NULL, `time` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;[Read More]
JavaScript 的 if 條件判斷式
網路上看到這篇 Two Things About Conditionals in JavaScript,比較另我訝異的是第一點 One: There is no else if
,該作者提到在 JavaScript 的寫法裡面沒有 else if,底下直接看例子:
function saySomething( msg ) { if ( msg === 'Hello' ) { console.log('Hello there'); } else if ( msg === 'Yo' ) { console.log('Yo dawg'); } }
上面是我們一般在寫 JS 會用到的條件子句,但是實際上 JS 寫的就是
function saySomething( msg ) { if ( msg === 'Hello' ) { console.log('Hello there'); } else { if ( msg === 'Yo' ) { console.log('Yo dawg'); } } }
Firefox OS Developer Preview Phone 簡介
CodeIgniter 台灣官網原始碼釋出
CodeIgniter,拿到第1版原始碼來自 中國 CodeIgniter ,版本是很舊的 1.7.x 版本,目前官方已經是 2.1.3 版本,現在朝 3.0.x 版本邁進,這次有機會將整個原始碼改寫成 3.0.x develop 分支版本,也將整個官方 source code 分享出來,讓需要原始碼範例初學者可以參考,Source Code 已經放在 github 上面,由於是拿大陸那邊的原始碼,也許有些地方寫的不是很完整,歡迎大家 pull request。 台灣 CodeIgniter Source Code Github
jQuery 1.9 final, jQuery 2.0 beta and Migrate plugin 釋出
今天早上來到公司就發現一個令人振奮的訊息,那就是 jQuery 1.9 and 2.0 beta Release 了,相信大家對於 jQuery 應該都不是很陌生了,釋出同時官網也有寫一份 jQuery 1.9 upgrade guide 文件,來幫助大家升級舊版本。那為什麼這次會同時釋出 1.9 以及 2.0 beta 呢?我們來看看 jQuery 團隊如何定位 jQuery 1.9 及 2.0: 1. jQuery 1.9 和 2.0 擁有相同的 API,一些官方打算移除的 API 像是 $.bowser,在這兩版本都已經移除,更多的訊息可以參考 jQuery 1.9 upgrade guide 2. jQuery 1.9 可以執行在 IE 6,7 和 8 版本(“old IE”),就如同之前的版本一樣升級 3. jQuery 2.0 將不在 old IE 版本上執行,此版本會比 1.9 版本還要小以及效能好 4. jQuery 團隊會持續維護 jQuery 1.9 及 2.0 版本,所以開發者根據自己的需求下載對應版本
[Read More]Bower 管理網站套件的好工具
Update: bower 在 0.9.0 版以前可以使用 component.json,但是為了避免跟其他工具命名衝突,故 0.9.0 以後版本請改為 bower.json bower 是 Twitter 團隊開發的一套網頁工具,用來管理或安裝 Web 開發所需要的 Package,像是 CSS 和 JavaScript,也可以依據套件的相依性來安裝,簡單來說,開發者不用再去煩惱套件相依性問題,以及時間久了想更新最新版本,還要到各 Package 網站來下載,這些步驟都省了,一個指令就可以全部做完上述的步驟。
安裝 Bower 管理套件 透過
Node.js 的 npm 工具來安裝
$ npm install bower -g[Read More]
Node Version Manager 版本管理 NVM
2015.02.12 官方已經支援 nvm install stable,補上 io.js 說明
本篇不是要介紹 Node.js,是要介紹管理 Node.js 版本的工具,之前是玩 Visionmedia 開發的 n,後來跳到玩 Creationix 開發的 nvm tool,目前支援 stable command,也就是下 nvm install stable
(直接裝好 v0.12.0)。
安裝方式
可以使用 curl
或 wget
方式安裝
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash $ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash
使用方式
# 安裝最新穩定版本 $ nvm install stable # 移除最新穩定版本 $ nvm uninstall stable # 使用穩定版本 $ nvm use stable $ nvm run unstable --version
如果有玩 io.js 可以下
$ nvm install iojs
Percona XtraBackup InnoDB 備份工具
Percona XtraBackup 是一套 compiled C 程式,用於備份 MySQL InnoDB 資料庫,過去備份 MyISAM 或 InnoDB 都是透過 mysqldump 指令,或者是直接 copy /var/lib/mysql 目錄當作備份(這方法盡量少做,請確定 MySQL 版本一致),XtraBackup 用於備份 InnoDB 資料部份,請注意這邊,真的只有"備份資料",而不是全部(結構跟資料),底下仔細介紹如何安裝:
安裝方式 大家可以選擇透過
yum 或 apt Repository 方式安裝,下面介紹 apt 方式即可。
[Read More]2013 Firefox OS App Days
Firefox OS 在明年一月會舉辦全球性的 Firefox OS App Days,台灣部份也會在 2013/01/26 進行,地點也就在台灣 Mozilla 台北辦公室,這次的活動主要的目的是讓其他程式開發者可以瞭解如何開發 HTML5 apps 以及將 apps 提交到 Firefox Marketplace,並且可能會有一些機會讓開發者可以發表自行開發的 apps,另外還有一個重點就是會詳細介紹 Firefox OS 的生態消息,個人非常期待 Firefox OS 正式 Release,以及 App Marketplace 平台,是否可以跟 Apple 或 Android 平起平坐,如果想多瞭解 Firefox OS 可以參考 Wiki 平台,一月的活動也算是 Hack Day,參考 FirefoxAppDays 裡面的活動介紹。