[4] 平成20年代前半頃の株式会社はてなのWebサービスの多くで採用されていました。
[7]
変数 $r
から
API
を呼び出すのが特徴的です。
[8]
初期は mod_perl
と使う (または server.pl
と呼ばれるローカルサーバー用の
Perl で書かれた HTTPサーバーと使う) 設計でしたが、
後期は Plack ベースに改められていました。
[9] HTTPサーバーと組み合わせるかわりにテストスクリプトと接続する仕組みがあり、内部テスト (internal test) と呼ばれていました。
[2] wakaba/perl-test-ridge-internal: Test: :Internal - Internal tests for Ridge, https://github.com/wakaba/perl-test-ridge-internal
[10] 内部テストはテストスクリプトが HTTP要求オブジェクトを組み立てて HTTP応答オブジェクトを得て検査するのですが、アプリケーションサーバーの Perl コードとテストスクリプトが同じプロセスで動作し密結合していました。
[11] テストを書く上でこれはこれで便利なこともあって、 例えばテスト実行前の事前状態の設定のためにテストスクリプトから直接アプリケーション内の関数を呼び出したりデータベースにアクセスしたりできるのですが、 それが原因で実サーバーの動作とテストの動作が違うなどの弊害も多くありました。
[12] そのため末期になるとアプリケーションサーバーとテストスクリプトを別プロセスで実行し HTTP だけで通信する外部テストへと志向していきました。
[6] ORM の MoCo と併用されるのが普通でした (が依存関係はありません)。
[1] Ridge (disambiguation) - Wikipedia, the free encyclopedia ( 版) http://en.wikipedia.org/wiki/Ridge_(disambiguation)
[13]
$r
の r
はたぶん Ridge の意味なのでしょうけど、
それだけでなく mod_perl 的な慣習を引き継いでいるのかもしれません。