SimpleBoxes

Safari で使える便利なプラグイン

最近 Safari をデフォルトブラウザとして利用するようにしています。

Safari で足りないと感じていた機能として

  • 終了時に開いていたタブを起動時の際に開く
  • キーワードを使ったショートカット
  • タブバーのダブルクリックで新規タブを追加する

が挙げられるのですが、SafariStand を始めとするプラグインで補えることが分かりました。

SIMBL のインストール

Safari (というか、Cocoa アプリケーション) の機能を拡張する手段としては、Input Manager という仕組みを利用するのが一般的です。

SIMBL も Input Manager のひとつなのですが、SIMBL 用プラグインを使って機能拡張できるのが特徴です。

SafariStand は SIMBL なしでも動作させることが出来ますが、SIMBL を利用する方が推奨されています

という訳で、まずは SIMBL をインストールします。

解凍したアーカイブの中にある「SIMBL.pkg」を開いてインストールします。

[画像] SIMBL パッケージインストーラを起動します。

SafariStand のインストール

SafariStand は Mac OS X 10.5 Leopard 用の SafariStand 3.0Lxxx と Mac OS X 10.4 Tiger 用の SafariStand 3.0Txxx があります。必要な方をダウンロードします。

毎日考ブログでも絶賛されている SafariStand には、色んな機能がありますが、個人的に便利だと感じているのは、以下の機能です。

ちなみに SafariStand は 2008.02 現在公開されている最新 WebKit を使ったバージョンでも動作します。

「リンクタグをコピー」はリンクを <a href="アドレス">文字列</a> という形でコピーしてくれる機能です。ページ上にあるリンクにあわせてコンテキストメニューを開くと利用できます。

[画像]「リンクタグをコピー」がコンテクストメニューで利用できるように。

Firefox だと MakeLink というアドオンで同じようなことが出来ます (MakeLink はさらに多機能です)。

タブの復元機能は SafariStand Setting の「General」に設定があります。「Restore Method at Launch」というやつです。

[画像]「Restore Method at Launch」は SafariStand Setting の General にあります。

「Automatically Reopen Last Session (Safari)」というタイプに設定しておくと、Firefox と同じような動作になります。

ただし、Firefox の復元とは若干動作が異なります。あくまでも終了時のアドレスにアクセスするというだけで、Firefox のようにセッションそのものを復元してくれる訳ではありません。また、異常終了した時に復元してくれるかどうかは分かりません。

Twicetab のインストール

Twicetab も SIMBL プラグインです。

追加する機能はとってもシンプルで、タブバーのダブルクリックで新規タブを追加できるようになります。

タブバーの空きスペースをダブルクリックすることでタブを追加するという動作は多くのタブアプリケーションで共通の動作になっていて、何気に利用しています。

私のよく利用するアプリケーションでは、FirefoxPath Finder秀丸などで、その操作が利用できます。おそらく Opera でも利用できるでしょう。

Twicetab はインストーラでインストールします。SIMBL がインストールされていなければ、SIMBL もインストールしてくれます。

インストールすると「Twicetab 環境設定」というメニューがアプリケーションメニューに追加されます。

[画像]「Twicetab 環境設定」メニューが追加されます。

GreaseKit のインストール

最後に GreaseKit もインストールしてみました。

GreaseKit は Firefox のアドオン Greasemonkey の Safari 対応版です。ユーザースタイルと同じように「ユーザースクリプト」を追加できるようになるというもので、機能拡張するための機能拡張と言っていいでしょう。

Greasemonkey / GreaseKit で利用できる代表的なユーザースクリプトのひとつに AutoPagerize があります。

Google の検索結果表示などのページでは、ページあたりに決まった件数の検索結果が表示され、他の検索結果を表示するためには、通常別のページに移動する必要があります。AutoPagerize を利用すると、ページ遷移を自動化してくれるようになります。

