今月の2時間で学ぶ Java Hot Topic(6月号)に行ってきた!

今月も Java Hot Topic に行ってきた。

資料も公開されている。仕事が速くてすばらしい。

テーマはこんな感じ。

  • JRuby が俺にもっと輝けと囁いている ―― JRubyDSLJava をパワーアップ!
  • GlassFish の新星 SailFin ―― Java で通信系のサービスもパワーアップ!

今日はMacBookを持って行ったので、メモするのも楽だった。

JRuby が俺にもっと輝けと囁いている ―― JRubyDSLJava をパワーアップ!

RubyDSLも知らない僕が聞いてきた。DSLはどこかで聞いたことあったかなぁという感じ。
ActiveRecordRSpecで使われているらしい。
帰ってきてから調べてみると、Wikipediaではこんな感じ。

DSL は、ある特定の領域(ドメイン)の問題を解決するために作られ、それ以外の領域の問題を解くことは想定していない。一方、汎用プログラミング言語は様々な領域の問題を解くように作られている。汎用言語はチューリング完全である必要がある。

ドメインはビジネス領域にも対応することがある。例えば、次のようなDSLがある:

  • 大手生命保険会社は、社内で利用する生命保険ポリシーDSLを開発している。
  • 戦闘シミュレーションDSL
  • 給与計算DSL
  • 伝票DSL
ドメイン固有言語 : Wikipedai

ほー、意外と身近な気がした。
マクロパターンについてはなんとかついていったのだが、ネステッドクロージャパターンになると、さっぱりわからなかった。
これが車クラスです。車クラスはタイヤもっています。というオブジェクト指向の最初に出てきそうなものと、何が違うのかわからなかった。
あと、どのあたりがクロージャなのかよくわからなかった。
聞いていたときは、わからないことがわからなくて、質問できなった。
うーん、もうちょっと調べてみよう。
JRubyの文法などを知ることができたのはよかった。
Java的冗長さはあるのだが、お陰でそのまま読める感じがした。


あまり知らない分野だったが、その分面白く感じた。Rubyってこんなことができるのかぁって。

GlassFish の新星 SailFin ―― Java で通信系のサービスもパワーアップ!

こっちはもっと知らない分野だった。これも面白かった。
SIPについてもほとんど知らなかったのだが、最初のほうで説明があった。おかげでSIPプロトコル自体に関する内容も知ることができた。
SIP Servletは普通のServlet(HttpServlet)に似ていて、その分学習コストなどが少なくて済みそう。
デモではTV電話のようなアプリケーションが紹介されていた。ブラウザでリンクをクリックすると電話(エミュレータだけど)を掛けられる。
実装は1-1.5日ということだったので、ゼロから始めたら1週間くらいかな。
それでも何よりすごいと感じたのが、こういったアプリケーションの開発が、普通のPCでオープンソースなソフトウェアだけでできてしまうこと。
あとServletと連携できるので、さまざまなWebサービスと連携できそう。
自分が開発を行うかというと、多分やらないのだけど、こういった可能性がオープンになっているというのはとてもよいことだと思う。

その他

Javaパズラーでは2問中1問正解だった。残念。
instanceof で左辺が null だった場合の動作と、staticメソッドのオーバライドについての問題だった。
staticメソッドのオーバライドなんてやったことなかった。これを間違えた。
きっと次は2問正解になるはず!


今回は個人的にあまり知らない分野だったけど、思ったよりも面白かった。
次回のテーマはなんだろう。また楽しみだ。