Javaから離れてずいぶん経ち、実際にコードを書くことはほとんどなくなってしまった。でも今回は「クロスコミュニティカンファレンス」、Java縛りではないらしい。方向はまちまちだが興味深いプログラムが揃っているので、いつもどおり朝から仕事に穴を開けて参加してきた。

場所は国立オリンピック記念青少年総合センター。原宿から代々木公園を横断すると気持ちのいい散歩コースになるのだが、そんな余裕を作れるほどの早起きには失敗したので、代々木公園駅からばたばたと会場に駆け込んだ。それでも5分ほど遅れてしまい、基調講演の冒頭を聞き逃したのがちょっと悔しい。

【セッション】

  • 基調講演「CloudとAndroid」

    丸山 不二夫

    日本Javaユーザグループ会長/早稲田大学客員教授

  • スケールアップからスケールアウトへ

  • ハードウェアの進化には限界が見えている

  • ネットワークの進化はまだ進みそう

  • マルチコアCPUの普及

  • Cloud

  • webをプラットフォームとした多数のサービス

  • すべてはGoogleから始まった

  • 実体はネットワークインフラと多数のサーバ

  • CloudとAndroidがもたらすもの

  • 世界のデジタルディバイドは解消に向かっている

  • 解消のキーは携帯電話

  • アフリカでの普及の勢いは驚異的

  • 優れたコミュニケーションインフラが社会的配当として分配される

  • 組み込み標準プラットフォームとしての携帯の可能性

  • 日本のメーカはガラパゴスで消耗戦をしている

  • 世界の端末市場は1桁違う

  • 世界的なオープン化の流れは巻き返しのチャンス

  • 日本が優位なファクタ

  • IT技術者の層の厚さ

  • もの作りの実績

  • コンテンツの力(アニメ、ゲームなど)

  • 感想

  • ガラパゴスに黒船が近づいている…のか?

  • iPhone、一般人に売れている印象はないけどこの手のイベントではみんな持ってるような気がする

  • 「黒船は来る」という前提で考える必要があるような

  • 基調講演「Hudsonによる継続的インテグレーション」

    川口 耕介

    Sun Microsystems, Inc. senior staff engineer

  • 計算機にもっと仕事をさせる

  • 計算機は安くなる一方

  • 技術者は高くなる一方

  • もっと計算機を使うべきだが…

  • 1台のコンピュータを使いこなすのは簡単

  • 複数のコンピュータを使いこなすのは意外と難しい

  • そこでHudson

  • Hudsonとは

  • Continuous Integration(継続的開発)支援ツール

  • バージョン管理システムへのコミットを監視

  • ユニットテスト、コードインスペクションなどを行い異常があればアラート

  • 感想

  • PHPによるwebアプリの開発に応用できるかは要調査

  • コミットに対してユニットテスト回すだけでずいぶん品質が上がりそう

  • Tシャツ欲しかった(会場に投げてた)

  • DOMパフォーマンスチューニング入門

    amachang

  • JavaScriptのパフォーマンスチューニング

  • JavaScriptが遅いのは誤解

  • とはいえDOM操作は確かに重い

  • 重くなるポイントを見極めるのが大切

  • チューニングのポイント

  1. JavaScriptとブラウザコンポーネントの通信
  • 通信の回数を減らす
  • すなわちドット(プロパティアクセス)の数を減らす
  1. DOMノードの追加・変更
  • 操作を行うとノードに変更(dirty)フラグが立つ
  • 必要なタイミングでスタイルの再計算が行われる
  • JavaScriptの処理終了後に行われる再計算はプロファイラでは捕捉できない
  1. スタイルの再計算
  • 一番効果的なポイント
  • 参照するだけでスタイルの再計算が行われる動作がある
  • いろいろあるしブラウザによっても違う
  • 参照しただけで再計算されるプロパティもあったりする
  • 再計算実行を意識して処理の順番を考えると改善
  1. レイアウトの再計算
  • 要素のサイズ・位置の再計算

  • スタイルの再計算の後に行われる

  • 大変重い

  • プロファイラを使おう

  • FireFox(Firebug)、Safari(WebKit)に付属

  • メソッドの呼び出し回数や処理にかかった時間などを調べてくれる

  • 計測なしにチューニングなし

  • 感想

  • 相変わらずカッコいいな

  • そろそろちゃんとJavaScriptを書きたい

  • 今日の話は書くときまでちゃんと覚えておこう

  • ギークなお姉さんができるまで

    べにぢょ(アルカーナ株式会社)

    purprin(エスカフラーチェLLC デザイナー)

  • 感想

  • 「デザイナはプログラマと切磋琢磨したい」そうなので、もっとデザイナと話をしよう

  • 「女性がエンジニアを志すきっかけ」みたいな内容を想像していたらちょっと違った

    >そもそもエンジニアを目指しているわけではないらしい

  • 「参考書のサンプルはつまらない。好きなものを作るのがモチベーションの源」

    >現場での仕事もそうであるといいんだけど…

  • 『JavaからRubyへ』・アンド・ナウ

    角谷 信太郎(株式会社永和システムマネジメント サービスプロバイディング事業部 チーフプログラマ)

    高井 直人

    和田 卓人

  • 『JavaからRubyへ』

  • マネージャがスポンサーを説得するため、みたいな内容

  • 新しい技術を導入させるための提案のフレームワーク

  • 技術的には「EJBからRailsへ」みたいな感じ

  • Ruby on Railsについて

  • Railsは「達人プログラマー」をはじめとする書籍で紹介されたアジャイルな考え方を「実装してみた」とでもいえるフレームワーク

  • Railsの表面的な機能ではなく文化とか発祥にまで目を向けるといいんじゃないか

  • 「達人プログラマー」みんな読んだよね?

  • 感想

  • 意外と「RonRサイコー!」みたいなアツい感じではなかった

  • フレームワークの機能そのものがアジャイルを志向しているというのは初めて知った

  • そろそろ何か小さなものでも作ってみないと話に乗れなくてつまらない

  • YET ANOTHER GREEN IT

    和田 卓人

    角谷 信太郎(株式会社永和システムマネジメント サービスプロバイディング事業部 チーフプログラマ)

  • 概要

  • TDD + ペアプログラミング

  • RubyでRESTful世界時計を作る

  • WEB + DB PRESS vol.42においてJavaで実装したもの

  • ポイント

  • 言語 / ライブラリなどの使い方を知るためにテストを書いてみることを「学習テスト」という

  • プログラミングだけなら時間がかかっているが、TDD + ペアプロによって実装完了時に

    設計レビュー、実装、コードレビュー、単体テスト、受入テストまで完了している

  • ペアプロを行うにあたってのポイント

  • 常にしゃべりながら(コミュニケートしながら)開発しよう

  • ドライバとナビゲータは頻繁に交代しよう

  • チームでの生産性は個人の環境へのこだわりに優先する

    >開発環境 / キーバインドなどをなるべくチーム内で統一する

  • 感想

  • 時間の制約で駆け足の実演になってしまったのが残念

  • バックグラウンドで常にユニットテストが走っているというのはよさそう

  • LLでの開発に適しているのはMacBookなのか?

  • Agileは現場に適用できるのか? ~オンナだらけのパネル・ディスカッション~(仮)

    片山 智咲子 (Java Edge代表)

    きたむら (日本XPユーザグループ)

    柳本 芙友子 (要求開発アライアンス執行委員)

  • 感想

  • 「アジャイル」という単語を相当回数聞いたのでちょっとゲシュタルト崩壊気味

  • まとめがまとまっていなかった

  • 現場の小さな改善をアジャイル・プラクティスに基づいて行おう、というごく真っ当な結論

最後のライトニングトークを一番楽しみにしていたのだが、現場でなにやら事故の知らせが届いたので泣く泣く諦めて会社に戻った。そのまま戻るのも悔しいので、朝は断念した「代々木公園横断ルート」を、月明かりの下ひとりで歩いて帰った。