2005-01-01から1年間の記事一覧

2005年を振り返る

今年もいろいろありました。 PHPのフレームワーク、Moonyを作りはじめた Catwalker.jpのレイアウトを変更した 息子が入院、手術した(尿管逆流症) 転職した!(職種は同じ、ソフトウェアエンジニア) 引越しした(同じ町内の1丁目→2丁目) 大きな事件はこれ…

2005年、一番聞いたアルバム

Unionアーティスト: Polaris出版社/メーカー: Familysong発売日: 2005/08/03メディア: CD クリック: 17回この商品を含むブログ (135件) を見る今年はPolarisをよく聴いた。全体的に気負いのない感じがいい。背負っちゃってない。自分のペースで歩いている、…

使用ソフトを書き出してみる

順番はめちゃくちゃだけど。結構たくさんある。 ソフト名 メモ サクラエディタ PHPはこれで記述 TortoiseCVS CVSクライアント Cygwin sshとかscpを使う Eclipse Javaはこれで記述 Apache 2.0.x PHPを動作させるため MySQL 4.0.x PHPのWebアプリ開発用 MySQL …

今後の予定

年末年始の休暇もあることだし、黙々と作業を進めます。 今考えていることは: Moony_Viewのforwardメソッド呼び出しを不要に Moony_Controllerでテンプレート表示処理を呼び出す Moony_Actionを継承したアクションクラスではテンプレートへのassign処理のみ…

0.5.4リリース (bugfix)

/dispatcher.phpにtypoによるバグが混入していたので、修正した0.5.4をリリースしました。ダウンロードはsourceforge.jpからどうぞ。併せてMoony_Viewクラスのメソッド「isCached」を「hasCached」に名称変更しました。

アクションクラスの拡張

