JRuby+MySQLの環境を事前に作っておかなきゃいけなかったんだけど、 ここのところ、例によって残業続きで、全然時間が作れなくて、前日ドタバタ。
ノートPCのOSをUbuntuに変えてから、諸々環境が整ってなく。
デスクトップPCはRails.vimとautocomplpop.vimなんだけど、 だいぶ昔に参加したときはNetBeansで会が進んでいたのもあり、 Sunだし、サクっといい感じにJRubyできるのかなと思ってNetBeansで。
朝はなんとか起きて、1分遅刻で会場入り。 何やら今回はコマンドラインでの進行…orz しかも、NetBeansにデフォルトで入ってるRubyGemsが古い予感。
コマンドラインでもイケるように、環境つくろうかな、と思って。
root@xxx:/home/xxx# apt-cache search jruby jruby0.9 - 100% pure-Java implementation of Ruby jruby1.0 - 100% pure-Java implementation of Ruby
んで、jruby1.0を入れたら、
root@xxx:/home/xxx# jruby -v ruby 1.8.5 (2008-01-07 rev 4810) [i386-jruby1.0.2]
1.8.5かよ…orz
仕方ないからトランクもってくるべ。 とか思ってsvn叩いたら、subversion入ってねっていう。。
root@xxx:/home/xxx# apt-get install subversion svn co http://svn.codehaus.org/jruby/trunk/jruby
んでant叩いたら、antもなかったから、 root@xxx:/home/xxx#apt-get intall ant
とかやってたら時間ねって話。 スキャフォルドとかみんなしちゃってるし。
仕方ないからNetBeansに戻って。 そしたらDB接続のところで何か変なエラー出ちゃって。
Gem入れてJDBCドライバー使う仕様に変更。。 database.ymlは↓こんな感じ。
development: adapter: jdbc driver: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306 username: root password:
プロジェクトを右クリックしてプロパティのJavaで、 "Javaを含める"にチェックいれないとドライバをロードしてくれませんでした。
ようやくスキャフォルドして、みんなに追いついて午前中は終了。 同じチームだったみなさんと昼飯に。
こうやって全然違う業務をされている方たちと 技術談義みたいなことができるっていうのは、なんとも嬉しいことで。 おもろい情報とかもゲットさせていただきました。
で、午後はSwingをjrubyで動かす。
Rubyで開発してる人はirb使ってチョコチョコ動かしながらやると思いますが、 jrubyだとjirbってのがあって。基本的にirbと同じです。
が、驚いたのは、jirb_swingってのがあって、リアルタイムにSwingで 動作確認ができます。
が、自分はNetBeansからのため、IDE上のirbで。 でも、ちゃんとSwingのモジュールが出てきました。
コンソール上でNetBeansのディレクトリのjirb_swing叩いたら
パスが通ってないんだかなんだかで動きませんでした。。
で、EC-ONEの人が作ってるっていう、rubeusというSwingのコードを 短くかける的なgemを使ったら、、JavaUtilitiesとかいうクラスがconst_missingとか。
どうやらNetBeansにバンドルされてるjrubyのバンドルが古いのが原因らしい。 っていうことで、jruby1.1.3をhttp://dist.codehaus.org/jruby/からwgetで取ってきて、 tar -xvf jruby-bin-1.1.3.tar.gz してNetBeansのディレクトリに。
そしたらNetBeansがいい感じにそれを汲み取ってくれたんだけど、 Railsから、その他のgemも入れ直し…。
みんなどんどん進んでるし、、 つか、Swingの一番おいしいとこなのに、、
頑張ってなんとか皆さんに追いついて。 が、Swing上でマルチバイト文字が□になっちゃって…。 ブラウザでみるとちゃんとみれるんだけど。。
まぁ、大体、なんとなくSwingわかったす。。。 んで、また出てくるんですよね。イベントリスナーとか。 わかるんだけど、なんか今いちしっくり来ず。
ーーー
振り返り。
クライアント側 →Swingをjrubyで。rubeusを使用。
サーバー側 →別にjruby on railsである必要はなかったんじゃないかっていう。。 コネクションプールとかセッションレプリケーションとかを垣間見たかったんだけどなぁ。。
普通Swingを業務で使うときはNetBeansでVBみたいな感じで GUIで部品をヒョコヒョコやって開発するらしいのですが、 適当に生成してみました。何回addすんのよ?的に、あまりいじりたくないコードでした。。 そう考えるとrubeusは威力あるなと思いました。
が、仕事でSwing使わないからな、、、。 にしても、この内容で無料ってのはすごい勉強会です。