SlideShare a Scribd company logo
1 of 89
Firefox 3.1 in Depth(?)
@Firefox Developer Conference 2008
by Tomoya Asai (aka. dynamis)
自己紹介 - 浅井 智也
• Mozilla Japan テクニカルマーケティング担当
• Mozilla の製品、技術、思想のエバンジェリスト
• コミュニティでは dynamis (でゅなみす) として活動
• Firefox 1 3, Thunderbird 1 2 の L10N をリード
• 単独リードから あ さんや mar さんとの共同体制に
• SUMO (Firefox サポートサイト) 日本語版リーダー
• 実際の翻訳の大半は mar さんによるもの
• MozillaZine.jp などのコミュニティ活性化サポート
• 基本的にはサーバなどのバックエンドサポート
今日の話題は・・・
Shiretoko
知床
Photo by hogeasdf
http://www.flickr.com/photos/9177053@N05/2811388694/
国立公園
Photo by mtsn
http://www.flickr.com/photos/mtsn/242646868/
世界遺産
Photo by s.sawada
http://www.flickr.com/photos/s_sawada/340629324/
キタキツネ らぶ∼
Screenshot on Amazon.co.jp
http://www.amazon.co.jp/dp/B000S0H366/
可愛くない (>_<)
それはさておき
Firefox 3.1
本日のお料理
前菜: New Interface
スープ: New Feature
魚料理: New Standard
肉料理: New Technology
デザート: New Web
New Interface
Photo by hiroohi
http://flickr.com/photos/rainboweyes/2747484161/
New Interface
タブのプレビュー
• Ctrl + Tab、タブ一覧ボタンでプレビュー表示と検索
タブブラウジング
• ドラッグ&ドロップでウィンドウ間のタブ移動
• Fx3 まではページが再読み込みされていた
• タブが1つでもデフォルトでタブバーを表示
• タブ1つだけの時はタブに閉じるボタンを表示しない
• 最後のタブを閉じるとウィンドウが閉じる
• タブバーに新しいタブを開くボタンを追加
• 再読み込みボタンの中クリックでタブを複製
セキュリティ関連 UI
• SSL 証明書エラーページを平易な説明に改善
• パスワード保存時の情報バーにドメイン名を表示
• ブロックされたプラグインについて情報バーで通知
セキュリティ関連 UI
• SSL 証明書エラーページを平易な説明に改善
• パスワード保存時の情報バーにドメイン名を表示
• ブロックされたプラグインについて情報バーで通知
セキュリティ関連 UI
• SSL 証明書エラーページを平易な説明に改善
• パスワード保存時の情報バーにドメイン名を表示
• ブロックされたプラグインについて情報バーで通知
セキュリティ関連 UI
• SSL 証明書エラーページを平易な説明に改善
• パスワード保存時の情報バーにドメイン名を表示
• ブロックされたプラグインについて情報バーで通知
その他の UI 変更
• インストーラの EULA を廃止して about:rights に変更
• オープンソースソフトで EULA は不要
• ロケーションバーが空の時には説明を表示
• ブックマークと履歴を検索:
• 読み込み中アイコン(スロバー)をデフォルト非表示に
• MacBook のマルチタッチジェスチャーをサポート
• 履歴、ページ端への移動、ズーム、タブ切り替え
New Feature
Photo by akira
http://flickr.com/photos/arika/428018383/
New Feature
プライベートブラウジング
• 表示ページの履歴、検索履歴、ダウンロード履歴、
Web フォーム履歴、Cookie、一時ファイル
が一切保存されない (匿名ブラウジングではない)
• モード切替時にタブの状態を保存、復元する
• ロケーションバーは既存の履歴とブックマークが対象
最近の履歴を消去
• 期間を指定して履歴を消去
• 1, 2, 4時間、1日、すべての履歴から選択
最近の履歴を消去
• 期間を指定して履歴を消去
• 1, 2, 4時間、1日、すべての履歴から選択
スマートロケーションバー
• 検索対象の絞り込みキーワード (記号) のサポート
• ^ で履歴、* でブックマーク、+ でタグ付きページ
@ でURL、# でタイトルとタグだけを検索対象に
• 注: "^word" でなく "^ word" や "word ^" と入力
スマートロケーションバー
• 検索対象の絞り込みキーワード (記号) のサポート
• ^ で履歴、* でブックマーク、+ でタグ付きページ
@ でURL、# でタイトルとタグだけを検索対象に
• 注: "^word" でなく "^ word" や "word ^" と入力
スマートロケーションバー
• 検索対象の絞り込みキーワード (記号) のサポート
• ^ で履歴、* でブックマーク、+ でタグ付きページ
@ でURL、# でタイトルとタグだけを検索対象に
• 注: "^word" でなく "^ word" や "word ^" と入力
スマートロケーションバー
• 検索文字列の途中を変更した時にも即時結果を表示
• Fx3 では文字列末尾を変更したときだけ表示
• スマートキーワードの検索を候補のトップに表示
• キーワード "rfc" を設定したブックマークの例:
スマートロケーションバー
• 検索文字列の途中を変更した時にも即時結果を表示
• Fx3 では文字列末尾を変更したときだけ表示
• スマートキーワードの検索を候補のトップに表示
• キーワード "rfc" を設定したブックマークの例:
柔軟なセッション復元
• ウィンドウとタブを指定して復元が可能に
• クラッシュの原因となるタブだけ外して復元を
柔軟なセッション復元
• ウィンドウとタブを指定して復元が可能に
• クラッシュの原因となるタブだけ外して復元を
その他の新機能
• タグの自動補完
• 複数ブックマークの一括タグ付け
• ソース表示のリンクブラウズモード
• view-source でリンクを辿りながらソース表示
• DNS プリフェッチ
New Standard
Photo by hiroohi
http://flickr.com/photos/rainboweyes/2747484331/
New Standard
Web Fonts
Web Fonts
Web Fonts
Web Fonts
• ダウンロードフォントの font-face を定義して使う
@font-face {
font-family: "Decorated Roman Initials";
src: url(http://www.princexml.com/fonts/steffmann/
DecoratedRomanInitials.ttf) format("truetype");
}
h1 {
font: 2.3cm/0.84 "Decorated Roman Initials", fantasy;
}
• 必要な文字だけダウンロードさせることも可能
@font-face {
font-family: Ampersand;
src: url(ampersand.otf) format("opentype");
unicode-range:U+0026;
}
Web Fonts
• サポートしていなければフォールバックするだけ
• フォント読み込み中の描画はブラウザによって異なる
• Firefox 3.1 はダウンロード後に再描画
• Safari はダウンロードまでテキスト表示無し
• フリーの Web Font も公開されている
• http://opentype.info/demo/webfontdemo.html
• フォントメーカーの皆さん、サイトライセンス如何?
CSS3
• CSS3 メディアクエリー
• 出力デバイスに応じたデザインが可能に
• 画面の幅、高さ、縦横比、解像度、色深度 etc...
• 特にネットブックやモバイルデバイス対応に
• CSS3 セレクタ(擬似クラス)のサポート:
• 任意または特定種類の an+b 番目の子要素
• :nth-child()、:nth-last-child()、
:nth-of-type()、:nth-last-of-type()、
• 最初、最後、単一の子要素
• :first-of-type、:last-of-type、:only-of-type
CSS3
• 楕円境界線 border-radius
• 影付き文字 text-shadow
• 影付きボックス (draft)
-moz-box-shadow
• 画像境界線 (draft)
-moz-border-image
• 段組レイアウト (draft) -moz-column-*
• オーバーフロー時に"…" text-overflow: ellipsis
more CSS
• 改行以外の空白を1つに CSS2.1 white-space:pre-line
• CSS2.1 generated content の position と float
• 変形、回転
(Apple Spec) CSS Transform
• WebFonts、Transform、
text-shadow のサポートで
自由なテキストデザインが
ブラウザ上で実現可能に
• 斜めのメニューやタイトル etc...
Canvas
• HTML5 Canvas Text API
• fillText()、strokeText()、
measureText(),
• Firefox 3 では独自 API
• HTML5 Canvas Shadows API
• ctx.shadowOffsetX、ctx.shadowOffsetY、
ctx.shadowBlur、ctx.shadowColor
• HTML5 Canvas CreteImageData()
• Canvas へのビデオ描画
<video> & <audio>
• Ogg Vorbis/Theora をネイティブサポート
• SVG filter、clip、CSS Transform などとも併用可
<video> & <audio>
• Ogg Vorbis/Theora をネイティブサポート
• SVG filter、clip、CSS Transform などとも併用可
その他の Web 標準
• Geolocation API
• SVG による HTML の切り抜き、マスク、フィルタ
• HTML5 ドラッグ&ドロップ API
• HTML5 オフラインキャッシュ
• DOM 2 Traversal - NodeIterator
• クロスサイト XMLHttpRequest (XHR)
• Fx3 では仕様が未確定だったためスキップされた
• <script defer="defer"> で JavaScript の遅延評価
New Technology
Photo by hiroohi
http://flickr.com/photos/rainboweyes/2747484483/
New Technology
カラーマネージメント
• ICC カラープロファイルの CMS がデフォルトでオンに
• PhotoShop などでの表示色と一致する
• カラープロファイル情報のある画像でのみ色補正
• 画像と背景色 (CSS 指定のRGB値) がずれないように
• プロファイル付画像だけなのは W3C の指針でもある
• これは先行実装している Safari とも同じ動作
• Fx3 では性能(と描画)の問題でデフォルトオフ
• 速度低下は 1% (全画像だと 4 5%、Fx3 では 20 30%)
http://bholley.wordpress.com/2008/09/12/so-many-colors/
Photo by flod
http://flickr.com/photos/flod/2850464994/
Firefox 3.0 Firefox 3.1
JavaScript
• コンテンツでのネイティブ JSON (rfc4627) サポート
• JSON.parse()、JSON.stringify()、
*.prototype.toJSON()
• XUL 内で使用する nsIJSON は Fx3 で実装済
• ワーカースレッド API
• wk = new Worker("path/to/script.js"); で生成して
wk.onmessage, wk.onerror, wk.postMessage を定義
• まだ API の仕様は標準化されていない
• バックグラウンドからは直接 DOM を操作できない
• 重たい計算処理やオンラインに戻るときの処理などに
TraceMonkey
• Firefox 3.1 の新 JavaScript エンジン
• 目標は C や Java に匹敵する処理速度
• 少ないメモリで高速な処理を実現するのが特徴
• 新しいタイプの JIT コンパイラを搭載
• Tamarin (Tamarin-Tracing) の nanojit を移植
• UC の Andreas Gal らの研究成果を反映
• Tracing という手法を用いた JIT コンパイラ
• Andreas Gal による Tracing の論文は 2006年∼
• TraceMonkey の開発は今年の 6月末∼
JavaScript = 遅い?
JavaScript は何故遅い?
• JavaScript = 単純なスクリプトを処理する言語
• そもそも Java があるのに JS ができたのはそのため
• 用途上そもそも高速化する必要性、需要がない
• Web アプリケーションができたのはつい最近
• 開発者の数は C や Java に比べるまでもない
• 比較的新しい言語
• Fortran: 1954∼、C: 1972∼、C++: 1982∼、
Java: 1990∼、JavaScript: 1995∼
• 誰もコンパイラの開発に力を入れていなかった
言語の速度
• 一昔前に C++ と Java のどちらが速いか議論された
• 仮想マシンで動く Java は遅い!?
• 逐次解釈では C の 20 倍以上遅かった
• 中間言語への事前コンパイルで高速化
• JIT によるネイティブコード生成で高速化
• 現在では処理内容次第では Java の方が高速
• パレートの法則
• 処理の大部分は一部のコードに集中する
• ボトルネックとなる部分を高速化すればよい
JavaScript は何故遅い?
• 動的スクリプト言語
• 演算前に型のチェックと変換が必要
• 配列が存在しない
• Array は配列でなくハッシュオブジェクト(仕様)
• array[3] は実際には array["3"] へのアクセス
• すべてのプロパティアクセスでハッシュ計算が必要
• クラスが存在しない
• プロトタイプベースのオブジェクト指向言語
• 変数のクラスによる事前最適化が不可能
時は流れ・・・
時は流れ・・・
Web 2.0
時は流れ・・・
Web 2.0
Ajax
時は流れ・・・
Web 2.0
Ajax
RIA
時は流れ・・・
Web 2.0
Ajax
RIA
Platform
高速化しなきゃ!
JavaScript の高速化
• 動的スクリプト言語
• ループ外で型チェックしてから固定型で演算
• 配列が存在しない
• 配列として使われているなら配列として処理
• 同じプロパティへのアクセスはキャッシュ
• クラスが存在しない
• オブジェクトの定義を変更することはまれ
• 同じ手順で定義したオブジェクトを同じクラスに
• クラスチェックだけしてクラスに特化した処理
注: これは TraceMonkey の話じゃなくて一般論
Just In Time Compiler
• ボトルネックを高速なネイティブコードに変換
• 実行時に繰り返し処理される部分を検出
• 既存の JIT は関数(メソッド)呼び出し回数をカウント
• 一定回数以上呼び出されたメソッドをコンパイル
• 実行時情報を使った最適化が可能
• 事前コンパイル型の C++ などより高速化可能
• Java は HotSpot という JIT の導入で大幅高速化
• Action Script 3 も JIT によって高速化
• 但し AS3 の場合は静的型の導入が大きい
Tracing JIT
1. ソースコードをバイトコード(中間コード)に変換
2. インタープリタでバイトコードを実行しつつ監視
• 後方分岐発生時以外はペナルティ一切無し
3. 後方分岐のジャンプ先をループ始点候補として記録
• ループ処理は必ず後方分岐を伴う
4. 一定回数以上ループしたら実行バイトコードを記録
• 実際に処理するバイトコードだけを記録する
5. 記録された軌跡 (trace) をネイティブコードにコンパイル
6. ネイティブコードで高速処理
Tracing JIT
var i,k=0;
for (i=0; i < 1000; ++i) {
++k;
}
alert(k);
iconst_0
istore_2
iconst_0
istore_1
A iload_1
sipush 1000
if_icmpge B
iinc 2,1
iinc 1,1
goto A
B getstatic System.out
iload_2
invokevirtual alert(int)
トレース
後方分岐
Tracing JIT
• ループのバイトコードをトレース
• 全ての分岐結果を記録
• 同一条件で実行される限りネイティブコードで処理
• 記録した分岐結果と異なる場合は VM に処理を返す
• switch 文なども分岐テーブルではなくトレース時に
実行された特定条件との比較だけを行う
• ループ完了または特定条件発生時にトレース終了
• 例外発生時についてはトレース対象外
• ネイティブメソッド呼び出しも基本的に対象外
Tracing JIT
• ネイティブコードは既存の手法より高速化可能
• 実際処理される最小限のネイティブコードを生成
• 既存の JIT では関数中の非実行部分もコンパイル
• ループ中の関数呼び出しもネイティブコードで最適化
• 関数単位のネイティブコード生成では不可能
• 型についても当然ループ開始時のチェックのみに
• switch 文だったところも if 文として処理
• トレーズ時と同じ分岐かどうかをチェックするだけ
• 同一条件ループでループのオーバーヘッドなし
Tracing the Web
• まだまだ開発は始まったばかり
• ようやく安定してきた段階で高速化の余地はまだまだ
• 現在のトレース対象はネイティブ JS と一部の DOM
• XPCOM のネイティブメソッド呼び出しがあると
一部対応しているものを除きトレース対象外に
• 純粋な JS オブジェクトの処理は非常に高速に
• 画像変換など重たい数値計算処理には効果大
• 他言語から生成したバイトコードも処理
• IronPython などの IronMonkey プロジェクトも・・・
Fx3 vs TraceMonkey
Benchmark by Brendan
http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.html
各種 JS ベンチマークの結果 (8月末)
Fx3 vs TraceMonkey
Benchmark by Brendan
http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.html
各種 JS ベンチマークの結果 (8月末)速度比較結果は
あくまでも参考値
ベンチマークと
実行環境次第です
IE7 vs Fx3 vs Fx3.1b2
0ms 10,000ms 20,000ms 30,000ms 40,000ms
1,272ms
3,800ms
30,829ms
IE7 Firefox 3.1b2 Firefox 3.0
Apple SunSpider Benchmark - Vista on iMac
IE7 の 24 倍
IE7 の 8 倍
IE7 vs Fx3 vs Fx3.1b2
0ms 10,000ms 20,000ms 30,000ms 40,000ms
1,272ms
3,800ms
30,829ms
IE7 Firefox 3.1b2 Firefox 3.0
Apple SunSpider Benchmark - Vista on iMac
IE7 の 24 倍
IE7 の 8 倍
速度比較結果は
あくまでも参考値
ベンチマークと
実行環境次第です
Fx3 vs Fx3.1b2
0ms
100ms
200ms
300ms
400ms
3d access bitops flow crypto date math regexp string
Firefox 3.0 Firefox 3.1b2
Apple SunSpider Benchmark - Vista on iMac
Fx3 vs Fx3.1b2
0ms
100ms
200ms
300ms
400ms
3d access bitops flow crypto date math regexp string
Firefox 3.0 Firefox 3.1b2
Apple SunSpider Benchmark - Vista on iMac
速度比較結果は
あくまでも参考値
ベンチマークと
実行環境次第です
補足: Tamarin との関係
• Tamarin は Adobe の Action Script エンジン
• Tamarin と SpiderMonkey の統合は中止
• Tamarin は SpiderMonkey の高速化に追従できない
• Tamarin には eval() など必要な機能が多数欠落
• バイトコードや DOM との結合が強い
• TraceMonkey では Tamarin の JIT のみ移植
• Tamarin-Tracing というブランチの JIT を移植
• 将来的にはガベージコレクタなどの移植や統合も
• 相互のコードや成果を反映し合いながら開発
New Web
Photo by shiokuma
http://flickr.com/photos/shiokuma/631332559/
New Web
Canvas + JavaScript
数行∼数十行のコードでアート
http://azarask.in/projects/algorithm-ink/
JavaScript で画像処理
Web = Platform
Quality Assurance
Photo by masahiko
http://www.flickr.com/photos/masahiko/986748017/
Quality Assurance

