イケテルJRuby勉強会に行ってきました

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使わないからな、、、。
にしても、この内容で無料ってのはすごい勉強会です。

コメント

タイトルとURLをコピーしました