このスクリプトが便利だというのは、何となく聞いていて、友人からもオススメされました。「Safari でも AutoPagerize」を見て導入してみることに。

折角なので「WordPress サイトの AutoPagerize 対応」を参考にして、当ページも AutoPagerize に対応してみました。

Serene Bach もしくは sb での対応については、もしかしら後日触れるかもしれません。

スポンサーリンク

ボキャブラリーを増やす試みブログ

嫁さんが「ボキャブラリーを増やす試みブログ」というウェブページを始めています

[画像]ボキャブラリーを増やす試みブログ

英語はラテン語などを語源とした派生語が多くて、その語源の意味を知っていると、その語源が含まれた単語の意味をある程度類推できることがままあるそうです。

例えば、pre はラテン語の「prae」で「before」と同じ意味になります。「以前の」「前の」というような意味ですね。

prefix
「接頭辞」
predict
「予言する」
preset
「あらかじめ調整する」

というような派生語があります。

同様に post はラテン語の「after」で、「後の」という意味があって、postponepostmodern といった派生語があります。

ボキャブラリーを増やす試みブログでは、その語源となる言葉とその派生語を挙げていき、実際にその単語が使われている英文を紹介しています。

英文はニュージーランド・ヘラルドから引用していて、何気にニュージーランドの話題をしているのもポイントかも。

スポンサーリンク

外へ出て行くということ

早いもので、日本から戻ってきて 3 週間になります。ようやくリズムを取り戻した感じです(遅いって)。

現在、日本の会社と直接やりとりすることはありませんが、台湾の会社とならあります。

台湾の方から話を聞いてみると「残業は当たり前」「長期休暇なんか取れる雰囲気じゃない」「自宅に仕事を持ち帰るのも結構ある」という感じで答えてくれました。

労働に関しては日本と同じような感覚かも、という印象を持っています。

そう考えると日本でエンジニアとしてやっていけている人たちであればこちらの会社でも十分やっていけるということだ。逆は成り立たないが。

カナダ人にも辛い日本の労働環境

御意。

言葉 (英語) を壁と感じる人はいるかもしれません。

ただ、ことプログラマーに限って言えば、すでに専門用語として英語を使っていると思います。

英語でも jargon は、課題になってくる部分だと思いますが、IT 関連の分野はその多くがすでに馴染みのものばかりです。

これは他の分野に比べて、英語圏で就職する上で有利な点だと個人的に感じています。

なのにどうして、もっと日本のエンジニアが外に出て行こうとしないのだろうか。我慢強すぎなのか。

カナダ人にも辛い日本の労働環境

我慢強すぎ……どうでしょう。

うまく言い表せないのですが、私が日本で働いていた頃、周りの人たちがその雰囲気に浸っているように感じたことはあります。

「今月 * 時間残業しちゃって嫌になっちゃう」とか「忙しい、忙しい」と言葉ではいいながらも、なんか誇らしげな感じ。

日常的なものを変えていくというのは、それなりに力が必要です。残業とか無理な仕事のスケジュールが常態化してくると、そこから抜け出そうというのが難しくなってしまうという気もします。

スポンサーリンク

SimpleBoxes 遍歴

当記事がさくらインターネットに引越してから 100 個目の記事になります。

今回は 100 エントリーを記念して、これまでの SimpleBoxes を振り返ってみようと思います。

SimpleBoxes は 1997 年頃から細々と続いている個人的なウェブページです。ページ構成が変化するたびに、バージョンが変わり、現在の形が ver 10 になります。

……いつの間にか 10 年経っちゃっています。ちなみに「SimpleBoxes」という名称は 1999 年頃に決まったものです。

SimpleBoxes - ver 0.0

期間
〜 1999.07
文書型
謎マークアップ

[画像]SimpleBoxes - ver 0.0

研究室在籍中に運用していた SimpleBoxes の前身となる個人ウェブページを仮移植した形になっていました。

