2011年3月22日火曜日

【iPhone】単体テスト

Google Toolbox for MACのUnitTestが中々よさそう

http://dev.elegant-apps.com/blog/archives/2011/01/27/introduction_of_gtmunittest.html

【iPhone】HTML特殊文字のエンコード/デコード

Google Toolbox for MACの中にHTML特殊文字を
エンコードしたりデコードしたりするメソッドがある模様。
メソッドはNSStringクラスに追加されているようで、
導入時の変更箇所は最低限で済みそうな感じ。

参考URL
http://d.hatena.ne.jp/nakamura001/20090210/1234287859

ついでにインストール方法も同サイトより
http://d.hatena.ne.jp/nakamura001/20090210/1234256693

2011年3月17日木曜日

【CakePHP】POST/GETの判別

POSTかGETかによってパラメータの取得先が変わるため、
(POSTの場合は$this->dataから、GETの場合は$this->passedArgsから)
リクエストがPOST or GETどちらできたのか判別したいケースがある。
POST/GETの判別はRequestHandlerを使いControllerで行うことができる。

※当然ながらisGet()という関数も用意されている。

【CakePHP】mediaプラグインの使い方 for Linux v1.3RC

mediaプラグインの使用方法は以下の通り。
bakeで作成したスケルトンを元にModel、View、Controllerに以下の修正を加える。

  • Model
  • ModelとAttachmentをアソシエーションで結びつける。
  • View
    • add.ctp
    • 画像を保存できるようにする。 フォームに画像選択を追加する。
    • edit.ctp
    • add.ctpの変更+α Attachmentが存在したら表示する。
    • view.ctp
    • Attachmentが存在したら表示する。
  • Controller
    • ヘルパー登録
    • 保存方法変更
    • saveをsaveAllに変更することでAttachmentと一緒に保存できるようにする。

【CakePHP】mediaプラグインインストール for Linux v1.3RC

大まかな流れは以下の通り

  1. ImageMagickインストール
  2. PEARインストール
  3. gccインストール
  4. imagickインストール
  5. imagickの組み込み
それぞれの詳細は以下の通り
  1. ImageMagickインストール
    ImageMagickとは画像を操作したり表示したりするソフトウェアスイートである。
    mediaプラグインでは画像処理にImageMagickを使用しているため導入が必要。

  2. PEARインストール
    PEARはPHPで書かれたPHPのライブラリを提供しているサービス。
    PEARの他にCで書かれたPHPのライブラリ提供サービスとしてpeclがある。
    下記imagickをインストールするにあたりpeclが必要となり、
    peclコマンドが含まれているPEARパッケージを導入する必要がある。

    ※リポジトリの指定はPHP本体インストール時のものと合わせること
  3. gccインストール
    PEARインストール後早速imagickをインストールしたら下記のエラーが発生。

    どうやらcc、gccが足りないらしい。

  4. imagickインストール
    imagickはPHPからImageMagickを利用可能にするライブラリ

  5. imagickの組み込み
    imagickをPHPへ組み込むため、php.iniへ設定する。
    最近のPHPではextensionの設定は/etc/php.d配下にextention毎のファイルを置き、
    php.iniから読み込む形式となっているため、
    /etc/php.d配下にimagick.iniというファイルを作成し、その中に設定内容を記述する。

【MySQL】初期設定

  1. 管理者ユーザでログイン

  2. データベース作成

  3. ユーザ作成
    1. DB管理ユーザ

    2. DB一般ユーザ

  4. テーブル作成





2011年3月2日水曜日

【CakePHP】AuthComponentでパスワードをハッシュ化させない方法

パスワードがハッシュ化されると、モデルのバリデートが使えなかったり、
他システムとかから平分で送られてきたときに面倒。

以下の方法で、パスワードのハッシュ化を回避することが可能

  1. 何もしない独自のハッシュ関数をモデルに用意

  2. コントローラーのbeforeFilterで独自ハッシュ関数を使用するよう設定