例えば、id:kunitさんのActiveGatewayを使えるようにすることを考えてみる。まず、通常のMoony_Actionのサブクラスを作成、標準でActiveGatewayのインスタンス生成: class EnhancedAction extends Moony_Action { function execute($request, $session, $vie…

開発環境

ちょっと開発環境を変えてみようかと。 今まで これから コーディング Eclipse + PHPEclipse サクラエディタ CVSクライアント Eclipse + Cygwin SSH TortoiseCVS + Cygwin SSH いちいちEclipseを立ち上げるのは面倒だし重い。PHPEclipseを使うとローカル環境…

0.5.3リリース

Moony 0.5.3をリリースしました。ダウンロードはsourceforge.jpからどうぞ。年内のリリースはこれで終わりの予定。内部的な動作に大きな変更はありません。 変更点は: ライセンスをBSDライセンスからPHPライセンスに変更 テンプレートのコンパイル先とキャッ…

ノートPC帰還

ディスプレイ故障で修理に出したLet's noteが戻ってきた。HDDも初期化されずに戻ってきたのでそのまま使える。やっぱり使い慣れた道具があるというのはいい。明細を読むと、どうやら液晶の交換が行われた模様。修理費用は9万円強…、でも販売店の有償保障に入…

ActiveRecord実装

PHP

http://d.hatena.ne.jp/kunit/20051219#1135000448 http://kunit.jp/maple/wiki/index.php?%B3%C8%C4%A5%2FDb%2FActiveGateway いよいよPHP4でのActiveRecord実装、ActiveGatewayの全体像が見えてきた。動作にはPEAR::DBが必要。削除日時項目を使った論理削…

実装予定のない機能について

今のところ考えているのは: MoonyはあくまでWebサイト構築用の軽量フレームワーク 具体的にいうと、http://catwalker.jp/の次期バージョンの開発ベースとなるもの 実装予定がない機能 Validation アクションチェーン フィルタ 実装した場合のソースの複雑化…

Moony 0.5.2リリース

パッケージのダウンロードはsourceforge.jpのサイトからどうぞ。0.5.1に細かい機能追加を行ったバージョンです。 主な変更点は: Smartyのキャッシュ機能を使用可能に セッションIDを常に再生成する仕組みを実装 httpヘッダに"X-Framework: Moony/[version]"…

処理のフロー(設計メモ)

/foo.htmlにアクセスがあった場合、mod_rewriteによって/dispatcher.php?/fooにリクエスト内容が書き換えられる。 dispatcher.phpはMoony_Config.phpをincludeして、動作に必要な設定を行う。 dispatcher.phpはMoony_ErrorHandlerのインスタンスを生成、regi…

Smartyのキャッシュ機能

Smartyのキャッシュ機能を利用できるようにしてみる。 Moony_Config.phpでキャッシュ先のディレクトリを設定できるように Moony_Viewクラスにメソッドを追加 function cache($lifetime = 3600) {...} これからdisplayするテンプレートをキャッシュ キャッシ…

セッションIDの再生成

PHP 5.1以降なら、単純に session_regenerate_id(true);でいいのだけれど、それ以前の環境だと引数が取れないので使えない。しかも、ただ単に session_regenerate_id();とやると、セッションをファイルベースで管理している場合はそのファイルが残ってしまう…

Moony 0.5.1リリース

主にバグFixのためのリリースです。リリース時にはもっときちんとチェックしないとダメですね。反省。パッケージのダウンロードはsourceforge.jpのサイトからどうぞ。0.5.0からの変更点: /_codegen/generate.phpのバグ修正 Moony_Config.phpでアクションクラ…

Moony 0.5.0リリース

パッケージのダウンロードはsourceforge.jpのサイトからどうぞ。 今回のバージョンからファイル圧縮方式をzipからtar.gzに変更しています。0.3.1からの変更点: クラス名・定数名変更、接頭辞に「MOONY_」を付加 エラー発生時のエラー画面遷移処理を廃止、HTT…

テンプレートファイルが見つからない場合

Smartyのテンプレートファイルが見つからないとエラーになっていたのを、HTTPのステータスで404を返すようにすることに。そのほうが自然だよな。Viewクラスを修正、forward前にチェックすることに。 /foo.htmlにアクセス FooActionというクラスがある場合 Fo…

エラー発生時の画面

PHPで実行エラー エラー内容が画面に出てしまう スクリプトの内容が類推できる可能性 あまり見せたくないよね... Moony 0.3.1では エラー画面に遷移する set_error_handler(array('ErrorHandler', 'handle')); ErrorHandlerクラスのhandleメソッドが呼ばれる…

ディレクトリ名のつけ方

Webアプリケーションを作る場合: 単数形の名前をつけるか 複数形の名前をつけるか ディレクトリの命名について、2通りの方法があると思う。actions/actionとか、utils/utilとか。有名どころのフレームワークのソースを見ると、どうやら混在しているようだ。…

0.3 (beta)リリース

Moony 0.3 (beta)をリリースしました。0.1からの主な変更点は: ディレクトリ構成の大幅な変更 スケルトン自動生成機能の追加 自動生成機能は大したことないです。あればちょっと便利かな、程度で。動作確認の手順は以下の通り(localhostで動作確認する場合…

ノートPC受難

最近調子が悪かったプライベートマシン(Let's note W2A)のディスプレイが使い物にならなくなったので、修理に出すことに。何も年末に壊れなくてもいいのに…。というわけで、使い慣れないデスクトップPC(普段は妻が使用)をしばらくの間使うことになった。…

mod_rewriteを使う理由

それはMoonyが通常のWebサイト構築のためのフレームワークだから。SEO対策を考えると: 静的ページに見せるための工夫が必要 クエリー文字列をあまり使わないための工夫が必要 フレームワーク側で単純に解決するための手段を思いつかなかったというのが一番の…

mod_rewriteに関する考慮

使おうとするとあちこち悩ましい。黒魔術と言われているだけのことはある。 とりあえず、現時点で考えたこと: 置換: リクエストURL→Moonyを動作させるためのURL 考慮事項 拡張子として.htmlをつけても動作が変わらない 例: /exampleと/example.htmlで動作が…

UML?

PHP

そういえば、PHPで開発するときってUMLはあまり使わないんですかね? ぼくの場合 割とクラス図はよく書く 頭の中の整理 他の人に全体のフローを見せるとき用 コーディングが終わってから書いてみることも 変な設計や命名になっていないかチェック! たまにシ…

クラス図(20051129版)

またクラス図を書いてみた。あくまでも設計用のメモ代わり。以前書いたクラス図(d:id:hiro_y:20051104を参照)と比べるとずいぶん変わってるかも。使用ツールはJUDE。

はてなの中を見てみたい!

はてなに限らず、よその会社の中を見るのは面白そう。自分の仕事スタイルを見つめなおすきっかけになるだろうし、その会社に興味を持っている場合はいろいろ参考になるに違いない。機密保持とかいろいろ制約もあるだろうけれど、もっと公開する姿勢を持って…

仕様変更検討: URLのリライト

今まで: mod_rewriteとPATH_INFOを併用 例えば: /test/sample.html → /dispatcher.php/test/sample これから: mod_rewriteのみを使用 例えば: /test/sample.html → /dispatcher.php?test__sample クエリパラメータは$_SERVER['QUERY_STRING']に格納される 2…

URLのリライト

こんな話題が: URIマッピングをフレームワークで(PHP) - KoshigoeBLOGURLリライトをどこで行うか、という問題。mod_rewriteは確かに便利なんだけど、使える環境が限定されてしまうのでいかがなものかと思っていた。できることならmod_rewriteを使わずに、フ…

Moony 0.1(alpha)リリース

とりあえず動くバージョンをリリースしてみました。以下、動作確認手順: Apacheの設定を確認 mod_rewriteが有効になっていること .htaccessが使用可能になっていること Moonyをダウンロード http://sourceforge.jp/projects/moony/からMoony_0.1_alpha.zipを…