More Related Content

What's hot

なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?ichirin2501
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろうCROOZ, inc.
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
Ruby(thorライブラリ)
Ruby(thorライブラリ)Ruby(thorライブラリ)
Ruby(thorライブラリ)松本 雄貴
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandMasakazu Matsushita
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜Naruhiko Ogasawara
 
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?Hiroaki Kubota
 
Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Terui Masashi
 
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!Kouhei Sutou
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersHiroaki Kubota
 
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!Naruhiko Ogasawara
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法Tetsutaro Watanabe
 
LinuxでZFSを使ってみた
LinuxでZFSを使ってみたLinuxでZFSを使ってみた
LinuxでZFSを使ってみたnvsofts
 
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみたMongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみたhtty_hasumi
 
本当はこわいエンコーディングの話
本当はこわいエンコーディングの話本当はこわいエンコーディングの話
本当はこわいエンコーディングの話Masahiro Tomita
 
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)Takanori Sejima
 
YAPC Asia 2010 30days Albumの裏側 後日談
YAPC Asia 2010 30days Albumの裏側 後日談YAPC Asia 2010 30days Albumの裏側 後日談
YAPC Asia 2010 30days Albumの裏側 後日談Kensuke Nagae
 

What's hot (20)

なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
Ruby(thorライブラリ)
Ruby(thorライブラリ)Ruby(thorライブラリ)
Ruby(thorライブラリ)
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
 
初めてのMongo db
初めてのMongo db初めてのMongo db
初めてのMongo db
 
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
 
Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話
 
MongoDB
MongoDBMongoDB
MongoDB
 
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
 
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clustersDb tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
 
Osc 20130223
Osc 20130223Osc 20130223
Osc 20130223
 
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
LinuxでZFSを使ってみた
LinuxでZFSを使ってみたLinuxでZFSを使ってみた
LinuxでZFSを使ってみた
 
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみたMongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
 
本当はこわいエンコーディングの話
本当はこわいエンコーディングの話本当はこわいエンコーディングの話
本当はこわいエンコーディングの話
 
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
 
YAPC Asia 2010 30days Albumの裏側 後日談
YAPC Asia 2010 30days Albumの裏側 後日談YAPC Asia 2010 30days Albumの裏側 後日談
YAPC Asia 2010 30days Albumの裏側 後日談
 

Viewers also liked

Firefox 3.6 @ New Year Party
Firefox 3.6 @ New Year PartyFirefox 3.6 @ New Year Party
Firefox 3.6 @ New Year Partydynamis
 
Change or Keep
Change or KeepChange or Keep
Change or Keepdynamis
 
Mozilla Products and Future Web
Mozilla Products and Future WebMozilla Products and Future Web
Mozilla Products and Future Webdynamis
 
Firefox And Open Web
Firefox And Open WebFirefox And Open Web
Firefox And Open Webdynamis
 
Firefox 3 と Web の変化
Firefox 3 と Web の変化Firefox 3 と Web の変化
Firefox 3 と Web の変化dynamis
 
Web and browser evolution
Web and browser evolutionWeb and browser evolution
Web and browser evolutiondynamis
 

Viewers also liked (6)

Firefox 3.6 @ New Year Party
Firefox 3.6 @ New Year PartyFirefox 3.6 @ New Year Party
Firefox 3.6 @ New Year Party
 
Change or Keep
Change or KeepChange or Keep
Change or Keep
 
Mozilla Products and Future Web
Mozilla Products and Future WebMozilla Products and Future Web
Mozilla Products and Future Web
 
Firefox And Open Web
Firefox And Open WebFirefox And Open Web
Firefox And Open Web
 
Firefox 3 と Web の変化
Firefox 3 と Web の変化Firefox 3 と Web の変化
Firefox 3 と Web の変化
 
Web and browser evolution
Web and browser evolutionWeb and browser evolution
Web and browser evolution
 

Similar to Firefox 3.1 In Depth (?)

Firefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジーFirefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジーdynamis
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)Naoki Okino
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセスMakoto Kato
 