SimpleBoxes - ver 1.0

期間
1999.07 〜 1999.11
文書型
謎マークアップ

[画像]SimpleBoxes - ver 1.0

LINKCLUB に引越しました。「per i.」というサブタイトルが付いています。マスコット的なキャラクタ「びっくり箱」も登場しています。

SimpleBoxes - ver 2.0

期間
2000.03 〜 2000.04
文書型
謎マークアップ

[画像]SimpleBoxes - ver 2.0

フレームを利用したバージョンなんですが、フレームに分けたときの管理が面倒で、短命でした。

SimpleBoxes - ver 3.0

期間
2000.04 〜 2000.11
文書型
謎マークアップ

[画像]SimpleBoxes - ver 3.0

EasyTalk という日記のようなページを自作スクリプトで更新できるようにしたのが、このバージョンからになります。

掲示板の延長のような自作スクリプトで動的に表示させるというのは学生の頃にもやっていました。

SimpleBoxes - ver 4.0

期間
2001.01 〜 2001.10
文書型
HTML 4.01 transitional もどき

[画像]SimpleBoxes - ver 4.0

ページ自体はまだテーブルレイアウトですが、マークアップを意識し始めたのがこの頃です。

SimpleBoxes - ver 5.0

期間
2001.11 〜 2002.08
文書型
HTML 4.01 transitional

[画像]SimpleBoxes - ver 5.0

スタイルシートを本格的に採用し始めたバージョンです。色々実験していたら複数のデザインが出来てしまって、スタイルシート切り替えスクリプトも使っていました。

SimpleBoxes - ver 6.0

期間
2002.08 〜 2002.09
文書型
HTML 4.01 transitional

[画像]SimpleBoxes - ver 6.0

ver 4.0 - 5.0 でのページ構成を大きく見直しました。これ以降、ver 9.0 まで基本的な構成は一緒になっています。

SimpleBoxes - ver 6.5

期間
2002.09 〜 2002.12
文書型
HTML 4.01 transitional

[画像]SimpleBoxes - ver 6.5

ver 6.0 の見てくれがあまり好きになれなかったので、デザインを変更したのが、このバージョンです。

SimpleBoxes - ver 7.0

期間
2003.01 〜 2003.06
文書型
HTML 4.01 strict

[画像]SimpleBoxes - ver 7.0

HTML 4.01 strict に準拠するようにしたのが大きな変更です。見た目もがらりと変えようと 16 個もデザインを作成しました。

SimpleBoxes - ver 8.0

期間
2003.06 〜 2004.01
文書型
HTML 4.01 strict

[画像]SimpleBoxes - ver 8.0

COOL ONLINE へ引越しました。ニュージーランドを意識したデザインになっています。

SimpleBoxes - ver 9.0

期間
2004.01 〜 2006.09
文書型
XHTML 1.1

[画像]SimpleBoxes - ver 9.0

ウェブログツールを使って EasyTalk を更新するようにしました (前半 MovableType、後半 sb)。クレヨン画調のデザインは、個人的に結構気に入っています。

スポンサーリンク

ブリトマート駅に寄ってみた

今日はオークランドの中心部 (シティ) でワークショップを受けてきました。

普段はシティ方面に行くことはほとんどないので、この機会にブリトマート駅に寄ってきました。

[写真]ブリトマート駅。駅正面にある看板。

アコランガ駅はバス停でしたが、Britomart Transport Centre とあるように、ブリトマート駅は列車の駅だけでなく、バスターミナルもあり、公共の交通機関の中心部ともいえる場所になっています。

日本のほとんどの都市部の駅では、駅構内に入るのに改札を通るので、最低でも入場券を買う必要があります。しかしながら、オークランドの列車は基本的に列車で切符の清算を行う形式なので、プラットフォームへ素通りできます。

[写真]ブリトマート駅のプラットフォーム。駅構内は無駄に近未来的です。

