2008-12-01から1ヶ月間の記事一覧

PHP_ObjectでPHPマニュアルをパースするサンプル

php

PHP_ObjectでPHPマニュアルをパースしてCSVファイルを作成するサンプル http://jp.php.net/download-docs.php 一つのhtmlファイルとして配布されているPHPマニュアルから関数の説明部分をパースしCSVファイルを作成する。 ファイルはあらかじめダウンロード…

Singletonパターン

Head First デザインパターンのメモ。 Singletonパターン 一つのクラスがただ一つのインスタンスを持つことを保証し、 インスタンスにアクセスするグローバルポイントを提供する。 注意点 マルチスレッドアプリケーションに対してはパフォーマンスとリソース…

CakePHPのレンダリング処理(render)

CakePHP1.2、viewのレンダリング処理部分についてのメモ。 Controller::render() viewを解釈して、結果をoutputプロパティに文字列として格納するメソッド。 戻り値としてレンダリング結果を返す。実際の出力まではやらない。 複数回呼び出すと、出力内容は…

Abstract Factoryパターン

Head First デザインパターンのメモ。 Abstract Factoryパターン 具象クラスを指定することなく、一連の関連オブジェクトや 依存オブジェクトを作成するためのインターフェースを提供する。 Abstract FactoryとFactory Method 多くの場合Abstract Factoryの…

Factory Methodパターン

Head First デザインパターンのメモ。 Factory Methodパターン オブジェクト作成のためのインターフェースを定義するが、 どのクラスをインスタンス化するかについてはサブクラスに決定させる。 Factory Methodにより、クラスはサブクラスにインスタンス化を…

Decoratorパターン

Head First デザインパターンのメモ。 Decoratorパターン オブジェクトに付加的な責務を動的に付与する。 デコレータはサブクラスの代替となる柔軟な機能拡張手段を提供する。 特徴 装飾するオブジェクトと同じスーパークラスを持つ 複数のDecoratorクラスを…

Observerパターン

Head First デザインパターンのメモ。 Observerパターン オブジェクト間の1対多の依存関係を定義し、あるオブジェクトの状態が変化すると、 それに依存しているすべてのオブジェクトが自動的に通知され更新されるようにする。 新聞の定期購読 発行者(Subject…

CakePHPでSmartyを使う

CakeForgeというオープンソース開発サイトで公開されているSmarty ViewクラスでSmartyを使う方法メモ。 Smarty View class ダウンロードしたSmartyViewクラスのファイルをsmarty.phpにリネームして以下に設置。 app/views/smarty.php Smarty本体をダウンロー…

Strategyパターン

Head First デザインパターンのメモ。 Strategyパターン 一連のアルゴリズムを定義してそれぞれをカプセル化し、それらを交換可能にする。 Strategyパターンによって、アルゴリズムを使用するクライアントとは独立して、アルゴリズムを変更できる。 設計時の…

UbuntuにPostgreSQLをインストール&設定

MySQLみたいに簡単にできると思ったらちょっとはまった。 開発環境用の設定。 インストール $ sudo apt-get install postgres インストールするとUbuntuにpostgresというユーザーがつくられるのでパスワードを設定。 postgresユーザーになるとDBに接続できる…

Head First デザインパターンを読む

これはわかりやすい。 対象読者はJavaの知識がある人のようですが 他の言語のオブジェクト指向をかじったことがある人なら十分理解できると思う。 デザインパターン入門 誰かが、すでにあなたの問題を解決してしまっています。 パターンを頭の中にロードし、…

openpearでPHP_Objectというライブラリを公開しました

php

PHP_Object - openpear 実用性はほとんどないライブラリですが。 以下説明。 openpearに書いてあるものほとんどそのままです。 PHP_Object PHPを純粋なオブジェクト指向プログラミング言語っぽく書けるようにする。 主にメソッドチェーンするためのライブラ…

CakePHPのエラー処理(cakeError)

CakePHP1.2のエラーハンドリング方法。 Error Handling :: Common Tasks With CakePHP :: The Manual :: 1.2 Collection :: The Cookbook Object::cakeError() 基本的に、ObjectクラスのcakeErrorというメソッドを使うらしい。 appディレクトリ以下に、error…

CakePHPのリクエストパラメータチェック

リクエストパラメータに、不要な値が含まれていた場合は取り除く。 値がなかった場合は空文字の値を追加する。 array('name', 'mail', 'password', 'password_confirm'), ); $this->_paramNormalize($this->data, $keys); } function _paramNorm…

エンジニアのための時間管理術を読んだ

エンジニアといっても、「本書はプログラマを対象としてません」だそうです。 システム管理者(SA)向け。 SAのタイムマネジメントの原則 タイムマネジメント情報を一つにまとめる。整理された状態を保つ。 能力は重要な作業のために温存しておく。オーガナ…