Mozillaのビルドインフラ
MozillaのビルドインフラMozillaのビルドインフラ
MozillaのビルドインフラMakoto Kato
 
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブルスマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブルHiroaki Wakamatsu
 
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyMasashi Shibata
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Tadahiro Ishisaka
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Shogo Kawahara
 
Heliumエンジンの設計と実装
Heliumエンジンの設計と実装Heliumエンジンの設計と実装
Heliumエンジンの設計と実装DADA246
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Hiro Yoshioka
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1信之 岩永
 
Firefox で快適 WordPress 生活
Firefox で快適 WordPress 生活Firefox で快適 WordPress 生活
Firefox で快適 WordPress 生活dynamis
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドToru Tamaki
 
study on safety and security ccoding standards
study on safety and security ccoding standardsstudy on safety and security ccoding standards
study on safety and security ccoding standardsKiyoshi Ogawa
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugYuji Kubota
 

Similar to Firefox 3.1 In Depth (?) (20)

Firefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジーFirefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジー
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセス
 
Modulemaking
ModulemakingModulemaking
Modulemaking
 
Mozillaのビルドインフラ
MozillaのビルドインフラMozillaのビルドインフラ
Mozillaのビルドインフラ
 
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブルスマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブル
 
.NET vNext
.NET vNext.NET vNext
.NET vNext
 
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャーNode.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
 
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
 
