これの続き。
DOMパフォーマンスチューニング入門
講師: amachang
JavaScript は遅い遅いといわれているけど
ベンチマーク取ってみると Rerl とか Ruby 並みの速度
遅いのは DOM に 関する処理
DOM 関連の処理を分解してみると、
- コンポーネントとの通信
- DOMノードの追加
- スタイルの再計算
- レイアウトの再計算
となる。
1 コンポーネントとの通信
XPConnect や COM との通信
IE が特に遅い
無駄なプロパティアクセスを減らすと良い
→ 変数に入れるなどして
2 DOMノードの追加
ノードに「変更されたフラグ」が立つ
「parent.appendChild(child)」とすると parent と child にフラグが立つ
(DOM に対する処理をすぐに実行するのではなくて後でまとめてやるためにマークを付けとく、みたいな感じですかね。)
3 スタイルの再計算
スタイルの再計算が行われるタイミングを把握しておく必要がある
スタイルの再計算はどんな時に行われるか
- 変更フラグが立っているノードがあるまま JavaScript が終了した時
- 変更フラグが立っている状態でスタイルの再計算が必要な処理を行った時
offsetWidth プロパティの値を取得したり
処理の順番を意識する必要がある
スタイルの再計算が行われるエレメントを意識する必要がある
子ノードとか下にあるエレメントとかもスタイルの再計算が行われる
4 レイアウトの再計算
要素の幅、高さ、位置の計算がここで行われる
激しく重い
→ 親ノードにも影響を及ぼすことがあるので
基本、スタイルの再計算に気をつけていればいい
プロファイラのデモ
各メソッドの実行時間とか、呼び出し回数なんかが簡単に調べられる
(safari 4 にはプロファイラが搭載されるらしい)
質問タイム
Q: 再計算のタイミングを知るには
A: Webkit をデバッガで起動。ログを仕込んだりして調べる。
Q: Webkit のソース解読 Tips
A: Webkit の IDL ファイルを見ると良い
ギークなお姉さんができるまで
講師: べにぢょ (アルカーナ株式会社), purprin (エスカフラーチェLLC)
個人的にはあまり興味がわかない内容でした。
おもしろかったけど。
(というか、人の話を聞くのって基本おもしろい。退屈な話かしない人もいるけど、自分が何を考えているのかということをちゃんと話そうとして話している人の話はだいたい面白い。)
purprin さんの話がもうちょっと聞けたらよかったかも。
Web デザインの話とか。
『JavaからRubyへ』・アンド・ナウ
講師: 角谷 信太郎 (株式会社永和システムマネジメント), 高井 直人, 和田 卓人
Java から Ruby、EJB から Rails という流れの裏にどのような歴史があるのか、というようなお話
以下はスピーカーの方達のブログ記事。
- 角谷HTML化計画(2008-10-17)
- JJUG CCC 2008 Fallで鼎談しました - recompile.net
- JJUG CCC にて「『JavaからRubyへ』・アンド・ナウ」と「YET ANOTHER GREEN IT」のセッションに登壇させていただきました - t-wadaの日記
YET ANOTHER GREEN IT
講師: 和田 卓人, 角谷 信太郎 (株式会社永和システムマネジメント)
息が合えばペアプログラミングってすごく楽しそうだなぁと見てて思った。
こういうセッションも楽しいですね。
他人が開発してるところとか普段そんなに注意深く見てないし。
Agileは現場に適用できるのか? ~オンナだらけのパネル・ディスカッション~
講師: 片山 智咲子 (Java Edge), きたむら (日本XPユーザグループ), 柳本芙友子 (要求開発アライアンス)
なにかこう、釈然としないディスカッションでした。
アジャイルという言葉の意味が人によってまちまちだなぁ、とすごく思いました。
java-jaプレゼンツ・第十一回 第2回チキチキ JJUG だよ全員集合 ライトニングトーク大会
おもしろかったです。
え?、西尾さんビーズの話して終わり?みたいな。






