程式的縮排 Coding Style(Indent style) 使用 K&R

DK 長輩推薦 K&R Indent style(此連結也有其它的 Indent Style 可以比較), 慢慢使用後, 就漸漸喜歡上這個囉~

發現 PEAR 規定的 Coding Standards(這個有很詳細的說明和介紹), 看起來跟 K&R 也是一樣的. 🙂

閱讀全文〈程式的縮排 Coding Style(Indent style) 使用 K&R〉

將 Subversion 管理的 File 設定自動加入 Revision 或 Id 等資訊

Subverion 和 CVS 都有一模固定的參數可以加入, 然後只要加入後, 就會依照指定的值, 每次更新時自動修改此值.(在下面這種我統稱叫 SVN 變數 好了)

ex: 以 CVS 為例, 只要於檔案中加入 下述:

  • $Id$, CVS 在更新時就自動會將 $Id$ 換成 $Id: index.php,v 1.21 2007/12/11 10:12:37 tsung Exp $
  • $Source$: $Source: /CVSROOT/project/webroot/index.php,v $
  • $Author$: $Author: tsung $

閱讀全文〈將 Subversion 管理的 File 設定自動加入 Revision 或 Id 等資訊〉

CakePHP 入門、安裝 及 其它設定和準備工作

CakePHP 總算最近有花時間好好玩一下, 來做個一連串的筆記吧~

首先要使用 CakePHP 前, 第一步先了解何謂 MVC(Model-view-controller):

  • Model: 檢查資料型態/驗證, 與 DB 溝通(儲存/查詢) 等.
  • Controller: 程式的流程, 商業邏輯等. 是 Model 與 View 的中間層
  • View: 頁面瀏覽, 使用者看到的頁面就是這邊.

再來就是下載 CakePHP 來安裝看看囉~

註: 此篇為 CakePHP 1.1.x 版, 1.2.x 以上的, 可能要做些微調整.

閱讀全文〈CakePHP 入門、安裝 及 其它設定和準備工作〉

PHP: 移除"同時寫入" MySQL 資料的程式(資料重覆)

規畫 DB 時沒注意到, 有一個欄位是這種狀況: 寫入前檢查是否有此 URL, 有的話, 就不再寫入, 這個現在一看就知道, 該加 UNIQUE KEY, 但是當初規劃時並沒注意到此事(或者是加的時後不能加), 然後自己測, 或者網站量小的時後是都不會有問題的, 但是會出問題的狀況, 會發生在同時寫入的時後, 同時寫入兩筆, 或者寫入第二筆時, 第一筆的資料臨時沒查到(系統太忙 或者 第一筆還沒寫完), 就會有兩筆以上的重覆資料.

這種狀況要把後來寫的那個 ID 拉出來, 砍掉後面的那個 ID(可能會有 2筆以上), 所以下述的程式就是把這些 ID 拉出來, 然後寫成 SQL 檔, 再手動執行砍掉的動作, 砍完後, 再加上 UNIQUE KEY 的屬性.

閱讀全文〈PHP: 移除"同時寫入" MySQL 資料的程式(資料重覆)〉

PHP: 將 CSS 檔 做排版的程式(inline, formatter)

有某人說要將 css selector "{}" 包住的值, 依照字母排列順序的排列(註), 所以先寫了 css_formatter.php, 後來發現某人寫程式的時後, 有時後會做其另一類的排版方式, 所以就再寫一個 css_inline.php(將格式先變成 一個 selector {} 一行), 這樣子(inline)的格式才能給 css_formatter.php 正常吃下來, 並做排版的動作.

註: 依照字母順序來寫 css, 維護起來比較容易, 看起來也蠻漂亮的.(PS: IE hack 要特別處理一下, *, _ 要排在最後面, 所以順序會是 Global -> IE -> IE6)

閱讀全文〈PHP: 將 CSS 檔 做排版的程式(inline, formatter)〉

寫 JavaScript 需要的 VIM Syntax 和 Plugin 檔

預設 vim 來寫 JavaScript, 會發現到 Plugin 很糟, 主要是縮排(indent), 根本跟沒縮沒什麼兩樣, 要看程式碼真苦, 所以就去找了一下, 加了一個 Plugin 後, 整個程式看起來舒服多了, 縮排做的好, 對讀懂程式就已經成功一半了~ 🙂

閱讀全文〈寫 JavaScript 需要的 VIM Syntax 和 Plugin 檔〉

PHP: 英文的數字值 轉換成 阿拉伯數字的值 程式

這星期臨時需要一個將英文的數字值, 轉換成 阿拉伯數字的程式, 發現怎麼找都是 數字 => 英文, 就是找不到 英文 => 數字.(需求就是同 English-Number Translator 這篇).

大致要做的就是如下的例子:

six => 6
negative seven hundred twenty nine => -729
one million one hundred one => 1000101

閱讀全文〈PHP: 英文的數字值 轉換成 阿拉伯數字的值 程式〉