Heliumエンジンの設計と実装
Heliumエンジンの設計と実装Heliumエンジンの設計と実装
Heliumエンジンの設計と実装
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
 
Firefox で快適 WordPress 生活
Firefox で快適 WordPress 生活Firefox で快適 WordPress 生活
Firefox で快適 WordPress 生活
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
 
study on safety and security ccoding standards
study on safety and security ccoding standardsstudy on safety and security ccoding standards
study on safety and security ccoding standards
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
 
osc_tokyo20100226
osc_tokyo20100226osc_tokyo20100226
osc_tokyo20100226
 
Influxdb ver0.9.5#yjdsw3
Influxdb ver0.9.5#yjdsw3Influxdb ver0.9.5#yjdsw3
Influxdb ver0.9.5#yjdsw3
 

More from dynamis

HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)dynamis
 
HTTP and 5G
HTTP and 5GHTTP and 5G
HTTP and 5Gdynamis
 
HTTP and 5G partial draft
HTTP and 5G partial draftHTTP and 5G partial draft
HTTP and 5G partial draftdynamis
 
Web App Platform Strategy
Web App Platform StrategyWeb App Platform Strategy
Web App Platform Strategydynamis
 
HTML5 & Renesas RZ/G
HTML5 & Renesas RZ/GHTML5 & Renesas RZ/G
HTML5 & Renesas RZ/Gdynamis
 
