トップ «前の日記(2015/05/24 (日) ) 最新 次の日記(2015/05/26 (火) )» 編集 RSS feed

HsbtDiary


2015/05/25 (月) [長年日記]

Testing Casual Talks 2 で発表してきた

@ikasam_a さんからあんちぽくん経由で登壇依頼が来たのでちょっと前に構築した ngx_mruby のテスト基盤の話をしてきました。

Testing Casual ということで今回の話はテストのことしか話せなく、そもそもの問題意識であるとか、ngx_mruby の魅力の部分を端折ってしまったので補足します。

  • nginx.conf のテストをするために ngx_mruby を入れたわけではなく、そもそも rails や sinatra のようなアプリケーション・サーバーでやっていることを nginx のレイヤでやることが最初の目的
  • ngx_mruby でやるロジックは、非常にテスト向き(コンテキストの再現がやりやすい)ということに気がついたので、テストをする方法を考えて実現した
  • 実現してみたら、だいぶいける感がしてきたので、nginx.conf の if や正規表現も ngx_mruby に置き換えてテストしたら便利じゃね?

上記のように、そもそもの動機と応用利用の順序を正しく伝えられてなかったなあというのが今回の反省点。発表後に卜部さんから「そもそもビジネスロジックを nginx とかにやらせるなってのが定石じゃん」という質問をもらったのですが、「少なくともぼくはテストが出来るようになった今は意図的にビジネスロジックを ngx_mruby に持っていくべきだと思っているんですよ〜。」という話をしたりしていました。こういう定石をぶち壊すソフトウェア、最高にロックですね。

今回はテストだけでしたが、プロダクションのユースケースやデプロイどうやってんの、という話は来週の RDRC 2015 で話すので、興味がある人はシンガポールまで来てください。