修電腦時,對 Windows cmd.exe (命令提示字元) 的印象就是很笨,連 tab 自動補齊都可以百發百不中。
clink 將 bash 的一些功能帶進 windows:
- 路徑、指令自動補齊
- Ctrl-V 貼上

clink – enhances your productivity in Microsoft Windows’ “cmd.exe”
軟體開發和生活瑣事
修電腦時,對 Windows cmd.exe (命令提示字元) 的印象就是很笨,連 tab 自動補齊都可以百發百不中。
clink 將 bash 的一些功能帶進 windows:

clink – enhances your productivity in Microsoft Windows’ “cmd.exe”
前幾天改別人的程式時,用到 Pear DB 的 prepare / binding query 來修改資料:
$sql = "update log set 'enable' = ? where 'size' != 100";
$db->query($sql, array('true') );
但是程式執行卻一直噴錯誤訊息:
DB Error: mismatch
奇怪,問號只有一個啊,語法丟到 PhpMyAdmin 也可以正常執行,但為什麼會錯!?
搞了半天,原來 Pear DB 支援的 placeholder 有三種:
好死不死 SQL 後半段有個「!=」,所以就 GG 了。這個 error 跟之前全形空白真的有拼 ….。
前幾天閒閒沒事在玩 MySQL 大量資料寫入,可是忘記開的 InnoDB engine,/var 上 ibdata1 越來越肥,且把 database 砍掉肥油 (?) 還在。
原來要讓 ibdata1 減肥,必須將所有 DB 砍掉重建。
但有也方法可以讓每個資料表有獨立的檔案,在 my.cnf 加入:
[mysqld]
innodb_file_per_table
Ref:
MySQL :: MySQL 5.0 Reference Manual :: 14.2.1.1 Using Per-Table Tablespaces
http://dev.mysql.com/doc/refman/5.0/en/innodb-multiple-tablespaces.html
CodeIgniter 是個輕巧的 PHP framework,支援 MVC 架構、詳細的文件、還有外掛可以裝。若是第一次使用 PHP framework,CodeIgniter 會是個不錯的選擇。
到官方網站的下載頁面把壓縮檔抓回來,解壓縮到網站目錄下:
wget http://codeigniter.com/download.php -O codeigniter.zip
unzip codeigniter -d ~/public_html
Done.
解壓縮完成就可以說是安裝完成,不需要特別設定,打開瀏覽器就能看到歡迎畫面。

在 CodeIgniter 目錄下會看到這幾個檔案。其中 system 目錄就是 CodeIgniter 的核心程式碼,整個 framework 的函式庫、資料庫驅動、類別檔都會在這個目錄。application 則是網站程式的所在位置,未來所要撰寫的程式都會放在這個目錄下。index.php 是網站唯一的進入點,依照設定以及傳入的參數不同,而載入不同的程式執行。
$ tree -L 1 .
.
├── application
├── index.php
├── license.txt
├── system
└── user_guide
因為核心程式與使用者自行撰寫的程式分開,之後若 CodeIgniter 有新的版本,更新時只要替換 system 目錄和 index.php 即可。
CodeIgniter 的設定檔位於 application/config/ 目錄下,按照不同類型分成幾個不同的檔案,以下針對一些較常用的設定做介紹。
config.php
整個 framework 的基本設定,包括網站網址、character set、session encrypt key、log 與快取位置等。如果安裝完畢需要做設定,通常先來看這個設定檔。
database.php
需要連接資料庫時,帳號、密碼會在這個檔案設定。依照 dbdriver 的不同,需要填寫的項目也會不同,不是每個項目都必須填寫,例如使用 sqlite 時,username、password 是不需要填寫的。
route.php
CodeIgniter 有 URI routing 功能,會將 index.php 後方參數對應到 controller 及他的 method。這個設定檔能讓你設定預設要使用的 controller、自訂 routing。
autoload.php
CodeIgniter 中除了 Load、Input 等類別是預設自動載入以外,其他類別、函式、模組都是需要用到時才載入,若希望 CodeIgniter 執行時期自動載入類別或是函式,可以在這個設定檔中做設定。