PHP 為 Regex 加跳脫字元 的 function: quotemeta

使用 Regular expression 時, 有以下這些特殊用途的符號:

. \ + * ? [ ^ ] ( $ )

若要處理某些輸入, 直接丟給 preg_match / preg_replace.. 等 使用, 就會有出乎意料外的結果.

閱讀全文〈PHP 為 Regex 加跳脫字元 的 function: quotemeta〉

Apache2 載入 Expires 的模組(mod_expires) 與 設定

設定 圖片 / CSS / Javascript 等靜態檔案的過期時間, 可以讓網頁下次 loading 的速度更快(直接從瀏覽器的 cache 拉), 也可以節省 頻寬 和 Apache 吐這些檔案所耗的資源.

閱讀全文〈Apache2 載入 Expires 的模組(mod_expires) 與 設定〉

Debian Linux 安裝 php-java-bridge (tarball 安裝)

雖然 php-java-bridge 有包好的 deb 檔, 但是安裝的東西稍嫌多了點(詳可見: Debian Linux 安裝 php-java-bridge (使用deb安裝)), 使用 tarball 安裝, 可以少安裝蠻多不必要的 Package.(省掉安裝 tomcat 就差蠻多了)

閱讀全文〈Debian Linux 安裝 php-java-bridge (tarball 安裝)〉

Debian Linux deb 安裝失敗導致 Package 無法移除 解法

Debian 使用 dpkg 安裝 Package, 但是此 Package 有很多其它相依性, 造成安裝完成後, 需要補 相依Package, 但 相依的Package 無法安裝, 而此 Package 也無法移除, 造成很大的困擾.

閱讀全文〈Debian Linux deb 安裝失敗導致 Package 無法移除 解法〉

Project release 的 更新/還原 控制 Script

專案完成後, 第一次就直接 Release 即可, 那之後的版本更新應該怎麼辦?

常見的幾種做法:

  1. 開發者更新程式是直接修改線上版
  2. 開發者先在測試環境修改完程式, 再將修改過的程式複製到線上 (或直接 svn release / svn up 蓋掉線上檔案)
  3. 將舊版的 proejct_name mv 做成 舊版project_name-當天日期, 再將新版程式改成 project_name.
  4. 不管哪種版本, 總之全都加上日期(ex: prject_name-日期), 然後用 ln 的方式, 將 project_name link 到最新版的程式.
  5. 最標準的做法: 包裝成 Package, 然後去做 Release, 當有問題時, 可再馬上還原回舊版的程式.

閱讀全文〈Project release 的 更新/還原 控制 Script〉

PHP 分割字串 Function 的速度比較(substr/sscanf/preg_match)

固定長度的字串(假設是 06481a63041b578d702f159f520847f8), 要照固定格式做切割, 使用 PHP 要怎麼切會比較快?

註: 要將此字串切成 => 06 / 48 / 1a63041b578d702f159f520847f8 這三個字串.

閱讀全文〈PHP 分割字串 Function 的速度比較(substr/sscanf/preg_match)〉

海角七號 觀看後的資料整理

海角七號 朋友們都推薦去看此片, 於是就趁上週週末去看此片, 真是從頭笑到尾.. XD

看完此部片, 原來這就是台灣拍出來的國片, 我不曉得這種片子是否能打進國際市場, 不過在台灣, 我覺得這部是非常棒的片子. 總之, 還沒去看的, 就當做響應國片, 去看就對了, 一定值回票價~ 🙂

閱讀全文〈海角七號 觀看後的資料整理〉