JJUG CCC 2008 Fall感想

遅らせながら、10/15にJJUG CCC 2008 Fallに行ってきた感想を述べます。

  • CloudとAndroid(丸山 不二夫)

クラウドコンピューティングの今後とAndroidの可能性について話されました。
それにちなんで、CPUのダウンサイジングの話やネットワークの高速化など、計算機の性能向上の話をされました。
特に、CPU-メモリ間の通信よりもネットワーク通信のほうが速くなるとどうなるか、というようなPCのアーキテクチャを一新する話は斬新でした。
また、IT企業以外の企業(主に金融系)がクラウドへ投資を始めているという話もされて、興味深かったです。
講演を聴いてみて自分が思ったのは、クラウドコンピューティングの良さは沢山の物理的なマシンを有効に活用し、そのリソースを柔軟に運用する、というところです。
そして、Androidのようなオープンな携帯が技術進歩によって、その物理マシンの一端を担うのではというSF的な未来を感じました。

継続的インテグレーション(CI)というXPのベストプラクティスとそれを実現するためのHudsonというソフトの話をされました。
CIやHudsonはここのブログをご覧の皆さんはご存知だと思いますが、やっぱりメインの作者が話すのは違うなと思います。
聞いてみて自分が話すよりも、CIやHudsonの意義や魅力について分かり易かったです。
今回の講演で象徴的な言葉は、「技術者は王様、計算機は召使」、です。
CIはサーバをこき使います。
そうすることで人間の作業時間を短くし、結果として生産性が上がります。
ですが、一台だけでなく沢山のマシンを使いこなすのは意外と難しく、それが技術者のひとつの価値になるということを話されました。*1
また、生産性のボトルネックになりやすいもののひとつは人間間のコミュニケーションであり、例えばサーバの状態やセットアップの仕方を逐一聞くのは意外と馬鹿になりません。
それを実施する仕組みとしてソフト(ツール)にしておき、誰でも簡単に扱えるようにすることも大事です。*2
そのためにHudsonを空いた時間で作ったそうで、今じゃSunの内部で広く使われ、使用マシンもゆうに30台以上だそうです。
そのHudsonの機能説明をされましたが特徴的なものは、依存関係の追跡やテストとビルドの分離のための機能、ビルド昇進(promoted build*3)などです。
特に、ビルド昇進は各テストを全部通過したものだけを、QAテストのようなより高価なテストをするだけの価値がある成果物とする考えです。
また、HudsonはMaster-Slave方式のクラスタリングをサポートしてまして、複数のマシンを使ってビルドすることができます。
そして、他のツールとの連携やRESTfulAPIについても話されました。
全体的に、沢山のマシンをいかに効率的に使うか、コミュニケーションコストをいかに下げるか、ということを説明されていました。
これはHudsonなどのOSSの開発での実経験があってのことだと思います。

  • DOMパフォーマンスチューニング入門(id:amachang

JavaScriptのパフォーマンスチューニングについて。
JavaScriptRubyなどに比べると遜色ない、という始まりから何がボトルネックになっているのか説明されていました。
特にボトルネックになりやすいものは、レンダリング処理が複数回行われるものである、としてました。
この辺はプロファイラで検知することができないため、Webkitソースコードを読んでわかったところらしいです。
で、レンダリング処理が複数回行われないように、レンダリング処理にかかわるものは固めて実行する、というのがテクニックとして話されました。
やっぱりJavaScrptやHTMLがどのように評価されているか、はブラウザのソースコードを読まないと詳細のことがわからないみたいです。
Webkitはそこそこ読みやすくお勧めだと言っていましたので、勉強のためにも読む価値はあるのかなと思います。

  • ギークなお姉さんができるまで(べにぢょ、purprin)

タイトルで何を話すのかわからず、そして今まで拝見したことなかったため、聞いてみました。
企画とデザイナーとどう仕事をしていくか、という内容だったと思います。
自分としては、デザイナーはデザイン(設計)するわけで、そこはどこの業界でも変わらないと思っています。
その点で、プログラマや企画とどうやって仕事するか、というところは大事な点だと思います。
もう少し、そのあたりを突っ込んで話が聞ければなと思いました。

  • JavaからRubyへ』・アンド・ナウ(角谷 信太郎、高井 直人、和田 卓人 id:t-wada

JavaからRubyへ」本のバックグラウンドの話を鼎談形式で行われました。
ものすごく濃い話でしたが、いかんせん自分は「JavaからRubyへ」自体を読んでおらず、またそれにちなんだ本を読んでいないため半分以上はわからず。
ただ、そこで言いたかったことは「JavaからRubyへ」は「EJBからRailsへ」という内容で、いかに新しいこと(Rails)を組織に浸透させるかということだったみだいです。
また、そのRailsはいかに突然DHHという天才が現れてまったく新しいものを提示したわけじゃなく、その背後にOOやXPがあるということも話されていました。
フレームワークにしろ、アプリケーションにしろ、その背後の思想的なものは形を変えて脈々と受け継がれていくものかなと思ったところです。

  • YET ANOTHER GREEN IT(角谷 信太郎、和田 卓人)

角谷さんと和田さんのライブペアプロでした。
TDDと絡めて、ものすごく面白かったです。
ライブラリの使い方をテストコードを書くことで調べたり、TDDを行う上でおおそとから攻めたり内側から攻めたりと、具体的にTDDをどうしているかを部分的にですが知ることができました。
短い時間ながらエッセンスの詰まったセッションだったと思います。

  • Agileは現場に適用できるのか? 〜オンナだらけのパネル・ディスカッション〜(仮) (片山 智咲子、きたむら、柳本 芙友子)

アジャイルとはなんぞや?的な話でした。
内容は、プロジェクト管理よりの話で、アジャイル開発の良し悪しについて、また適用対象などについて話されていました。
途中から、観客を交えてどういう事例を行って結果としてどうなったか、などのやり取りがありました。
ぶっちゃけて言うと、次のLTを控え、あんまり聞けていなかったです。
すいません。

  • java-jaプレゼンツ・第十一回 第2回チキチキ JJUG だよ全員集合 ライトニングトーク大会

何でもありのLT大会でした。
自分はみんなあんまり技術ネタを話さないだろうと思い、またせっかく基調講演でHudsonのことを川口さんがやったのだからということもあり、Hudsonのソースコードリーディングを行いました。
そう読んでいると、読みが外れて結構技術ネタを話す話す。
で、LTでソースを読んだところは、Hudsonが「java -jar hudson.war」で起動できる、Executableになっているところです。
実際ソースコードは170行程度ですし、その中で簡潔していて見やすい部類と思います。
それで、自分の発表はこんなものという感じでしたが、他の皆さんはやっぱり上手いなぁと思いましたね。
特に時間配分が上手く、殆どのみなさんはドラ娘の仕事を奪って可愛そうでした。
え、自分は?
もちろん鳴らされましたよ。
それはともかく、こういう場でLTをやって聞いてもらうというのはなかなかいい経験値になったと思います。


そしてLT終了後、大学時代の知人と偶然合間見えることができました。
お互いすっかりエンジニアになっていましたね。
その後、話しかけてくる人がいました。
id:akihiroxさんでした。
彼と話していると、突然また話しかける人がいました。
川口さんはどこですか、という問いにピンと来て、id:masanobuimaiさんかなと聞いてみると、ビンゴでした。
JJUGに来て、最後にこの出会いが何よりもよかったです。
彼を川口さんのところへ案内し、一緒に2次会会場へ。
2次会会場は収まりきらず、java-jaだけは別のお店へ移動。
このとき川口さんたちとははぐれることに。
残念でした。
やっぱり自重しない大人たちが多いjava-jaの飲み会は、コーラが切れるわ、キャビアがでるわ、モンハンしだすわ、タケルンバ卿(id:takerunba)が来るわで、いつもらしさが出てましたね^^;
なんだかんだで、楽しくも疲れた一日でした。

*1:これは丸山先生の講演と重なる点がありまして、特に沢山のマシンをどうやって有効化活用するか、という問題は今後の重要なトレンドだと考えられます。

*2:これはHudsonが大事にしている点です。例えばcronやスクリプトを使った継ぎ接ぎのシステムだと、作った人以外の人が手を入れることを考えてみてください。

*3:プラグインがありますhttp://hudson.gotdns.com/wiki/display/HUDSON/Promoted+Builds+Plugin