JJUG クロスコミュニティカンファレンス 2008 Fallに参加する
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パフォーマンスチューニング入門
JavaScriptのパフォーマンスチューニング
JavaScriptが遅いのは誤解
とはいえDOM操作は確かに重い
重くなるポイントを見極めるのが大切
チューニングのポイント
- JavaScriptとブラウザコンポーネントの通信
- 通信の回数を減らす
- すなわちドット(プロパティアクセス)の数を減らす
- DOMノードの追加・変更
- 操作を行うとノードに変更(dirty)フラグが立つ
- 必要なタイミングでスタイルの再計算が行われる
- JavaScriptの処理終了後に行われる再計算はプロファイラでは捕捉できない
- スタイルの再計算
- 一番効果的なポイント
- 参照するだけでスタイルの再計算が行われる動作がある
- いろいろあるしブラウザによっても違う
- 参照しただけで再計算されるプロパティもあったりする
- 再計算実行を意識して処理の順番を考えると改善
- レイアウトの再計算
要素のサイズ・位置の再計算
スタイルの再計算の後に行われる
大変重い
プロファイラを使おう
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ユーザグループ)
柳本 芙友子 (要求開発アライアンス執行委員)
感想
「アジャイル」という単語を相当回数聞いたのでちょっとゲシュタルト崩壊気味
まとめがまとまっていなかった
現場の小さな改善をアジャイル・プラクティスに基づいて行おう、というごく真っ当な結論
最後のライトニングトークを一番楽しみにしていたのだが、現場でなにやら事故の知らせが届いたので泣く泣く諦めて会社に戻った。そのまま戻るのも悔しいので、朝は断念した「代々木公園横断ルート」を、月明かりの下ひとりで歩いて帰った。