ビューの難読化、意味ナシ

2007/12/13 |jRuby |comments(2)

以前から何をシコシコとjRubyを弄ってるかというと、目的はRailsアプリの難読化です。model・controller・helper・libは、なんとかなりそうだけど、viewはどうか。

Java/JSP的発想 [JSP→Servlet変換→バイトコード] のように、view(*.rhtml)もコンパイル&requireできそうな気になっていた。

が、ActionViewのソース読んでみると、rhtmlはERB.newへ渡す文字列でしかない。単独でコンパイルするもんじゃない。ということに気づきました。

rhtmlは単なる文字列だと考えると、

 user/list.rhtml
    edit.rhtml

は、

 class User
  List = "user/list.rhtmlの内容"
  Edit = "user/edit.rhtmlの内容"
 end

とかに変換して jrubyc すれば、

  body = ERB.new( User::List ).src

  ※ActionView::Base の内部では、
   この body をさらにメソッドでラップしてevalしている。

とできるはず。

でもバイトコードといったって、文字列なんてモロに読めちゃうんだろうな。ソースじゃないだけマシ、といったところか。

んー、そこまでやる必要あるかっ。
というと、ナイ、ような気がしてくる。viewに読まれて困るようなロジックを書かないために、MVCがあるんだもんね。
うんうん、そうだそうだ。viewのコンパイルはやめにしよう。



コメント
まもー
2007/12/13
その意見に賛成です。しかしながら、一連のエントリを拝見すると、相当現実的になったんですねー。
武田ソフト
2007/12/14
本当にjRubyは動向が早いですねー。びっくりです。
jRubyロードマップには、http://www.nabble.com
/JRuby-1.1-Roadmap-to12189374.html
「YARVコードを実行できるようにする(maybe)」というのもありました。

コメントしてください
お名前:
入力しなければ「匿名さん」。20字以内。

メール:
入力しても表示しません

URL:
入力すればリンクが貼れます


コメント: