この国では犬が

本と芝居とソフトウェア

JJUG CCC 2014 Fall に行ってきました #jjug_ccc

行ってきましたので、参加したセッションの感想など。

あらまし

がんばって早起きして、基調講演から、17:00-17:50 のものまで、計 7 つのセッションに参加しました。

それぞれのセッションについて簡単な感想を記します!

基調講演1 : これからのJavaエンジニアの生きる道

JJUG の副会長をつとめる橋本 吉治さん(@hasssie)のセッション。

技術の変化による社会の変化が起こるなかで、Java エンジニアが生きる道とはどのようなものか。

クラウド人工知能の隆盛、といった各論について語られながらも、必要なことはこの 3 つだよね、という結論に落ち着きました。

  • 最新技術への追随
  • グローバル対応(英語など)
  • 熱い心とコミュニティ

各論も面白かったのですが、最後の「熱い心とコミュニティ」について引用された言葉がやけに印象に残りました。

井深大さんの言葉で、「21 世紀は心の時代」というのがあるそうです。

開発者が言うことじゃないかもしれませんが、この 2014 年、世の中がこれ以上便利になったり、高度化してもしゃーないって部分もあると思うんですよね。
もちろん、なったらなったでありがたいし、これからもより便利に、高度になっていくのでしょうけど、一方で、気持ちがどう動くか、ということが重視される傾向が、これからどんどん強まっていくのでないかなという気がします。

その点で、自分のキャリアを考えるにあたって直接大いに役立つ、というものではなかったのですが、不思議と印象に残った基調講演でした。

基調講演2 : Java 2014 将来に向かって

Java Day Tokyo 等の Oracle 公式イベントでもおなじみの Simon Ritter さん(@speakjava)のセッション。

会の趣旨に合わせた部分もあったのでしょうが、「Java はコミュニティ」というメッセージが強く打ち出された内容でした。

また、Java SE 8 のハイライトについてもひと通り紹介されて、これは知っている部分も多かったのですが、いい復習にはなりました。それから、Java ME 8 と Java EE 7 についても。

Java SE 8 や Java EE 7 の書籍がスライドに映される場面があったのですが、Java SE 8 でたぶん 20 冊以上、Java EE 7 でも 10 冊以上、英語の書籍が映し出されていて、圧巻でした。こういうところで、英語のほうがやっぱり情報が多い・早いのだなということを感じます。

ふたたびコミュニティの話に戻ると、最後の質問への回答で、JCPJava Community Process)への参加プロセスをもっとシンプルにして、個人でも参加しやすくしようとしている、という話がありました。

Javaが見るニュータイプの夢 ~これからJavaはどう変わるか~

きしだのはてなのきしだ なおきさん(@kis)のセッション。

ニュータイプってなんやろ、と思っていたら、新しい型の話だったのですね。
旧人類には扱えないような想像を絶する Java の話かと期待していたので、ちょっぴし残念でした。

とはいえ、Project Valhalla と Project Panama についてのわかりやすい説明で、将来の Java を先取りすることができました。

ただ、「それ C++C#)でできるよね……」と思っていたら、最後にその話もありました。
そう、.NET が Linux / OS X でも動くようになったら、思いっきり競合に、なりますよね。

Java ではなく .NET を使おう、という動きが大きな流れになるのは今日明日の話ということはないのでしょうが、たしかに、そうなる日までには、Java がそこに追いついておきたい、という気がします。

KDDI Business IDにみる疎結合/高可用を実現するアーキテクチャ

KDDI の佐々木 徹さんのセッション。

KDDI Business ID という製品で、競争力を保てるように疎結合にして、簡単にアーキテクチャを変更できるようにするため、また高可用性・高セキュリティを実現するために、どのようなアーキテクチャを設計したか、という内容でした。

REST API ベースで疎結合なシステムを設計し、実際、Client MVC を一度作りなおした(けれど、それ以外の部分は変更せずにすんだ)という実例が面白かったです。
また、ステートレスとセキュリティを両立するために OpenID Connect を利用したという話も興味深かったです。

ちなみに、僕が参加した中では唯一 Java の話がビタイチ出てこないセッションだったと思います。いっそすがすがしかったです。笑

リクルートにおけるソリューション開拓と実装展開 ~Elasticsearchによる検索基盤の展開と新ソリューションの開拓状況

リクルートテクノロジーズの宮川 典久さん(@m_nori)、および伊藤 敬彦(@takahi_i)さんのセッション。

前半が ASG(APソリューショングループ)の宮川さん、後半が ATL(Advanced Technology Lab)の伊藤さんからの発表でした。

内容もさることながら、リクルートテクノロジーズの組織形態についつい注目してしまいました。

簡単に言うと、ATL が研究開発的な立ち位置で、新しい技術を色々試してみる。
色々試した技術の中で、実用になりそうなものを、ASG が採用して開発し、運用していく、というかたちを取っているそうです。

組織のかたちとしてそういうことができるのは、(リクルートホールディングスという単位で)大きい会社ならではなのかな……とか色々考えてしまいました。

内容については、特に後半の伊藤さんの、JavaOSS に「検証」(Apache UIMA)、「貢献」(Apache Spark)、「公開」(RedPen)というかたちで関わっている、という話がとても面白かったです。

RedPen というのはもともと伊藤さんが個人で開発されていた、「自動文書検査ツール」とのことで、たとえば表記の揺れ(「サーバー」と「サーバ」みたいな)を自動検出してくれるものということです。
気になります!

今度技術文書を書くときなんかに(あるいはブログに使うのもアリ?)一度使ってみようかと思っています。

閑話 : 見たかったセッション

実はこの(リクルートの)時間帯には、もともと R1-3 実例Javaトラブルシューティング! 稼働中のシステムを立て直した半年間の軌跡 を見たかったのですが、あっという間に満席で立ち見続出になってしまったので、長丁場であることも考慮して諦めたのでした。
結果としてリクルートの方のセッションもとても面白かったので、よかったのですが。笑

幸い、スライドは公開されているようです!

Javaエンジニアのためのアーキテクト講座

JJUG の会長をつとめる鈴木 雄介さんのセッション。

システム開発に求められるものとして、「良いアプリケーションの開発」から「良いサービスの運営」への大きな変化が起きている、という見方をベースに、アーキテクトに求められるものを解き明かす内容でした。

「良いサービスの運営」が求められるの、それはそうだろ、と最初は思って聞いていたのですが、そのために、アーキテクチャに「利害関係者の関心事を整合させる」ことが求められる、というのがとても新鮮でした。

スライドに「IT サービスの運用モデル」という図が出てくるのですが、それにもちゃんと 4 つの「利害関係者」が描かれているので、この図に課題や解決策をマッピングしながら全体の整合性を取って、アーキテクチャを設計する、というのは手法としてなかなかよさそうな気がします。

それから、最後の「アーキテクトと名乗らなくても、アーキテクト的な発想はできるし、日常で役に立つはず」というのも、普段僕が考えていることと同じで、思わず頷いてしまいました。

あ、そういえば……、ここにも Java の話出てこなかった気がします。笑

Migration from Swing to JavaFX

Java in the Box の櫻庭 祐一さん(@skrb)のセッション。

前回さくらばさんのセッションに参加したときの開演前 BGM は The Beatles でしたが、今回は Aerosmith でした訂正。John Lee Hooker の Frisco Blues という曲だったそうです!失礼しました。

さすがにこれを Aerosmith とは間違えない気がするので、僕が聴いたのはこれではなかったような気もするのですが*1、「今日はブルージーだな~」と思っていた記憶もあるので、自信がなくなってきました。笑

それから、プレゼンで曲流すのめちゃカッコいいしいつか真似してみたいなーとも思っていたりしたのですが、テーマに絡めて曲を選ぶというのも重要なのですね。貴重な知見が得られました。

さて、肝心の内容です。
既存アプリケーションを Swing から JavaFX に移行するためのノウハウの話が聞けるかな……! と期待していたのですが、前半 45 分が JavaFX の基本と、Swing と JavaFX の違いの話に費やされ、後半 5 分で Migration の話という凄まじい構成に(図らずも)なっていました。笑

とはいえ、正直 JavaFX もまだまともに使ったことなくて基本についても得るものがありましたし、たしかに移行の前にどこが同じで、どこが違うのか把握しておくことは必須なので、結果として得るものの多いセッションではありました。

こういうことがわかると移行のコストは見積もれるようになってくるから、あとは移行するメリット(あるいは移行しないデメリット)がコストをいつ上回るか、ということになるのかな……。
でも、使い勝手や表現力の差を考えると、(Java を使い続ける限り)いつか、それも早めに移行した方がいいのは事実だと思うので、積極的に検討を始めたほうがよさそうだと思っています。

まとめ

というわけで、参加したセッションのそれぞれについて簡単な感想を述べました。

個人的に、以前はこういうのに参加しても内容の半分もわからず、みんなすごいなあ的な感想になりがちだったのですが、最近はどれもそれなりに自分なりの理解を形作りながら話を聞けるようになってきて、だいぶエンジニアらしくなってきたかな、と感じています。

全体としては、Cross Community Conference というだけあって、ベンダーからの話あり、ユーザからの話あり、テクニックの話あり、アーキテクチャの話あり、という感じで色々な立場の人の話が聞けて、有意義な一日になったと思います。

運営の JJUG の皆さま、登壇者の皆さま、およびスポンサーの皆さま、ありがとうございました。

おまけ : メモ

メモを公開しました。
特にスライドが公開されていないセッションについて、気になる方があれば。

あくまで個人的なメモなので、結局わからなかったらすみません……。

*1:ちなみに僕は Aerosmith 一枚も持ってないので、画面に映った iTunes を見て判断しました……