星期二, 九月 30, 2008

北京行 - 飛機與颱風的巧遇 經驗

要去參加北京的 DEMO CHINA 的活動, 看看目前中國科技的現況, 於是就展開了此北京的行程.

 (閱讀全文)
作者 jon ( My-Life ) :: 迴響 (7):: 靜態連結網址

星期一, 九月 29, 2008

好站: Page2RSS - 為網站建立 RSS Feed

現在有很多網頁, 特別是論壇類的, 大多都沒有提供 RSS Feed, 要知道是否有更新, 就得要回到原站去, 或者用其它瀏覽器的外掛去做偵測(不想再讓 Firefox 的外掛再多下去了).

 (閱讀全文)

星期五, 九月 26, 2008

Windows XP 瘦身

現在 Windows 使用率已經越來越小的狀況, 雖然知道問題, 還是很懶得去動它, 不過硬碟爆掉的問題, 實在是不得不處理的. Orz..

 (閱讀全文)

星期四, 九月 25, 2008

UUID generator function (PHP/Javascript/Ruby)

要產生 唯一值 的做法, 在 PHP 可以用 unique().

除了用 unique 外, 要產生唯一來辨視用的值, 可以考慮使用 UUID(Universally Unique Identifier).

 (閱讀全文)

星期三, 九月 24, 2008

PHP 判斷 Header 送出前, 是否有值被送出去: headers_sent()

header() 最常被拿來送 header('Location: /'); 等等, 做網頁導向的動作.

除了這些動作外, 還有 setcookie(), header()... 等, 這些 function 在執行前, 頁面上都不能有任何輸出(空白也不行), 若有任何輸出, 就會有下述的錯誤訊息:

<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /var/www/test.php:5) in <b>/var/www/test.php</b> on line <b>6</b><br />
 (閱讀全文)

星期二, 九月 23, 2008

Linux Bash 命令: Join (指定某個欄位為主, 來合併多個檔案)

常會遇到有幾個文字檔, 裡面有幾個欄位是跟另外檔案是一致的, 要把他合併成一個檔案, 這時後最快的就是用 join.

  • Man 說明: join - join lines of two files on a common field

這次遇到的狀況是:

  1. find . -size 0 > a # 找出 size 是 0 的 "圖檔檔名"
  2. b # 從 DB 撈出所有的 "相對應的帳號 => 圖檔檔名"
  3. 要將 size = 0 的圖檔都抓出來, 再將 a 和 b 做 join, 會把 a 和 b 依照 "圖檔檔名" 做結合, 就可知道哪些帳號的圖檔 Size = 0, 再來做其它處理囉~
  4. 註: 要注意要結合的那個欄位, 要先做過 sort, 不然可能會有某些欄位無法 match.
  5. 最後再 find . -size 0 -delete 全部砍掉~ :P
 (閱讀全文)

星期一, 九月 22, 2008

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

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

. \ + * ? [ ^ ] ( $ )

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

 (閱讀全文)

星期五, 九月 19, 2008

Windows 自動校正系統時間(NTP)軟體

Linux 的時間校正

ntpdate time.stdtime.gov.tw # 需 apt-get install ntpdate

時間是採用 國家時間與頻率標準實驗室 提供的標準時間.

 (閱讀全文)

星期四, 九月 18, 2008

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

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

 (閱讀全文)

星期三, 九月 17, 2008

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

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

 (閱讀全文)

星期二, 九月 16, 2008

Debian Linux 安裝 php-java-bridge (使用deb安裝)

在 PHP 裡面跑 Java 的程式(*.jar) 或 Java 的 Library, 需要安裝 php-java-bridge.

安裝步驟

  1. 安裝 Java JDK/JRE
  2. 安裝 PHP / Apache 相關程式
  3. 安裝 php-java-bridge 所需的相依 package
  4. 設定 / 測試
 (閱讀全文)

星期一, 九月 15, 2008

IE 對 CSS 相容性文件 (MSDN)

Yahoo! UI Library: Graded Browser Support 中, 在 IE 6.0 沒有從 A-grade 移除前, 還是乖乖的把文件看清楚.

 (閱讀全文)

星期五, 九月 12, 2008

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

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

 (閱讀全文)

星期四, 九月 11, 2008

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, 當有問題時, 可再馬上還原回舊版的程式.
 (閱讀全文)

星期三, 九月 10, 2008

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

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

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

 (閱讀全文)