Life of html5 (osaka)
Life of html5 (osaka)Life of html5 (osaka)
Life of html5 (osaka)dynamis
 
Web updates 2017
Web updates 2017Web updates 2017
Web updates 2017dynamis
 
Life of HTML5
Life of HTML5Life of HTML5
Life of HTML5dynamis
 
Browsers in IoT Era
Browsers in IoT EraBrowsers in IoT Era
Browsers in IoT Eradynamis
 
New Norm of HTML5
New Norm of HTML5New Norm of HTML5
New Norm of HTML5dynamis
 
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)dynamis
 
OSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig TalkOSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig Talkdynamis
 
Demo for Gecko Embedded
Demo for Gecko EmbeddedDemo for Gecko Embedded
Demo for Gecko Embeddeddynamis
 
Project Gecko Embedded
Project Gecko EmbeddedProject Gecko Embedded
Project Gecko Embeddeddynamis
 
The New Norm of The Web
The New Norm of The WebThe New Norm of The Web
The New Norm of The Webdynamis
 
Progressive Mobile Web Apps
Progressive Mobile Web AppsProgressive Mobile Web Apps
Progressive Mobile Web Appsdynamis
 
Modern Mobile Web Apps
Modern Mobile Web AppsModern Mobile Web Apps
Modern Mobile Web Appsdynamis
 
Web Tech & Architecture
Web Tech & ArchitectureWeb Tech & Architecture
Web Tech & Architecturedynamis
 
Java script.trend(spec)
Java script.trend(spec)Java script.trend(spec)
Java script.trend(spec)dynamis
 
Data Privacy meeting
Data Privacy meetingData Privacy meeting
Data Privacy meetingdynamis
 

More from dynamis (20)

HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
 
HTTP and 5G
HTTP and 5GHTTP and 5G
HTTP and 5G
 
HTTP and 5G partial draft
HTTP and 5G partial draftHTTP and 5G partial draft
HTTP and 5G partial draft
 
Web App Platform Strategy
Web App Platform StrategyWeb App Platform Strategy
Web App Platform Strategy
 
HTML5 & Renesas RZ/G
HTML5 & Renesas RZ/GHTML5 & Renesas RZ/G
HTML5 & Renesas RZ/G
 
Life of html5 (osaka)
Life of html5 (osaka)Life of html5 (osaka)
Life of html5 (osaka)
 
Web updates 2017
Web updates 2017Web updates 2017
Web updates 2017
 
Life of HTML5
Life of HTML5Life of HTML5
Life of HTML5
 
Browsers in IoT Era
Browsers in IoT EraBrowsers in IoT Era
Browsers in IoT Era
 
New Norm of HTML5
New Norm of HTML5New Norm of HTML5
New Norm of HTML5
 
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
Edge Web Technologies and Browser Vendors (Updated on 2016/09/06)
 
OSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig TalkOSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig Talk
 
Demo for Gecko Embedded
Demo for Gecko EmbeddedDemo for Gecko Embedded
Demo for Gecko Embedded
 
Project Gecko Embedded
Project Gecko EmbeddedProject Gecko Embedded
Project Gecko Embedded
 
The New Norm of The Web
The New Norm of The WebThe New Norm of The Web
The New Norm of The Web
 
Progressive Mobile Web Apps
Progressive Mobile Web AppsProgressive Mobile Web Apps
Progressive Mobile Web Apps
 
Modern Mobile Web Apps
Modern Mobile Web AppsModern Mobile Web Apps
Modern Mobile Web Apps
 
Web Tech & Architecture
Web Tech & ArchitectureWeb Tech & Architecture
Web Tech & Architecture
 
Java script.trend(spec)
Java script.trend(spec)Java script.trend(spec)
Java script.trend(spec)
 
Data Privacy meeting
Data Privacy meetingData Privacy meeting
Data Privacy meeting
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (8)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

Firefox 3.1 In Depth (?)