檜山正幸さんの記事にインスパイアされて、というか、内容を理解するために、メモ。データ、オブジェクト構造、コンパイルと実行、宣言とスコープ、関数、オブジェクト生成、プロトタイプチェーンまずは、データについて。データは6種類に分かれる。 number…

javascriptあれこれ備忘録

javascriptに関する覚え書き。関数は"first class"オブジェクトである。ファーストクラスだと、 無名リテラルで表現OK 変数に格納OK データ構造に格納OK 関数に引数として渡せる 関数の戻り値にできる 実行時に定義できる 関数名と変数名は無関係 などなど。…

Abstract Factory Pattern

Builder Pattern

"; } } class LinkTagBuilder extends TagBuilderBase{ funct…

Builder Pattern vs Abstract Factory Patternその2

Abstract Factory Patternって、どういう局面で使えばいいのか分からなくて、調べてみたらDBアクセスの部分で使う事ができるみたい。 適用例を通じて分かったが、Builder PatternとAbstract Factory Patternって全く別物ですね。 Railsで言えば、ActiveRecor…

wp-settings.phpを読んでwordpressの動きをつかんでみた

編集中。。。

Composite Pattern

木構造を持つオブジェクトモデルに適用可能なパターン。O/Rマッピングにおける、単一テーブル上の自己参照結合に適用できる。

Builder Pattern vs Abstract Factory Pattern

