Submit Search
Upload
Firefox 3.1 In Depth (?)
•
0 likes
•
436 views
dynamis
Follow
200811 Firefox Developer Conference 2008 でのプレゼン資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 89
Recommended
Firefox 3.1 & MozTech
Firefox 3.1 & MozTech
dynamis
Mongo db勉強会の補足
Mongo db勉強会の補足
CROOZ, inc.
Introducing mroonga 20111129
Introducing mroonga 20111129
Kentoku
MongoDBざっくり解説
MongoDBざっくり解説
知教 本間
Introduction to MongoDB
Introduction to MongoDB
moai kids
Javakuche yono
Javakuche yono
yono05
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
Yasuhiro Matsuo
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
Yoshihisa Ozaki
Recommended
Firefox 3.1 & MozTech
Firefox 3.1 & MozTech
dynamis
Mongo db勉強会の補足
Mongo db勉強会の補足
CROOZ, inc.
Introducing mroonga 20111129
Introducing mroonga 20111129
Kentoku
MongoDBざっくり解説
MongoDBざっくり解説
知教 本間
Introduction to MongoDB
Introduction to MongoDB
moai kids
Javakuche yono
Javakuche yono
yono05
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
Yasuhiro Matsuo
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
Yoshihisa Ozaki
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
Ruby(thorライブラリ)
Ruby(thorライブラリ)
松本 雄貴
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
Masakazu Matsushita
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
初めてのMongo db
初めてのMongo db
Ryuji Tamagawa
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
Hiroaki Kubota
Mroongaを選んだ理由と ちょっと嬉しかった話
Mroongaを選んだ理由と ちょっと嬉しかった話
Terui Masashi
MongoDB
MongoDB
あしたのオープンソース研究所
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
Kouhei Sutou
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
Hiroaki Kubota
Osc 20130223
Osc 20130223
Takahiro Yamagishi
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が遅いときの切り分け方法
Tetsutaro Watanabe
LinuxでZFSを使ってみた
LinuxでZFSを使ってみた
nvsofts
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
htty_hasumi
本当はこわいエンコーディングの話
本当はこわいエンコーディングの話
Masahiro Tomita
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
YAPC Asia 2010 30days Albumの裏側 後日談
YAPC Asia 2010 30days Albumの裏側 後日談
Kensuke Nagae
Firefox 3.6 @ New Year Party
Firefox 3.6 @ New Year Party
dynamis
Change or Keep
Change or Keep
dynamis
More Related Content
What's hot
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
Ruby(thorライブラリ)
Ruby(thorライブラリ)
松本 雄貴
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
Masakazu Matsushita
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
初めてのMongo db
初めてのMongo db
Ryuji Tamagawa
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
Hiroaki Kubota
Mroongaを選んだ理由と ちょっと嬉しかった話
Mroongaを選んだ理由と ちょっと嬉しかった話
Terui Masashi
MongoDB
MongoDB
あしたのオープンソース研究所
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
Kouhei Sutou
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
Hiroaki Kubota
Osc 20130223
Osc 20130223
Takahiro Yamagishi
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が遅いときの切り分け方法
Tetsutaro Watanabe
LinuxでZFSを使ってみた
LinuxでZFSを使ってみた
nvsofts
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
htty_hasumi
本当はこわいエンコーディングの話
本当はこわいエンコーディングの話
Masahiro Tomita
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
YAPC Asia 2010 30days Albumの裏側 後日談
YAPC Asia 2010 30days Albumの裏側 後日談
Kensuke Nagae
What's hot
(20)
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
Mongo dbを知ろう
Mongo dbを知ろう
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Ruby(thorライブラリ)
Ruby(thorライブラリ)
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
初めてのMongo db
初めてのMongo db
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
Mroongaを選んだ理由と ちょっと嬉しかった話
Mroongaを選んだ理由と ちょっと嬉しかった話
MongoDB
MongoDB
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
Db tech showcase2015 how to replicate between clusters
Db tech showcase2015 how to replicate between clusters
Osc 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できたよ!
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
LinuxでZFSを使ってみた
LinuxでZFSを使ってみた
Mongo dbを半年ちょっと運用してみた
Mongo dbを半年ちょっと運用してみた
本当はこわいエンコーディングの話
本当はこわいエンコーディングの話
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
YAPC Asia 2010 30days Albumの裏側 後日談
YAPC Asia 2010 30days Albumの裏側 後日談
Viewers also liked
Firefox 3.6 @ New Year Party
Firefox 3.6 @ New Year Party
dynamis
Change or Keep
Change or Keep
dynamis
Mozilla Products and Future Web
Mozilla Products and Future Web
dynamis
Firefox And Open Web
Firefox And Open Web
dynamis
Firefox 3 と Web の変化
Firefox 3 と Web の変化
dynamis
Web and browser evolution
Web and browser evolution
dynamis
Viewers also liked
(6)
Firefox 3.6 @ New Year Party
Firefox 3.6 @ New Year Party
Change or Keep
Change or Keep
Mozilla Products and Future Web
Mozilla Products and Future Web
Firefox And Open Web
Firefox And Open Web
Firefox 3 と Web の変化
Firefox 3 と Web の変化
Web and browser evolution
Web and browser evolution
Similar to Firefox 3.1 In Depth (?)
Firefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジー
dynamis
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
Naoki Okino
Firefoxの開発プロセス
Firefoxの開発プロセス
Makoto Kato
Modulemaking
Modulemaking
Hikawa Kilica
Mozillaのビルドインフラ
Mozillaのビルドインフラ
Makoto Kato
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブル
Hiroaki Wakamatsu
.NET vNext
.NET vNext
信之 岩永
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
Masashi Shibata
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
Tadahiro Ishisaka
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
Shogo Kawahara
Heliumエンジンの設計と実装
Heliumエンジンの設計と実装
DADA246
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
信之 岩永
Firefox で快適 WordPress 生活
Firefox で快適 WordPress 生活
dynamis
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
study on safety and security ccoding standards
study on safety and security ccoding standards
Kiyoshi Ogawa
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
Yuji Kubota
osc_tokyo20100226
osc_tokyo20100226
Shoken Fujisaki
Influxdb ver0.9.5#yjdsw3
Influxdb ver0.9.5#yjdsw3
Yahoo!デベロッパーネットワーク
Similar to Firefox 3.1 In Depth (?)
(20)
Firefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジー
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
Firefoxの開発プロセス
Firefoxの開発プロセス
Modulemaking
Modulemaking
Mozillaのビルドインフラ
Mozillaのビルドインフラ
スマートフォン対応、気をつけたいトラブル
スマートフォン対応、気をつけたいトラブル
.NET vNext
.NET vNext
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
Heliumエンジンの設計と実装
Heliumエンジンの設計と実装
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
Firefox で快適 WordPress 生活
Firefox で快適 WordPress 生活
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
study on safety and security ccoding standards
study on safety and security ccoding standards
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
osc_tokyo20100226
osc_tokyo20100226
Influxdb ver0.9.5#yjdsw3
Influxdb ver0.9.5#yjdsw3
More from dynamis
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
dynamis
HTTP and 5G
HTTP and 5G
dynamis
HTTP and 5G partial draft
HTTP and 5G partial draft
dynamis
Web App Platform Strategy
Web App Platform Strategy
dynamis
HTML5 & Renesas RZ/G
HTML5 & Renesas RZ/G
dynamis
Life of html5 (osaka)
Life of html5 (osaka)
dynamis
Web updates 2017
Web updates 2017
dynamis
Life of HTML5
Life of HTML5
dynamis
Browsers in IoT Era
Browsers in IoT Era
dynamis
New Norm of HTML5
New Norm of HTML5
dynamis
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 Talk
dynamis
Demo for Gecko Embedded
Demo for Gecko Embedded
dynamis
Project Gecko Embedded
Project Gecko Embedded
dynamis
The New Norm of The Web
The New Norm of The Web
dynamis
Progressive Mobile Web Apps
Progressive Mobile Web Apps
dynamis
Modern Mobile Web Apps
Modern Mobile Web Apps
dynamis
Web Tech & Architecture
Web Tech & Architecture
dynamis
Java script.trend(spec)
Java script.trend(spec)
dynamis
Data Privacy meeting
Data Privacy meeting
dynamis
More from dynamis
(20)
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
HTTP and 5G
HTTP and 5G
HTTP and 5G partial draft
HTTP and 5G partial draft
Web App Platform Strategy
Web App Platform Strategy
HTML5 & Renesas RZ/G
HTML5 & Renesas RZ/G
Life of html5 (osaka)
Life of html5 (osaka)
Web updates 2017
Web updates 2017
Life of HTML5
Life of HTML5
Browsers in IoT Era
Browsers in IoT Era
New 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)
OSC2016.Enterprise Lightnig Talk
OSC2016.Enterprise Lightnig Talk
Demo for Gecko Embedded
Demo for Gecko Embedded
Project Gecko Embedded
Project Gecko Embedded
The New Norm of The Web
The New Norm of The Web
Progressive Mobile Web Apps
Progressive Mobile Web Apps
Modern Mobile Web Apps
Modern Mobile Web Apps
Web Tech & Architecture
Web Tech & Architecture
Java script.trend(spec)
Java script.trend(spec)
Data Privacy meeting
Data Privacy meeting
Recently uploaded
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Hiroshi Tomioka
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Recently uploaded
(9)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
Firefox 3.1 In Depth (?)
1.
Firefox 3.1 in
Depth(?) @Firefox Developer Conference 2008 by Tomoya Asai (aka. dynamis)
2.
自己紹介 - 浅井
智也 • Mozilla Japan テクニカルマーケティング担当 • Mozilla の製品、技術、思想のエバンジェリスト • コミュニティでは dynamis (でゅなみす) として活動 • Firefox 1 3, Thunderbird 1 2 の L10N をリード • 単独リードから あ さんや mar さんとの共同体制に • SUMO (Firefox サポートサイト) 日本語版リーダー • 実際の翻訳の大半は mar さんによるもの • MozillaZine.jp などのコミュニティ活性化サポート • 基本的にはサーバなどのバックエンドサポート
3.
今日の話題は・・・
4.
Shiretoko
5.
知床
6.
Photo by hogeasdf http://www.flickr.com/photos/9177053@N05/2811388694/
7.
国立公園
8.
Photo by mtsn http://www.flickr.com/photos/mtsn/242646868/
9.
世界遺産
10.
Photo by s.sawada http://www.flickr.com/photos/s_sawada/340629324/
11.
キタキツネ らぶ∼
12.
Screenshot on Amazon.co.jp http://www.amazon.co.jp/dp/B000S0H366/
13.
可愛くない (>_<)
14.
それはさておき
15.
Firefox 3.1
16.
本日のお料理 前菜: New Interface スープ:
New Feature 魚料理: New Standard 肉料理: New Technology デザート: New Web
17.
New Interface Photo by
hiroohi http://flickr.com/photos/rainboweyes/2747484161/
18.
New Interface
19.
タブのプレビュー • Ctrl +
Tab、タブ一覧ボタンでプレビュー表示と検索
20.
タブブラウジング • ドラッグ&ドロップでウィンドウ間のタブ移動 • Fx3
まではページが再読み込みされていた • タブが1つでもデフォルトでタブバーを表示 • タブ1つだけの時はタブに閉じるボタンを表示しない • 最後のタブを閉じるとウィンドウが閉じる • タブバーに新しいタブを開くボタンを追加 • 再読み込みボタンの中クリックでタブを複製
21.
セキュリティ関連 UI • SSL
証明書エラーページを平易な説明に改善 • パスワード保存時の情報バーにドメイン名を表示 • ブロックされたプラグインについて情報バーで通知
22.
セキュリティ関連 UI • SSL
証明書エラーページを平易な説明に改善 • パスワード保存時の情報バーにドメイン名を表示 • ブロックされたプラグインについて情報バーで通知
23.
セキュリティ関連 UI • SSL
証明書エラーページを平易な説明に改善 • パスワード保存時の情報バーにドメイン名を表示 • ブロックされたプラグインについて情報バーで通知
24.
セキュリティ関連 UI • SSL
証明書エラーページを平易な説明に改善 • パスワード保存時の情報バーにドメイン名を表示 • ブロックされたプラグインについて情報バーで通知
25.
その他の UI 変更 •
インストーラの EULA を廃止して about:rights に変更 • オープンソースソフトで EULA は不要 • ロケーションバーが空の時には説明を表示 • ブックマークと履歴を検索: • 読み込み中アイコン(スロバー)をデフォルト非表示に • MacBook のマルチタッチジェスチャーをサポート • 履歴、ページ端への移動、ズーム、タブ切り替え
26.
New Feature Photo by
akira http://flickr.com/photos/arika/428018383/
27.
New Feature
28.
プライベートブラウジング • 表示ページの履歴、検索履歴、ダウンロード履歴、 Web フォーム履歴、Cookie、一時ファイル が一切保存されない
(匿名ブラウジングではない) • モード切替時にタブの状態を保存、復元する • ロケーションバーは既存の履歴とブックマークが対象
29.
最近の履歴を消去 • 期間を指定して履歴を消去 • 1,
2, 4時間、1日、すべての履歴から選択
30.
最近の履歴を消去 • 期間を指定して履歴を消去 • 1,
2, 4時間、1日、すべての履歴から選択
31.
スマートロケーションバー • 検索対象の絞り込みキーワード (記号)
のサポート • ^ で履歴、* でブックマーク、+ でタグ付きページ @ でURL、# でタイトルとタグだけを検索対象に • 注: "^word" でなく "^ word" や "word ^" と入力
32.
スマートロケーションバー • 検索対象の絞り込みキーワード (記号)
のサポート • ^ で履歴、* でブックマーク、+ でタグ付きページ @ でURL、# でタイトルとタグだけを検索対象に • 注: "^word" でなく "^ word" や "word ^" と入力
33.
スマートロケーションバー • 検索対象の絞り込みキーワード (記号)
のサポート • ^ で履歴、* でブックマーク、+ でタグ付きページ @ でURL、# でタイトルとタグだけを検索対象に • 注: "^word" でなく "^ word" や "word ^" と入力
34.
スマートロケーションバー • 検索文字列の途中を変更した時にも即時結果を表示 • Fx3
では文字列末尾を変更したときだけ表示 • スマートキーワードの検索を候補のトップに表示 • キーワード "rfc" を設定したブックマークの例:
35.
スマートロケーションバー • 検索文字列の途中を変更した時にも即時結果を表示 • Fx3
では文字列末尾を変更したときだけ表示 • スマートキーワードの検索を候補のトップに表示 • キーワード "rfc" を設定したブックマークの例:
36.
柔軟なセッション復元 • ウィンドウとタブを指定して復元が可能に • クラッシュの原因となるタブだけ外して復元を
37.
柔軟なセッション復元 • ウィンドウとタブを指定して復元が可能に • クラッシュの原因となるタブだけ外して復元を
38.
その他の新機能 • タグの自動補完 • 複数ブックマークの一括タグ付け •
ソース表示のリンクブラウズモード • view-source でリンクを辿りながらソース表示 • DNS プリフェッチ
39.
New Standard Photo by
hiroohi http://flickr.com/photos/rainboweyes/2747484331/
40.
New Standard
41.
Web Fonts
42.
Web Fonts
43.
Web Fonts
44.
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; }
45.
Web Fonts • サポートしていなければフォールバックするだけ •
フォント読み込み中の描画はブラウザによって異なる • Firefox 3.1 はダウンロード後に再描画 • Safari はダウンロードまでテキスト表示無し • フリーの Web Font も公開されている • http://opentype.info/demo/webfontdemo.html • フォントメーカーの皆さん、サイトライセンス如何?
46.
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
47.
CSS3 • 楕円境界線 border-radius •
影付き文字 text-shadow • 影付きボックス (draft) -moz-box-shadow • 画像境界線 (draft) -moz-border-image • 段組レイアウト (draft) -moz-column-* • オーバーフロー時に"…" text-overflow: ellipsis
48.
more CSS • 改行以外の空白を1つに
CSS2.1 white-space:pre-line • CSS2.1 generated content の position と float • 変形、回転 (Apple Spec) CSS Transform • WebFonts、Transform、 text-shadow のサポートで 自由なテキストデザインが ブラウザ上で実現可能に • 斜めのメニューやタイトル etc...
49.
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 へのビデオ描画
50.
<video> & <audio> •
Ogg Vorbis/Theora をネイティブサポート • SVG filter、clip、CSS Transform などとも併用可
51.
<video> & <audio> •
Ogg Vorbis/Theora をネイティブサポート • SVG filter、clip、CSS Transform などとも併用可
52.
その他の Web 標準 •
Geolocation API • SVG による HTML の切り抜き、マスク、フィルタ • HTML5 ドラッグ&ドロップ API • HTML5 オフラインキャッシュ • DOM 2 Traversal - NodeIterator • クロスサイト XMLHttpRequest (XHR) • Fx3 では仕様が未確定だったためスキップされた • <script defer="defer"> で JavaScript の遅延評価
53.
New Technology Photo by
hiroohi http://flickr.com/photos/rainboweyes/2747484483/
54.
New Technology
55.
カラーマネージメント • ICC カラープロファイルの
CMS がデフォルトでオンに • PhotoShop などでの表示色と一致する • カラープロファイル情報のある画像でのみ色補正 • 画像と背景色 (CSS 指定のRGB値) がずれないように • プロファイル付画像だけなのは W3C の指針でもある • これは先行実装している Safari とも同じ動作 • Fx3 では性能(と描画)の問題でデフォルトオフ • 速度低下は 1% (全画像だと 4 5%、Fx3 では 20 30%) http://bholley.wordpress.com/2008/09/12/so-many-colors/
56.
Photo by flod http://flickr.com/photos/flod/2850464994/ Firefox
3.0 Firefox 3.1
57.
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 を操作できない • 重たい計算処理やオンラインに戻るときの処理などに
58.
TraceMonkey • Firefox 3.1
の新 JavaScript エンジン • 目標は C や Java に匹敵する処理速度 • 少ないメモリで高速な処理を実現するのが特徴 • 新しいタイプの JIT コンパイラを搭載 • Tamarin (Tamarin-Tracing) の nanojit を移植 • UC の Andreas Gal らの研究成果を反映 • Tracing という手法を用いた JIT コンパイラ • Andreas Gal による Tracing の論文は 2006年∼ • TraceMonkey の開発は今年の 6月末∼
59.
JavaScript = 遅い?
60.
JavaScript は何故遅い? • JavaScript
= 単純なスクリプトを処理する言語 • そもそも Java があるのに JS ができたのはそのため • 用途上そもそも高速化する必要性、需要がない • Web アプリケーションができたのはつい最近 • 開発者の数は C や Java に比べるまでもない • 比較的新しい言語 • Fortran: 1954∼、C: 1972∼、C++: 1982∼、 Java: 1990∼、JavaScript: 1995∼ • 誰もコンパイラの開発に力を入れていなかった
61.
言語の速度 • 一昔前に C++
と Java のどちらが速いか議論された • 仮想マシンで動く Java は遅い!? • 逐次解釈では C の 20 倍以上遅かった • 中間言語への事前コンパイルで高速化 • JIT によるネイティブコード生成で高速化 • 現在では処理内容次第では Java の方が高速 • パレートの法則 • 処理の大部分は一部のコードに集中する • ボトルネックとなる部分を高速化すればよい
62.
JavaScript は何故遅い? • 動的スクリプト言語 •
演算前に型のチェックと変換が必要 • 配列が存在しない • Array は配列でなくハッシュオブジェクト(仕様) • array[3] は実際には array["3"] へのアクセス • すべてのプロパティアクセスでハッシュ計算が必要 • クラスが存在しない • プロトタイプベースのオブジェクト指向言語 • 変数のクラスによる事前最適化が不可能
63.
時は流れ・・・
64.
時は流れ・・・ Web 2.0
65.
時は流れ・・・ Web 2.0 Ajax
66.
時は流れ・・・ Web 2.0 Ajax RIA
67.
時は流れ・・・ Web 2.0 Ajax RIA Platform
68.
高速化しなきゃ!
69.
JavaScript の高速化 • 動的スクリプト言語 •
ループ外で型チェックしてから固定型で演算 • 配列が存在しない • 配列として使われているなら配列として処理 • 同じプロパティへのアクセスはキャッシュ • クラスが存在しない • オブジェクトの定義を変更することはまれ • 同じ手順で定義したオブジェクトを同じクラスに • クラスチェックだけしてクラスに特化した処理 注: これは TraceMonkey の話じゃなくて一般論
70.
Just In Time
Compiler • ボトルネックを高速なネイティブコードに変換 • 実行時に繰り返し処理される部分を検出 • 既存の JIT は関数(メソッド)呼び出し回数をカウント • 一定回数以上呼び出されたメソッドをコンパイル • 実行時情報を使った最適化が可能 • 事前コンパイル型の C++ などより高速化可能 • Java は HotSpot という JIT の導入で大幅高速化 • Action Script 3 も JIT によって高速化 • 但し AS3 の場合は静的型の導入が大きい
71.
Tracing JIT 1. ソースコードをバイトコード(中間コード)に変換 2.
インタープリタでバイトコードを実行しつつ監視 • 後方分岐発生時以外はペナルティ一切無し 3. 後方分岐のジャンプ先をループ始点候補として記録 • ループ処理は必ず後方分岐を伴う 4. 一定回数以上ループしたら実行バイトコードを記録 • 実際に処理するバイトコードだけを記録する 5. 記録された軌跡 (trace) をネイティブコードにコンパイル 6. ネイティブコードで高速処理
72.
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) トレース 後方分岐
73.
Tracing JIT • ループのバイトコードをトレース •
全ての分岐結果を記録 • 同一条件で実行される限りネイティブコードで処理 • 記録した分岐結果と異なる場合は VM に処理を返す • switch 文なども分岐テーブルではなくトレース時に 実行された特定条件との比較だけを行う • ループ完了または特定条件発生時にトレース終了 • 例外発生時についてはトレース対象外 • ネイティブメソッド呼び出しも基本的に対象外
74.
Tracing JIT • ネイティブコードは既存の手法より高速化可能 •
実際処理される最小限のネイティブコードを生成 • 既存の JIT では関数中の非実行部分もコンパイル • ループ中の関数呼び出しもネイティブコードで最適化 • 関数単位のネイティブコード生成では不可能 • 型についても当然ループ開始時のチェックのみに • switch 文だったところも if 文として処理 • トレーズ時と同じ分岐かどうかをチェックするだけ • 同一条件ループでループのオーバーヘッドなし
75.
Tracing the Web •
まだまだ開発は始まったばかり • ようやく安定してきた段階で高速化の余地はまだまだ • 現在のトレース対象はネイティブ JS と一部の DOM • XPCOM のネイティブメソッド呼び出しがあると 一部対応しているものを除きトレース対象外に • 純粋な JS オブジェクトの処理は非常に高速に • 画像変換など重たい数値計算処理には効果大 • 他言語から生成したバイトコードも処理 • IronPython などの IronMonkey プロジェクトも・・・
76.
Fx3 vs TraceMonkey Benchmark
by Brendan http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.html 各種 JS ベンチマークの結果 (8月末)
77.
Fx3 vs TraceMonkey Benchmark
by Brendan http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.html 各種 JS ベンチマークの結果 (8月末)速度比較結果は あくまでも参考値 ベンチマークと 実行環境次第です
78.
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 倍
79.
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 倍 速度比較結果は あくまでも参考値 ベンチマークと 実行環境次第です
80.
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
81.
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 速度比較結果は あくまでも参考値 ベンチマークと 実行環境次第です
82.
補足: Tamarin との関係 •
Tamarin は Adobe の Action Script エンジン • Tamarin と SpiderMonkey の統合は中止 • Tamarin は SpiderMonkey の高速化に追従できない • Tamarin には eval() など必要な機能が多数欠落 • バイトコードや DOM との結合が強い • TraceMonkey では Tamarin の JIT のみ移植 • Tamarin-Tracing というブランチの JIT を移植 • 将来的にはガベージコレクタなどの移植や統合も • 相互のコードや成果を反映し合いながら開発
83.
New Web Photo by
shiokuma http://flickr.com/photos/shiokuma/631332559/
84.
New Web
85.
Canvas + JavaScript 数行∼数十行のコードでアート http://azarask.in/projects/algorithm-ink/
86.
JavaScript で画像処理
87.
Web = Platform
88.
Quality Assurance Photo by
masahiko http://www.flickr.com/photos/masahiko/986748017/
89.
Quality Assurance