Operaを使う6つの理由

私はまだOperaが有料で、無料で使うには右上に広告が表示されていた時から使っている。
当時Operaはバージョン6で、Unicodeに対応したときであった。
最初は何となく使い始めたが、今ではOpera以外のブラウザは使えない、と思う。
そんな私がなぜOperaを使い続けるのかを、あげてみた。

  1. 軽い
  2. メモリの使用量が少ない
    Yahoo!のトップページを表示したときのメモリの使用量

  3. レタリングが早い
  4. Browser speed comparisons
    Operaが早いことがわかる

  5. セキュアである
  6. Internet Explorerとは違い独自のエンジンを使用しているまたActiveXを搭載していないため、Internet Explorerセキュリティホールを心配しなくてよい。

  7. カスタマイズしなくても使える
  8. 面倒なカスタマイズをしなくてもインストールした状態で快適に使える。

  9. マウスジェスチャが使える
  10. プラグインを追加しなくてもデフォルトで使用できる。

  11. 様々なプラットフォームで使える
  12. WindowsMac OS XLinuxSolarisFreeBSD、 で最新のバージョンが出ている。(2007/09/18現在)
    IEWindowsのみ。FirefoxWindowsMac OS XLinuxSolarisFreeBSDで使える。

ほかのブラウザでもできるということは多いと思いますが、一番の理由は使い慣れている体と思います。
かれこれ6年くらいずっとOperaを使っているので、もうほかのブラウザは使えません。

皆さんも使ってみてはいかがですか?

Opera

過去のブログの現在のブログにリライトする

/blog/article.php?id=20となっていたものを、
/wordpress/?p=20にリライトする。

mod_rewriteを一晩調べたが、RewriteRuleでは?以降のgetの値を引っかけることができなかった。
のでこんな感じで直接書きました。

RewriteCond %{THE_REQUEST} ^GET\ /blog/article.php\?id=4\ .*$
RewriteRule ^.* http://www.screen.sc/wordpress/?p=4 [R=301,L]

RewriteCond %{THE_REQUEST} ^GET\ /blog/article.php\?id=9\ .*$
RewriteRule ^.* http://www.screen.sc/wordpress/?p=9 [R=301,L]

RewriteCond %{THE_REQUEST} ^GET\ /blog/article.php\?id=10\ .*$
RewriteRule ^.* http://www.screen.sc/wordpress/?p=10 [R=301,L]

記事の数が少なかったのでできる技です。

WORDPRESSをいれてみた

今まではP_blogを使用していたが、将来性がなさそうだったので、WORDPRESSを入れてみた。

昨日インストールしたZENPHOTOを使用するプラグインがあるのでなかなか便利です。

とりあえずこのまま使用してみます。

SolarisとLinuxの比較

初めてSolarisにふれるので、

の以上を行った。

結果は

ApachePHPスループットはほぼ変わらず、ディスクIOの比較はIozoneを使用したがLinux(ext3)で正しく結果を取得できなかった。

NULLとインデックスについて

MySQLでindexが使われない場合に

NULLはインデックスに含まれない

という記述をいろいろな場所で見かけるが、実際はヌルがあってもインデックスが使用される。
リファレンスを見ても

column_name IS NULL を使用した検索では、column_name にインデックスが張られている場合にインデックスが使用されます。

との記述があります。

MySQL 4.1
MySQL 5.1

実際に試してみると、
カラムのステータス

mysql> SHOW COLUMNS FROM index_test;
+-------+---------+------+-----+---------+----------------+
| Field | Type    | Null | Key | Default | Extra          |
+-------+---------+------+-----+---------+----------------+
| id    | int(11) |      | PRI | NULL    | auto_increment |
| test1 | int(11) | YES  | MUL | NULL    |                |
| test2 | int(11) |      |     | 0       |                |
+-------+---------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

テーブルのレコード

mysql> select * from index_test;
+----+-------+-------+
| id | test1 | test2 |
+----+-------+-------+
|  1 |     1 |     1 |
|  2 |     2 |     2 |
|  3 |     3 |     3 |
|  4 |     4 |     4 |
|  5 |     5 |     5 |
|  6 |     6 |     6 |
|  7 |     7 |     7 |
|  8 |     8 |     8 |
|  9 |     9 |     9 |
| 10 |  NULL |     0 |
+----+-------+-------+
10 rows in set (0.01 sec)

実際にインデックスが使用されていることがわかる。

mysql> explain select * from index_test where test1=5;
+----+-------------+------------+------+---------------+-------+---------+-------+------+-------------+
| id | select_type | table      | type | possible_keys | key   | key_len | ref   | rows | Extra       |
+----+-------------+------------+------+---------------+-------+---------+-------+------+-------------+
|  1 | SIMPLE      | index_test | ref  | test1         | test1 |       5 | const |    1 | Using where |
+----+-------------+------------+------+---------------+-------+---------+-------+------+-------------+
1 row in set (0.00 sec)

ヌルのときもインデックスが使用されている。

mysql> explain select * from index_test where test1 is null;
+----+-------------+------------+------+---------------+-------+---------+-------+------+-------------+
| id | select_type | table      | type | possible_keys | key   | key_len | ref   | rows | Extra       |
+----+-------------+------------+------+---------------+-------+---------+-------+------+-------------+
|  1 | SIMPLE      | index_test | ref  | test1         | test1 |       5 | const |    1 | Using where |
+----+-------------+------------+------+---------------+-------+---------+-------+------+-------------+
1 row in set (0.00 sec)

しっかりとインデックスが使用されていることがわかります。

Linuxでゴミ箱

Linuxだと、rmするとファイルはゴミ箱には行かず、元に戻すことができません。

なので、独自でゴミ箱の機能を実装しました。

trash

function trash () {
  user=$USER
  date=date +"%Y%m%d"
  mkdir -p ~/.Recycled/$user/$date/ |
  mv --backup=t $* ~/.Recycled/$user/$date/
}

alias rm=trash

これを.zshrcなどに書いておけば、rmをすると~/.Recycle/username/date以下のディレクトリに移動されます。