どちらもインスタンス生成に関わるパターン。 違い、というか、フレームワーク設計時にこの2つをどう使い分ければいいのか、よくわからなかったので、自分なりにまとめてみた。Builder Patternは、インスタンスの生成プロセスを抽象化する(Abstract Builder…

Prototypeパターン

オブジェクトからオブジェクトを生成する設計。 phpではcloneキーワードでオブジェクトのシャローコピーを生成できる。 header = new Header($title); //<-- headerプロパティはHeaderオブジェクトの参照である } /* * phpのクローンキーワードは、オブジェ…

colinuxでubuntuの環境を作る

ubuntu のイメージを直接colinuxのサイトから落としたやつだとシングルモードでの起動になってしまうので、インストーラー付属のイメージを使う。ネットワーク接続はTAPで行う。Win側のネットワーク設定手順は割愛。ひとつだけ、ファイアーウォールが接続の…

Template/ Factory Method

Template method ベースクラスにテンプレートメソッドを実装、他はサブクラスにデレゲートする、そういう設計 なので、ベースクラスの設計を分かりやすくしておくこと(コメント、ドキュメントとかを作っとく) 要は、デレゲーションさせる設計はテンプレー…

Bridge Pattern

機能(function, feature, facility)と実装(implementation)を分ける。 あるクラスに対して、異なる実装が必要な場合に有効な設計手段。 実装の基底クラスをbridgeによって結びつける。bridgeはデレゲーションによって実現される。 そして、機能拡張は浅いほ…

Adapter Pattern

名前の通り、アダプターの機能。 インターフェースの互換性を持たせるための設計手段。 title = $arg; } function show_with_paren(){ echo "((({$this->title})))<br />"; } function show_with_aster(){ echo "***{$this->title}***<br />"; } } /* * アダプターインタ…

Iterator Pattern

なんつうか、IteratorとかAggregateという名前がしっくりこない。Enumerable, Scannableとかのほうがしっくりくる気がする。 イテレーター(以下、スキャナーと書いてしまおう)はスキャンする対象を持っていて、そのインターフェースがhas_next, nextメソッ…

mac Apache2.2のSSL環境構築(メモ)

前提 macportsなどでopenssl, Apache2.2をインストールしておく(mod_sslもDSOとして組み込めるようにしておく) $ port installed | grep apache2 apache2 @2.2.14_0+darwin+preforkmpm (active) ... $ port installed | grep openssl openssl @0.9.8k_0+darw…

Debian GNU/Linuxチュートリアル Unix-likeファイルシステム:読んだメモ

単語:ファイル、ディレクトリー、デバイス、マウント、ファイルシステム 「絶対ファイル名」と「パス」は同義 ファイル・ディレクトリ・名前付きパイプ・物理デバイスは、ユーザーに所有され、グループに所属する。これら所属情報や、最終アクセス時間など…

開発環境構築は、パッケージ管理システムを使おう

本番環境ではないわけだし、サーバーの性能最適化・細部の設定が求められている訳でもなく、セキュリティを考慮する必要もない(前提に置く必要はある)。わざわざソースを入手してオプションを設定してコンパイルしたり、依存関係で悩んだりするよりかは、…

PHP 5.3.0のビルド&インストール

ソースの入手 $ cd ~/src # wget http://jp2.php.net/distributions/php-5.3.0.tar.gz # tar zxvf php-5.3.0.tar.gz # cd php-5.3.0 configure optionの整理 config.yyyymmddファイルを作成しそこでオプションを指定 (config.yyyymmddファイルの中身) ./conf…

Apacheのビルド・インストール・設定

$ mkdir src $ cd src $ wget http://ftp.riken.jp/net/apache/httpd/httpd-2.0.63.tar.gz $ tar zxvf httpd-2.0.63.tar.gz $ cd httpd-2.0.63 $ ./configure --enable-mods-shared=all ちなみに、--enable-mods-sharedオプションだと、rewrite, dav、vhost_…

Windows XPにDebianをインストール

まずcoLinux本体とディスクイメージを入手&インストール インストールするDebianはDebian Lenny 5.0.2 入手元は・・・ (本体) http://downloads.sourceforge.net/project/colinux/Images%202.6.x%20Debian/Debian%205.0%20Lenny/Debian-5.0r2-lenny.7z?us…

Apacheを入れる

# cd ~ # mkdir src # cd src # wget http://ftp.riken.jp/net/apache/httpd/httpd-2.0.63.tar.gz # tar zxvf httpd-2.0.63.tar.gz # cd httpd-2.0.63 # ./configure --enable-mods-shared=all # make # sudo make install (インストール完了の確認) # /usr/…

PHPのインストール

まずソース入手 # cd ~/src/ # wget http://jp2.php.net/distributions/php-5.3.0.tar.gz # tar zxvf php-5.3.0.tar.gz # cd php-5.3.0 **configure オプションを指定する # emacs config.20091020 <---- 注:僕は日付指定して、後になって参照できるように…

次、時刻の設定をする

# dpkg-reconfigure tzdata

sudo を入れる

# apt-get install sudo # chmod 0440 /etc/sudoers #emacs /etc/sudoers (ここで、root ALL=(ALL) ALLの下に) showtarow ALL=(ALL) ALL を追加 ここで、exitして、もう一度debianにログイン、sudoの動作を確認 # exit $ sudo apt-get update //sudo の動作…

次、最新版のemacsを入れる

、、の前によくわからないのだが、以下の作業が必要。 # apt-get install libncurses5-dev これが終わったら、emacsのソース入手&ビルド # wget ftp://ftp.ring.gr.jp/pub/GNU/emacs/emacs-23.1.tar.gz (とりあえず’09年10月現在で23.1が最新だった、適…

gcc 、make、ntpを入れる。

#apt-get install gcc #apt-get install make #apt-get install ntp

SSHのインストール

vmwareのコンソール画面だと、日本語の表示で化ける。。。すでにDebianはUTF-8に設定されてインストールされているので。別にきにしない。 まずはaptでsshをインストールして、Macからssh接続して利用できるようにする。 というわけで、まずはvmwareのコンソ…

環境

macのバージョンはMac OS X バージョン10.4.11、VMware Fusion2.0.2を使って、Debianをインストールする。 vmware fusionは購入するしかないとして、debianのインストールCDのイメージは、http://www.debian.org/CD/netinst/から入手。僕は”「安定版 (stable…