駅の建物は 1911 年に建てられた旧郵便局の古い建物をほぼそのまま利用しているので、古めかしいながらも迫力のある外見になっています。中は逆に近未来的なイメージを連想させるかのようなぴっかぴかの内装になっています。

[写真]時刻表を表示している電光掲示板。

電光掲示板に時刻表が表示されているので、見てみました。ワークショップが終わったのが 17:00 なので、ちょうど帰宅ラッシュにあたる時間帯です。

  • Papakura - 17:04
  • Waitakere - 17:12
  • Papakura - 17:14
  • Waitakere - 17:17
  • Otahuhu - 17:20

さすがにラッシュ時刻だけあって、思ったよりも頻繁に列車がある様子。でも 17:20 の後が、

...INGTON Arr. - 19:30

と妙に間が空いているのが、ちょっと気になります。ちょうど柱で隠れていて、行き先 (?) が見えない……。おそらくウェリントンからの長距離列車 The Overlander の到着時刻だと思うのですが。

「WELLINGTON Arr(ival).」と表示されているのだと。……というか、到着便なら表示をきっちり分けた方がいいような……。

スポンサーリンク

Firefox・Opera・Safari で「キーワード」を利用する

私が普段利用している Firefox では、ツールバーには、以下のものが登録されています。

[画像]Firefox のツールバー

  • 戻る
  • 進む
  • リロード
  • 停止
  • タブ追加
  • アドレスバー

Opera、Safari では、リロードボタンと停止ボタンがひとつにまとまっているので、代わりに「ホーム」ボタンを追加しています。

アドレスバーの表示領域をできるだけ大きく取っておきたいので、私にとって検索バーは非常に邪魔です。ですので、検索バーが取り除ける場合は取り除いてしまいます。

アドレスバーへフォーカスを移すキーボードショートカットは「command + L」あるいは「control + L」がほぼ標準になっています。一方、検索バーにフォーカスを移動するキーボードショートカットは標準的なものはないようです。それもアドレスバーしか利用しないひとつの理由です。

検索バーを利用しない代わりに、アドレスバーから利用できる「キーワード」機能を利用します。

「キーワード」機能は Firefox、Opera、Safari (Mac OS X 版) で利用可能です。他にも利用できるブラウザはあると思いますが、未確認です。

キーワードの使い方は非常に簡単。アドレスバーで URL を入力する代わりに「キーワード」+「スペース」+「検索したい文字列」を入力します。

例えば、キーワード「g」を Google での検索として登録しておいて、「ブログ」を検索する場合、

g ブログ

のようにアドレスバーに入力します。

Firefox の場合

Firefox でキーワードを登録するには、コンテキストメニュー (右クリックメニュー) を利用します。

登録したい検索フォームに対して、コンテキストメニューを開いて、「この検索にキーワードを設定…」を選びます。

[画像]Firefox コンテキストメニュー。「この検索にキーワードを設定…」より登録ダイアログが開きます。

[画像]Firefox キーワード登録。キーワードを設定します。

登録した検索サイトはブックマークとして保存されます。

Opera の場合

Opera も Firefox と同等の操作で登録が可能です。

登録したい検索フォームに対して、コンテキストメニューを開いて、「検索を作成…」を選びます。

[画像]Opera コンテキストメニュー。「検索を作成…」より登録ダイアログが開きます。

[画像]Opera キーワード登録。キーを設定します。

登録した検索サイトは Opera の環境設定→ネットサーチで確認できます。

Safari の場合

Safari では標準の機能としてサポートされていません。SafariStand を利用します。

SafariStand の「Quick Search」が該当する機能です。

[画像]Safari Stand の Qiuck Search 設定画面。Stand メニューの SfariStand Setting ... より開きます。

URL を設定する必要がありますが、Firefox などで設定していれば、移植は比較的簡単です。

例えば、Firefox で Google での検索が以下のように登録されているとします。

Firefox で登録されている内容はブックマークで確認できます。また、Opera も同様の書式です。

http://www.google.com/search?q=%s&hl=ja&lr=

このうち、「%s」を「@key」に変更すれば、SafariStand の形式になります。

http://www.google.com/search?q=@key&hl=ja&lr=

[おまけ] 登録しているキーワード

  • [gi] Google Image
    http://www.google.com/images?q=%s&hl=ja
  • [w] Wikipedia - 日本語
    http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:Search?search=%s
  • [we] Wikipedia - English
    http://en.wikipedia.org/wiki/Special:Search?search=%s
  • [yt] You Tube
    http://www.youtube.com/results?search_query=%s
  • [cp] CPAN
    http://search.cpan.org/search?query=%s&mode=all

Google も頻繁に利用しますが、大体デフォルトとして登録されていることが多いです。

スポンサーリンク

iPod touch ソフトウェアアップグレード

遅ればせながら、iPod touch のソフトウェアアップグレードを購入してみました (2,480 円)。

[画像]iPod touch 1.1.3 ソフトウェアアップグレードを適用した iPod touch。アイコンが増えて「らしく」なった新しいホーム画面。

通常のバージョンアップでは、イメージファイル (拡張子 ipsw) をダウンロードする必要があるので、ソフトウェアアップグレードでもダウンロードプロセスがあるのか……と思いきや、その手のプロセスがなくあっさり終了。

ダウンロードしてあった 1.1.3 にすでに組み込まれていて、iTunes Store での操作は、それに対してパッチを当てているような感じでしょうか。

iPod touch ソフトウェアアップグレードの個人的な注目点は、カスタマイズが可能になった新しいホーム画面。特にアイコンの入れ替えのインタフェースが見物です。

[動画]iPod touch 1.1.3 (ソフトウェアアップグレード) でのアイコン入れ替え操作

アイコンをタップ & ホールドすると、アイコンが揺れ始めます。

アイコンがぷるぷる震えている状態であれば、アイコンのドラッグ操作によって、その順番を入れ替えることが出来ます。

つまり、アイコンの順番を入れ替えるには、タップ & ホールドという操作によって、モードの切り替えが必要です。

これが直感的かというと、私はそうはあまり思いません。……ただ、揺れるエフェクトのインパクトが強く、一度使ったら忘れないという感じがします。

一見無駄っぽいんですが、その無駄な動きがユーザーエクスペリエンス (ユーザー体験) として生きていて、実は結構効果的という感じがします。

ソフトウェアアップグレードでは、「メール」「メモ」「マップ」「天気」「株価」の 5 つのアプリケーションが追加されます。

「メール」は GMail のアカウントも設定可能です。PC を立ち上げることなく、ちょっと確認したいときなんかは便利そうです。

私個人の位置付け的には Safari と同じような感じ。Safari で GMail にアクセスするよりスマートで見やすいというのがポイントでしょう。

「マップ」はまんま Google Maps です。インタフェースが iPod touch に特化されているので、快適に利用できます。

マップデータがローカル (iPod touch 内部) にあればもっと快適なんでしょうけど、それはさすがに無理か……。

「メモ」は、iPod touch で作成したメモが PC 側で見る手段がないのが残念。せめて「カレンダー」や「連絡先」のデータと連動できるようになれば使い勝手があがると思うんですけど……。

スポンサーリンク

PHP で少しはまったところをメモしておく試み (2008.02.15)

エラーを無視する

関数の前に「@」をつけます。

$fh = @fopen('dummy.txt','r');
@include('mylibs.php');

この時につける接頭子「@」は、エラー演算子という呼ぶようです。

エラー処理を行う

エラー処理を行う関数として、set_error_handler が用意されています。

set_error_handler が呼び出された後、エラーが発生した場合、set_error_handler で登録した関数でエラー処理が行われます。

perl では、エラー処理を行うため eval ブロックを利用すると、該当ブロック内のエラーを捕捉できます。ブロック外のエラーは捕捉されません。

一方、set_error_handler が一度呼び出されると restore_error_handler を使ってエラー処理を解除するまで、エラーを捕捉し続けます。

<?php
  { // here is eval block
    set_error_handler('myErrorHandler');
    // :
    restore_error_handler();
  } // end of eval block
  function myErrorHandler()
  {
    // do something ...
  }
?>

エラー処理にオブジェクトのメソッドを指定する

set_error_handler で文字列を使うと、該当する名前を持つ関数をグローバルに呼び出します。

エラー処理として、インスタンス $this のメソッドを呼び出したい場合は array を使って関数を引き渡す必要があります。

<?php
  class Hoge
  {
    function Hoge()
    {
      set_error_handler(array($this,'handle_error'));
      // :
      restore_error_handler();
    }
    function handle_error
    {
      // do something ...
    }
  }
?>

クラスメソッド

インスタンスを生成せずに、クラスに定義されたメソッドを呼び出すには、「::」を使います。

クラス名::メソッド名」のように呼び出します。これは perl と一緒。

<?php
  class SomeClass
  {
    function classMethod()
    {
      // do somethimng ...
    }
  }
  
  SomeClass::classMethod();
?>

継承

extends でベースクラスを指定します。

ベースクラスのメソッドを呼び出す時は、予約されている parent というクラス名を使います。

<?php
  class SomeClass extends BaseClass
  {
    function SomeClass()
    {
      parent::__construct();
    }
  }
?>

コンストラクタ

クラス名と同じ名前の関数を定義すると、コンストラクタになります。C++ っぽい流儀です。

php5 では、__construct という関数がコンストラクタとして利用できます。__construct を定義しておけば、自動的に呼ばれるようです。

php4 / php5 共用で利用する場合、以下のようなコードがサンプルとして挙げられています。

<?php
  class SomeClass
  {
    function SomeClass()
    {
      $this->__construct()
    }
    function __construct()
    {
      // do initialization
    }
  }
?>

配列を返す関数

splitexplode など配列を返す関数がいくつかあります。

perl の場合、配列を返す関数に対して、

my $var = ( some_func() )[0];

のようにブラケットで囲むことで、返り値の配列を無名配列として扱い、添字を使って配列の一部の要素だけを抜き出すことが出来ます。

PHP の場合、無名配列という概念がないようなので、上記の場合、

$var = array_shift( some_func() );

のように記述する必要があります。

先頭の要素だけ利用する場合ならば、array_shift でいけますが、途中の要素を抜き出したい場合は、一時変数を使う必要がありそうです。

スポンサーリンク

Firefox 3 Beta 3 を使ってみました

alpha*box さんでも触れられていますがFirefox 3 Beta 3 がリリースされました。

Windows 版では Firefox 2.* と見た目の変化はそれほどないのですが、Mac OS X 版では見た目から大きく変更されています。

ウィンドウが iTunes のようなソリッドっぽい感じになり、ツールバーのアイコンも Windows 版のそれとは大きく異なり、タブバーも Safari っぽい感じになりました。

[画像]Firefox 2 と Firefox 3 を並べてみました。Firefox 3 はツールバーも Firefox 2 とは別物です。

ボタンやプルダウンセレクタなどのフォーム周りのパーツがアクアちっくになって、より Mac アプリっぽくなりました。

私はここら辺は凄く気にする方で、デフォルトの Firefox 2 は使う気にならないほどだったのですが、Firefox 3 Beta 3 のアピアランスであれば、気になりません。

今回リリースされた Firefox 3 Beta 3 はまだβ版です。まだ動作が不安定だったり、不具合があったりします。

私が見つけた不具合のひとつは「ブックマークの移動ができない」ことです。他にもまだあるでしょう。

アドオンも Firefox 3 に対応していないものが 2008.02.14 現在多くあります。ですので、しばらくの間は Firefox 2 と併用して利用したいところです。

Firefox では、複数のプロファイルを作成して、異なる環境・設定を併用することが出来ます。

プロファイルについては、Firefox まとめサイト詳しく解説されていて、Windows 版でのプロファイルマネージャの起動方法なども記載されています。

Mac OS X 版の Firefox でプロファイルマネージャを起動させるには、ターミナル上で

$ /Applications/Firefox.app/Contents/MacOS/firefox -ProfileManager

のように入力します。ここで /Applications/ は「アプリケーション」ディレクトリのパスです。Firefox をインストールした場所によって変わります。

[画像]Firefox プロファイルマネージャ。起動時にも同様のウィンドウが開くようになります。

プロファイルマネージャの「Don't ask at startup」のチェックを外しておくと、起動の度に利用するプロファイルを選択できるようになります。

折角なので、昨日作成したベンチマークを利用して Firefox 3 のベンチマークを取ってみました。Firefox lzyc build で配布されている最適化ビルドバージョンでもベンチマークを取っています。

動作環境は MacBook (Core Duo 2GHz) / 2GB メモリ / Mac OS X 10.4.11 になります。数値が小さいほど速いということを示します。最も成績の良かった数値は強調しています。表の単位は ms になります。

項目 Firefox 2.0.0.11 Firefox 3 Beta 3 Firefox 3b3 lzyc WebKit r30153
文字列追加 1.2472076 0.89252282 0.81859592 0.34970654
文字列の配列連結 50.095953 39.597911 41.997994 1.0796934
配列連結 1.6072076 1.4984672 1.3685412 0.24070654
DOM エレメント生成 38.395953 13.597911 12.797994 2.9696934
テキストノード生成 19.095953 12.297911 15.297994 2.2196934
シリアルサーチ 1.0072076 0.52752282 0.48459592 0.56070654
正規表現 9.6872076 6.4684672 4.9985412 1.5896934
innerHTML 165.983407 116.992349 110.992522 28.799562
innerText 24.495953 8.4784672 10.497994 189.998248
スタイルの読み込み 27.195953 15.897911 15.597994 3.7096934
スタイルの変更 18.795953 12.197911 11.997994 2.7796934
子ノード追加 86.395953 74.597911 69.597994 15.399562
オブジェクト作成 3.6772076 1.5184672 1.5785412 0.30170654

WebKit r30153 には及びませんが、Firefox 2 と比べると、結構速くなっていることが分かります。実際、全体的にきびきび動くような印象もあります。

なお、Firefox 3 についてはアドオンが全くない状態でテストしていますので、純粋に同等な環境での比較になっていないことに注意してください。

ざっくり使ってみた感想ですが、最初の感触はなかなかいい感じです。体感速度がはっきりと違うので、快適度が増します。

Mac OS X に準拠したアピアランスの対応もいい感じです。フォーム周りのアクアっぽいパーツの表示も自然で無理がありません。

ブックマークには「スマートブックマーク」という機能が追加されています。「履歴」もスマートブックマークの一つとして、統合されているような扱いになっています。

システム的には Safari のブックマークに近づいているという印象です。

スマートブックマークにはデフォルトで「最近ブックマークしたページ」「よく開いているページ」「最近のタグ」が登録されています。今のところユーザ独自のスマートブックマークは作成できないようです。

[画像]ブックマーク管理画面。新しいブックマーク管理画面。

ブックマークには「タグ」付けができるようですが、使い勝手などはまだ分かりません。とりあえず、従来のブックマークには一切タグが付いてない状態なので、古いブックマークにタグ付けするのはちょっとしんどい感じがします。

これまでの関連記事

スポンサーリンク

WebKit 最新版 (r30153) を使ってみました

最新版の WebKit はかなり速くなっているという話を聞いたので、どんなものか試してみました。

Mac OS X 10.4.11 でインストールされる Safari 3.0.4 と見た目は全くといいほど変わりません。

常用している Firefox 2.* と比べて、Safari 3.0.4 でも十分に速く感じるので、最新版 WebKit の速さを実感として感じるかどうかは微妙です。確かに速くなっているような気がする……という感じ。

そこで amachang さんが公開されている JavaScript ベンチマークツールを使ってベンチマークを取ってみました。→使用したベンチマークサンプル

動作環境は MacBook (Core Duo 2GHz) / 2GB メモリ / Mac OS X 10.4.11 になります。Mac の中では速くはありません。

数値が小さいほど速いということを示します。最も成績の良かった数値は強調しています。表の単位は ms になります。

項目 Safari 3.0.4 Firefox 2.0.0.11 Opera 9.25 iCab 3.0.3 WebKit r30153
文字列追加 0.69411336 1.2472076 0.7785864 45.57326 0.34970654
文字列の配列連結 1.9590626 50.095953 148.992992 143.9495 1.0796934
配列連結 0.56211336 1.6072076 1.408536 114.9495 0.24070654
DOM エレメント生成 5.8490626 38.395953 36.598032 293.9495 2.9696934
テキストノード生成 4.2190626 19.095953 36.298032 119.9495 2.2196934
シリアルサーチ 1.3090626 1.0072076 2.988536 19.77326 0.56070654
正規表現 7.2090626 9.6872076 10.298032 58.57326 1.5896934
innerHTML 229.993479 165.983407 108.198032 213.9495 28.799562
innerText 180.993479 24.495953 77.098032 107.9495 189.998248
スタイルの読み込み 5.1790626 27.195953 35.498032 26.77326 3.7096934
スタイルの変更 3.6990626 18.795953 33.898032 32.27326 2.7796934
子ノード追加 18.198555 86.395953 91.898032 1646.9495 15.399562
オブジェクト作成 0.58111336 3.6772076 1.718536 11.47326 0.30170654

という訳で私の環境では、WebKit r30153 が断トツに速いという結果になりました。

innerHTML の処理のように 8 倍程度速くなっている処理もあります。その他の処理も 2〜3 倍程度速くなっているという印象でしょうか。結構凄いかも。

なお、Firefox は Firefox lzyc build で配布されている最適化ビルドバージョンを利用しています。

ちなみに WebKit の最新ビルドバージョンは Windows 版もあります。WebKit 公式サイトで配布されている WebKit は、別途 Apple から配布されている Safari 3.0.4 for Windows が必要になりますので、ご注意ください。

これまでの関連記事

おまけ (Windows 編)

会社の Windows マシンでもやってみました。

動作環境は Intel Core 2 Duo 2.66GHz / 8GB メモリ / Windows XP Professional x64 になります。

項目 Internet Explorer 7 Firefox 2.0.0.12 Opera 9.25 WebKit r30153
文字列追加 3.9076358 1.248253 0.28055982 0.217804
文字列の配列連結 17.196905 21.897137 32.799344 0.718804
配列連結 0.57570888 1.098253 0.42155982 0.140804
DOM エレメント生成 7.9676358 15.697137 6.7195402 1.559795
テキストノード生成 18.696905 12.497137 6.7195402 1.099795
シリアルサーチ 1.7076358 0.6543646 1.0895402 0.311804
正規表現 6.5576358 13.997137 4.9995402 0.983804
innerHTML 171.989597 124.985977 40.599344 18.799705
innerText 67.196905 7.028253 28.199344 96.899705
スタイルの読み込み 13.996905 15.597137 5.6195402 2.179795
スタイルの変更 21.896905 10.468253 5.3095402 1.719795
子ノード追加 68.796905 59.397137 15.599344 8.749795
オブジェクト作成 1.7176358 3.748253 0.62455982 0.187804

スポンサーリンク

15/25