CodeIgniter 1.7.x vs 2.0.x 的改變及新增功能
CodeIgniter 2.0.x 已經 Release 一段時間了,去年的 2010 CodeIgniter Conference 會議上一些國外講者分享了 2.0 的改變及新功能,底下這投影片個人覺得還不錯,點出了升級步驟及 2.0 新功能介紹,大家可以參考看看
2011 CodeIgniter Conference 將會在紐約舉行,大家可以敬請期待。
svn 恢復略過衝突檔案 (conflict file)
當我們利用 svn up 更新程式碼,如果遇到修改相同檔案的相同地方,就會發生衝突 (conflict) 此時就必須修改或者是略過,當選擇略過此檔案就會出現底下訊息
Skipped ’lib/logs/logDB.txt’ Skipped ’lib/confs/Conf.php’ At revision 912. Summary of conflicts: Skipped paths: 2 之後怎麼用 svn up 更新檔案,都會因此被略過,那該怎麼恢復被略過檔案的狀態,讓它們可以繼續被更新呢?網路上找到一篇 svn local obstruction, incoming add upon merge 解法,用 svn resolve 來解決問題,只要針對該檔案打入底下指令即可
svn resolve --accept working lib/confs/Conf.php svn resolve --accept working lib/logs/logDB.txt
在 Ubuntu 安裝或升級 Git 版本控制的3種方法
解決在 Ubuntu Terminal 底下 git diff 沒有輸出結果 10.10
自從把筆電安裝成 Ubuntu 10.10 maverick 後,把所有 github 上面程式碼都用 git clone 下來,最近遇到一個非常奇怪的問題,那就是修改檔案之後,正常來講,可以用 git diff 來查看修改過的程式碼,但是非常奇怪的事情就發生了,『完全沒有輸出』,後來在網路上找到一篇解法 git diff shows no output,原來是 $LESS 這個環境變數搞的鬼,其實可以用 git diff | cat 方式看到 diff 結果。 我們打開 .bashrc 發現底下設定
export EDITOR="vim" export GIT_PAGER="less" export LESS="-XEfmrSw" export PAGER="most"重點就在於 $LESS 必須加上
-X,並且請裝上 most 這指令
apt-get install most
你不可不知的 JSON 基本介紹
還不知道 JSON 是什麼嘛?本篇教學會帶您瞭解 JSON 在網站上的應用,以及運作流程跟使用 PHP 和 JavaScript 來處理 JSON。假如您現在的工作就是網站設計師,相信一定聽過 JSON,但是什麼是 JSON,它能夠做什麼,及您能透過它在網站上做到哪些事情呢?
透過本篇介紹您可以瞭解基本的 JSON,底下會列出本篇會提到的重點:
- 什麼是 JSON
- JSON 應用在哪些地方
- 如何建立 JSON 字串
- 一個簡單的 JSON 範例
- JSON vs XML
- 如何透過 PHP 及 JavaScript 使用 JSON
什麼是 JSON
JSON 是個以純文字為基底去儲存和傳送簡單結構資料,你可以透過特定的格式去儲存任何資料(字串,數字,陣列,物件),也可以透過物件或陣列來傳送較複雜的資料。一旦建立了您的 JSON 資料,就可以非常簡單的跟其他程式溝通或交換資料,因為 JSON 就只是個純文字格式。
JSON 的優點如下:
- 相容性高
- 格式容易瞭解,閱讀及修改方便
- 支援許多資料格式 (number,string,booleans,nulls,array,associative array)
- 許多程式都支援函式庫讀取或修改 JSON 資料
CodeIgniter 2.0.X MVC 架構介紹

這次受到 OSSF::自由軟體鑄造場(Open Source Software Foundry) 邀請在高雄講 CodeIgniter 2.0.X 系列講座,一整天的課程,可以參考 KaLUG 社群技術分享工作坊 - 快速學習 PHP Framework - CodeIgniter 2.0,2009 年我也是講了一場介紹 CodeIgniter 1.7.X 講座,這次針對於 CodeIgniter 2.0.X 做了詳細介紹,及我們該如何轉換原本網站程式到 CI 上面,學員雖然來的不多,但是我相信大家都有學到這次講課的精華,就是 CodeIgniter MVC 架構,跟如何應用 Controller Model Views 基礎用法,看到大家都很認真學習,還有學員從雲科大到高雄,真的太令我感動了,希望這次議程沒有讓學員們失望,底下附上我的簡報:
簡報檔
如何建立 Ram Disk 在 Ubuntu 上面
Update: 此篇文章建立 RAM DISK 還是用原來 3G 記憶體,而不是用 4G 裡面的 1G,感謝威阿提醒修正 之前拜了一台筆電 Toshiba Portege R700,拿到電腦馬上二話不說,灌成 Ubuntu 10.10 32 位元,但是筆電有 4G 的記憶體,32位元只能支援到 3G,所以剩下 1G 就拿來當作是 Ram Disk,反正不用白不用,可以把臨時要用且關機不需要的檔案或程式丟到 RAM DISK,如果把 FireFox 的 cache 資料放在裡面應該會蠻快的,底下紀錄如何開機就直接掛上 1G 的 Ram Disk。 兩個步驟就可以了:
mkdir -p /media/ramdisk mount -t tmpfs -o size=1024M tmpfs /media/ramdisk把上面寫到
/etc/rc.local 檔案,這樣開機就會自動把 RAM Disk 掛上去。
CodeIgniter 2.0.2 Released

CodeIgniter 又推出新版 2.0.2 Released,這次升級最主要是針對**安全性的漏洞**,以及一些 bug 修正,升級步驟也非常簡單,可以參考 Upgrading from 2.0.1 to 2.0.2,只要把 Core 核心檔案換掉,還有如果在程式碼有載入 Security Library 的地方全部取消,看底下: 舉例 Example:
$this->load->library("security");如果程式碼有用到上面部份,請將其拿掉,因為現在系統已經將 Security Library 加入核心一部分提高整個網站安全性。如果要想知道 2.0.2 做了哪些修正,可以參考用 cpanm 安裝 Perl 相依性模組
最近在寫 Perl 爬蟲程式,需要用到短網址 Bitly 的 API,所以找了 WWW::Shorten::Bitly,本篇紀錄安裝使用 cpanm 這 Perl 的小工具,此工具不需要任何設定,只要下載到 bin 目錄就可以正成使用了。由於 Ubuntu 沒有包好的 dpkg 可以用,所以才想到用 cpanm。
安裝 cpanm
mkdir ~/bin wget --no-check-certificate http://bit.ly/cpanm -O ~/bin/cpanm chmod +x ~/bin/cpanm或者可以直接安裝到
/usr/local/bin/ 底下,這樣不用在重新把 PATH 改寫
sudo cp ~/bin/cpanm /usr/local/bin/
使用 cpanm
# 安裝 WWW::Shorten::Bitly cpanm WWW::Shorten::Bitly # 安裝 distribution path cpanm MIYAGAWA/Plack-0.99_05.tar.gz # 從 URL 安裝 cpanm http://example.org/LDS/CGI.pm-3.20.tar.gz # 安裝本機檔案 cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz另外介紹幾個 option --sudo 直接用 sudo 方式安裝,也就是 root 啦 --verbose 檢查安裝過程 --notest 不需要測試 --force 強制安裝 --reinstall 重新安裝,假如已經有安裝過的軟體,一樣會 reinstall --installdeps 只安裝相依性軟體 非常簡單吧,這是懶人做法,如果在