SimpleBoxes

毎日更新はどの程度アクセス数に影響するか

2008 年 2 月が終わりました。

気付かれた方もいらっしゃると思いますが、先月は毎日更新しました。

ひと月に毎日更新したのは、実に 2001 年 5 月以来およそ 7 年ぶりになります。下旬に入ると結構ネタに困ってきていて、特に 25 日からの 3 日間は少々無理矢理記事にした感じです。

今回はちょっとした実験もかねていました。

毎日更新するようにすると、どの程度アクセス数がアップするのか。

昨年から今年の初めは、

  • 月 3 〜 4 回の更新
  • 1 日あたりのアクセス数は 100 前後

という状況でした。

2 月に入ってからの更新では、

  • 写真・画像を多めに
  • 説明できるだけ丁寧に

という点に気をつけてみました。最近記事 30 のうち、画像のない記事は 1/5 になっています。

グラフから読み取る

さて、まずアクセス数の遷移について見てみましょう。システムの都合上、2008.01.18 日からの集計になっています。

[図]2008.01 - 2008.02 アクセス数遷移グラフ

2008.01.31 より毎日更新をスタートしています。スタート時点での平均アクセス数は 136/day でした (2008.01.18 - 2008.01.30 の平均)。

毎日更新を開始して十日は、ほぼアクセスが変わりませんでしたが、2008.02.12 あたりからなんとなく増加しているような印象があります。

りもじろうさんの「住みたいところに住める俺」にトラックバックを送った翌日、2008.02.21 はさすがにアクセス数が多く、その時点での最高アクセス数を更新しています。

その後数日、アクセス数が落ちていますが、週末に入った影響だと思われます。週末はアクセスがやや落ちる傾向にあります。

結果、毎日更新することで、平均アクセス数は 188/day になりました (2008.01.31 - 2008.02.28 の平均)。およそ 50 の増加で 4 割近い上昇率です。

また、ソーシャルブックマークサイト、はてなブックマークlivedoor クリップでの被ブックマーク数とアクセス数の関連もざっくり調べてみました。

はてなブックマークlivedoor クリップでの被ブックマーク数をグレイでプロットしています (対象軸はアクセス数と異なっているので注意)。

これを見ると、被ブックマーク数とアクセス数の相関はあまりなさそう?

アクセス数アップ

ということで終われば、比較的すっきりしたんでしょうが、最後に罠が待っていました。

[図]アクセス数遷移グラフ - 2008.03.02

2 月末からPolipo - ローカルプロキシサーバ (dolipo / tolipo)proxy.pac と dolipo の config ファイルPolipo 絡みの記事を続けて書きました。

これがたまたま旬の話題で、想像以上にアクセスが集中してしまい、上昇率もへったくれもなくなってしまいました。

2008.03.03 19:00 時点で Polipo - ローカルプロキシサーバ (dolipo / tolipo)の被ブックマーク数は 34。このぐらいの数字になると、やはり影響が出てくるようです。

結論としては、

旬のネタをきっちりおさえて記事にする

というのがやはり効果があるようです。

スポンサーリンク

[解決]プロキシ設定スクリプト proxy.pac と GreaseKit の相性

追試したところ、どうも GreaseKit を利用している時にプロキシ設定スクリプトを利用するとうまくいかない様子です。

proxy.pac と dolipo の config ファイル

と書いたのですが、dolipo を作成された drikin さんのところ (Drift Diary12) で、dolipo Tips が紹介されていました。

SafariStand を公開されている hetima さんが対応 GreaseKit を作成されたようです。→ GreaseKit 1.4 for Pac のダウンロード

こちらを利用したところ、当方の環境 (下記の通り) でも問題なく動作しました。ありがとうございます。

hardware
MacBook Core Duo 2GHz / メモリ 2GB
OS
Mac OS X 10.4.11 Tiger
Safari
Safari 3.0.4 (523.12.2)
Plugins
SasariStand 3.0T157 / Twicetab 1.3 / GreaseKit 1.4 for Pac
dolipo
dolipo 1.0.6.1

proxy.pac 絡みでもうひとつ。

普段 Firefox では検索バーを表示しないでロケーションバーで Google 検索をしていたのですが、dolipo を起動した状態だと 504 Host d lookup failed: Host not found と表示されて検索できなくなってしまいました。

dolipo でロケーションバー検索できなくなった!

polipo(dolipo)向けproxy.pac で紹介されている proxy.pac を導入すると、多分解決します。

2008.03.01 に公開された dolipo 1.0.6 には proxy.pac が同梱されています。dolipo 起動後、~/Library/Application Support/dolipo/ 上にコピーされるので、それを指定します。

入力した検索内容をアドレスとして認識してアクセスしているのが原因だと思うのですが、これは

    if (isPlainHostName(host))
        { return proxy_no; }

という部分で判定されて、プロキシを通さないようにするため回避されるかと。

ただ、個人的にはキーワードを利用することをお勧めします。

アドレスバーに検索内容を直接入力した時には、余計なアクセスが生じます (検索内容をアドレスとして有効かどうかを確認するため)。

キーワードなら、ブラウザ側で自動変換してからアクセスになるので、その心配がありませんし、検索対象も検索サイトだけでなく、Wikipedia やオンライン辞書などユーザー側が自由に追加・設定することが可能です。[参考 : Firefox・Opera・Safari で「キーワード」を利用する]

スポンサーリンク

proxy.pac と dolipo の config ファイル

dolipo, a wrapper of polipo [dh memoranda]」や「polipo(dolipo)向けproxy.pac」で紹介されている proxy.pac は柔軟にプロキシ設定ができるようで、とても便利そうです。

Windows であれば、プロキシ設定スクリプト proxy.pac の設定方法が @IT詳しく説明されています。[参考 : Windows TIPS : WebブラウザのProxy設定を行うための4つの方法]

今まで proxy.pac を利用したことがなかったので、知らなかったのですが、Mac OS X でももちろん同様な設定があります。

Mac OS X における プロキシ設定スクリプト proxy.pac の設定

「システム環境設定」→「ネットワーク」→利用しているネットワークの設定→「プロキシ」と選んでいくと、「設定するプロキシサーバを選択」という項目があります。この中に「自動プロキシ設定」という項目があって、それが proxy.pac を指定する設定になります。

[画像]システム環境設定・プロキシ設定

Firefox では、プロキシの設定はシステム環境設定と独立しています。Firefox の場合、「環境設定」→「詳細」→「ネットワーク」→「接続設定」と選んでいくと、接続設定シートが開きます。この中にある「自動プロキシ設定スクリプト URL」が該当する設定になります。

[画像]Firefox 接続設定シート

プロキシ設定スクリプト proxy.pac はローカルファイルも指定可能です。「polipo(dolipo)向けproxy.pac」にある通り、file:///Users/ユーザー名/Documents/proxy.pac のように指定します (書類フォルダに置いた場合)。

Firefox ではうまく動作するのですが、システム環境設定のプロキシ設定側では今のところうまく動いていない様子。何がいけないんだろう……。

[2008.03.01 16:30 追記]追試したところ、どうも GreaseKit を利用している時にプロキシ設定スクリプトを利用するとうまくいかない様子です。とりあえず、GreaseKit を外して使ってみたら、Safari でも問題なく動作しています。

[2008.03.02 06:00 追記]解決しました

dolipo 内の Polipo の config ファイル

dolipo を利用しているときに Polipo の config ファイルを直接編集したい場合があります。例えば、disableIndexing の設定などはブラウザからアクセスできる設定画面から変更することができません。

dolipo から起動される Polipo の config ファイルは dolipo アプリケーション内部にあります。dolipo を選択して、コンテキストメニューより「パッケージの内容を表示」を選びます。

[画像]dolipo を選択してこんキスとメニューを開きます。

パッケージ内の「Contents」→「Resources」→「config」が Polipo の config ファイルです。

[画像]Contents/Resources/ 内に config ファイルがあります。

スポンサーリンク

Polipo - ローカルプロキシサーバ (dolipo / tolipo)

[画像]dolipo をインストールしました。各所で話題の dolipo を試してみました。

dolipo は、ローカルで動作させるプロキシサーバ Polipo の GUI フロントエンドアプリケーションです (Mac OS X 用)。

使ってみると、確かに体感できるほどぐっと速くなります。

キャッシュの効果が大きいのでしょう、設定して起動した後に、見ていたページをリロードすると応答速度が明らかに変わるのが分かります。

ただし、Polipo を通すことで、影響が出るウェブページもありますので、注意してください。[参考 : polipo(dolipo)向けproxy.pac]

Polipo の動作

Polipo の動作について polipo の公式ウェブページに簡単な解説があります。

creazy photograph さんのところで、意訳されています

5)Polipo はPoor Man's Multiplexing を利用できます。

→スミマセン、ここは良く分かりませんでした。

Macのネット環境高速化「dolipo」はナゼこんなに速いのか ::: creazy photograph

原文は以下の通り。

  • Polipo can optionally use a technique known as Poor Man's Multiplexing to reduce latency even further.

Polipo - a caching web proxy

意訳すると、

Polipo はレイテンシー (待ち時間) を減らすため、簡易の多重化通信 (Multiplexing) をオプションとして、利用できます。

という感じでしょうか。Poor Man's という言い回しは「廉価版の」「経済的な」というような意味合いがあるみたいです。

詳細な説明が polipo の公式ウェブページにあるので、さらに見てみます。

A major weakness of the HTTP protocol is its inability to share a single connection between multiple simultaneous transactions - to multiplex a number of transactions over a single connection. In HTTP, a client can either request all instances sequentially, which significantly increases latency, or else open multiple concurrent connections, with all the problems that this implies (see Persistent connections).

Poor Man's Multiplexing (PMM) is a technique that simulates multiplexing by requesting an instance in multiple segments; because the segments are fetched in independent transactions, they can be interleaved with requests for other resources.

Poor Man's Multiplexing in The Polipo Manual

最初の段落では、

HTTP プロトコルの大きな欠点として、複数の同時的なトランザクション間の単一コネクション - つまり、単一コネクションに対しての多重通信が共有できないという点があります。HTTP では、クライアント (ブラウザ) は、全てのインスタンス (取得対象となる文書、イメージなど) を順番順番にリクエストする方法 - 待ち時間が大幅に増えます - もしくは、複数の同時接続をオープンする方法 (HTTP1.1 ではオプションのひとつでしかありません) を選びます。

続いて、

PMM (簡易多重化通信) は、インスタンスを複数セグメントでリクエストすることにより多重通信をシミュレートします。セグメントは個別の独立したトランザクションで取得されます。他のリソースのためにリクエストをインタリーブできます。

とあります。

分割要求して、polipo 側でくっつけるようにして多重化しているってことなんでしょうか。訳があっているかどうか分かりませんが、私はそのように解釈しました。

ちなみに PMM はデフォルトでは off になっているそうです。config ファイルで pmmFirstSizepmmSize を設定すると有効になります。2 つのパラメータがありますが、どちらひとつを設定するだけでも有効になります。その場合、もう一方の方に値がコピーされます。

Polipo のパイプライン検査処理

あと、polipoのサイトには

  • HTTP1.1サーバでも、パイプラインをサポートしていないバギーなサーバーはたくさんあるよ
  • polipoはサーバーがパイプラインをサポートしているか慎重に調べ(carefully probes)てからパイプラインを使うぜ

ようなことが書いてます。どんな実装になってるか興味ありますねー。

polipoのパイプラインについて

ソースコードが公開されているので、さっくり見ることができます。

私もざっくりとしか見ていないので、断定はできかねるのですが、server.c で「らしい」処理が確認できます。

/* If server->pipeline <= 0, we don't do pipelining.  If
   server->pipeline is 1, then we are ready to start probing
   for pipelining on the server; we then send exactly two
   requests in what is hopefully a single packet to check
   whether the server has the nasty habit of discarding its
   input buffers after each request.
   If server->pipeline is 2 or 3, the pipelining probe is in
   progress on this server, and we don't pipeline anything
   until it succeeds.  When server->pipeline >= 4, pipelining
   is believed to work on this server. */
if(server->version != HTTP_11 || server->pipeline <= 0 ||
   server->pipeline == 2 || server->pipeline == 3) {
    if(connection->pipelined == 0)
        n = 1;
    else
        n = 0;
} else if(server->pipeline == 1) {
    if(connection->pipelined == 0)
        n = MIN(2, maxPipelineTrain);
    else
        n = 0;
} else {
    n = maxPipelineTrain;
}

server.c in polipo 1.0.4

接続したサーバに対して、pipelinepipelined というパラメータを保持して、パイプラインが行えるかどうかを確認しています。

pipeline が 2 もしくは 3 であれば、パイプラインの検査中ということみたいです。

上記のコードは httpServerTrigger という関数から抜き出しています。他の場所でもいくつかこのフラグに対して処理が行われている部分があります。

Polipo の設定

polipo を起動した後、ブラウザから http://127.0.0.1:8123/polipo/config にアクセスすると、polipo の設定を確認・変更することができます。これは Mac OS X / Windows / Linux 全てに共通です。

dolipo では、設定ウィンドウより「Open Polipo Config」ボタンからアクセス可能になっています。

他にブラウザからできる内容として

などがあります。ただし、後者二つはデフォルトでは無効に設定されているので、config ファイルで有効にする必要があります。

キャッシュインデックスは

http://127.0.0.1:8123/polipo/index?http://serenebach.net/

のように ? の後に、確認したいアドレスをつけます。

[画像]polipo キャッシュインデックスでキャッシュの状態を確認できます。

Polipo を Windows で利用する - tolipo

Polipo は Windows 版が用意されています。インストーラ もありますが、公式ウェブページにもバイナリがあります

設定などはテキストエディタを使って修正する必要があります。例えば、polipo 入れてみた on WindowsXP - 母方の祖母にフル・ネルソン日記などで紹介されています。

私の場合、dnsNameServer を直接設定せずに、

dnsUseGethostbyname = yes

のように dnsUseGethostbyname の設定を有効にしました。

[画像]タスクトレイに常駐する tolipo が便利です。設定ファイルの名称は何でもいいのですが、polipo.conf という名称にしておくと、tolipo を利用できるので、オススメです。

[図]polipo.exe と同じディレクトリに tolipo.exe と polipo.conf を置きます。

tolipo は polipo を起動して、タスクトレイに常駐するアプリケーションです。図のように「tolipo.exe」「polipo.conf」を「polipo.exe」と同じフォルダに入れます。

私の場合、「cache」というフォルダも作成しておいて、そこにキャッシュのファイルが保存されるようにしました。

[2008.04.02 追記] Windows 上で動作する polipo の GUI ラッパーアプリケーション solipo を作成しました。 → [solipo 紹介ページ]

スポンサーリンク

[JavaScript]canvas 要素で遊ぶ・画像の拡大縮小・回転

canvas 要素で遊ぶ」では、回転速度やイメージの大きさを制御できませんでしたが、制御できるようにしてみました。

以下の canvas 内をドラッグ & ドロップすることで、画像を回転させたり、拡大縮小ができるようになります。

手元の環境では、Internet Explorer 6 での動作が今ひとつ。やはりネイティブ対応じゃないので、重いのかもしれません。Internet Explorer では、記事の個別表示でしかうまく動作しないようです。もし以下にうまく画像が表示されない場合は、個別に記事を表示してみてください

[写真]MacBook キーボード

回転処理を入れると、ベクトル関連の処理が多くなります。今回のサンプルスクリプトでは、2 次元ベクトルを表現する簡単なオブジェクトも宣言しています。

function Vector(x,y)
{
  this.x = x;
  this.y = y;
  return this;
}
Vector.prototype = {
  length : function()
  {
    return Math.sqrt(this.x * this.x + this.y * this.y)
  },
  angle : function()
  {
    var theta = Math.acos(this.x / this.length());
    return (this.y > 0) ? theta : theta * -1;
  },
  clone : function()
  {
    return new Vector(this.x,this.y);
  },
  rotate : function(theta)
  {
    var x = Math.cos(theta) * this.x - Math.sin(theta) * this.y;
    var y = Math.sin(theta) * this.x + Math.cos(theta) * this.y;
    this.x = x;
    this.y = y;
    return this;
  }
};

画像の拡大縮小は drawImage メソッドで行っています。Canvas には、そのものずばり scale というメソッドもあるのですが、scale ではコンテキストそのものを拡大縮小してしまい、今回の用途には向いていませんでした。

マウスカーソルの位置をトラックして表示するようにもしています。コンテキストが回転しているので、回転した角度の分、戻して点を表示する必要があるという部分がややトリッキーです。

サンプルスクリプトの 96 行目から始まる「_point」という関数がカーソル位置のトラック処理です。

スポンサーリンク

[JavaScript]「canvas 要素で遊ぶ」サンプルコードの簡単な解説

[JavaScript]canvas 要素で遊ぶで作成したスクリプトのメインルーチンは 29 行目からの _update という関数です。

  _update : function(angle)
  {
    var self = this;
    var prev = self.angle * Math.PI / 180;
    var theta = angle * Math.PI / 180;
    var field = document.getElementById(self.name);
    if (!field || !field.getContext) return;
    var context = field.getContext("2d");
    // clear the previous draw
    context.rotate(- prev);
    context.clearRect(0,0,self.w,self.h);
    context.rotate(prev);
    context.drawImage(self.image, (self.w - self.image.width)/2, (self.h - self.image.height)/2);
    if (!Browser.isWinIE)
    {
      context.clearRect(0,self.h,self.w,self.h); // (*1)
      context.clearRect(-self.w,0,self.w,self.h); // (*1)
    }
    var x = (self.w / 2) - ((self.w / 2) * Math.cos(theta) - (self.h / 2) * Math.sin(theta));
    var y = (self.h / 2) - ((self.w / 2) * Math.sin(theta) + (self.h / 2) * Math.cos(theta));
    context.translate(x,y); // (*2)
    context.rotate(theta);
    self.angle = angle;
  },

Canvas を使うには、まず canvas 要素を DOM で取得して、コンテキスト上に Canvas のメソッドを使って描画するのが基本になります。

rotate メソッドを使うと、コンテキストの内容を回転させることが出来ます。

[図]canvas の rotate メソッド

上の図で、右側の赤い四角が実際に描画される内容になります。canvas 要素のサイズなどは rotate によって変化しません。Canvas の中身 (コンテキスト) だけが回転します。

canvas 要素で遊ぶ」のサンプルでは、回転してもイメージ全体が表示されるように、canvas 要素の大きさを大きめに確保するようにしています。

コード内の (*1) の部分では、イメージの左側と下側を消去しています。

これは時計回りで回転するイメージの残像が残らないようにするためです。Internet Explorer を除外しているのは、ExplorerCanvas負の座標軸を使うとエラーになるためです。

[2008.02.28 追記]追試したところ、そんなことはありませんでした。ExplorerCanvas では、座標そのものが無視されるようです。複数回呼び出すのがエラーの原因かもしれません。

コード内の (*2) の部分では、translate メソッドを使って、Canvas のコンテキストをずらしています。

rotate メソッドでは、左上が回転軸となります。そのため、その前に translate でイメージの中心が回転軸となるようにしています。

イメージは canvas 要素の中心に置かれているので、中心の座標が回転によってどのぐらいずれるかを (*2) の行の直前で計算しています。

[2008.02.28 追記]_update 内で、context.rotate(- prev); のように回転したコンテキストを元に戻す操作を行っていますが、これは必要ありません。

スポンサーリンク

[JavaScript]canvas 要素で遊ぶ

Safari、Firefox、Opera でサポートされている canvas 要素について調べています。次のイメージはクリックすると、回転します。

再度クリックで回転が止まります。回っている画像を見続けると酔うので、注意してください。

Internet Explorer では、記事の個別表示でしかうまく動作しないようです。もし以下にうまく画像が表示されない場合は、個別に記事を表示してみてください

[写真]MacBook キーボード

Internet Explorer でも Google が作成した ExplorerCanvas というライブラリを使用すると、canvas 要素が利用できるようです。

上記のように、canvas に描画された内容は回転させることができます。

単純に回転させるだけだと、残像が残ってしまうので、clearRect という関数を使って、残像を消す処理を行っています。

canvas については、HTML5.JP さんの Canvas - HTML5.JP でかなり丁寧に説明されています。サンプルも沢山あってとても参考になります。

スポンサーリンク

[JavaScript]イメージリスト(仮)の動作実験

うまく動作しない可能性もあります。うまくいけば、スライダーが表示されて、動かせるようになるはずです。

  • MacBookキーボード
  • MacBook正面
  • MacBookパッケージ

スタイルシートとメインスクリプトがマイナーチェンジされています。キャッシュの影響で正しく表示されない場合がありますので、その時にはリロードしていただくよう、お願いいたします。

[2008.02.26 追記]スライダー用に記述していた form 要素を外して、スクリプト側から生成するように変更しました。それに伴い、読み込まれるスクリプトとスタイルシートを若干修正しています。

[2008.02.26 さらに追記]2008.02.26 現在、Internet Explorer 7 では、スライダーが正しく動作しないようです。後日、修正するかもしれません。

スポンサーリンク

コードを記述する時のインデント

私が個人的にスクリプトなど (Perl、JavaScript、HTML、CSS、C、C++、などなど) のコードを記述する際には、インデントとしてタブを利用します。

[画像]タブ幅には通常 2 を指定しています。

タブによるインデントは「百害あって一利なし」とおっしゃる人も見かけたことがありますし、Perl でスクリプトを組む人なら一度は目にしておいて損はない良書「Perl ベストプラクティス」でも、スペースによるインデントが推奨されています。

Perl ベストプラクティスでは、インデントにスペースを利用する理由として、

どのような表示環境でもインデントの一貫性を保つための、確実で、繰り返し可能で、移植が可能な方法

と挙げられています。

一方、タブによるインデントの最大のメリットは「ユーザーがインデント幅を調整できる」という点につきます。

実際、Perl ベストプラクティスではインデントの幅については「4 で妥協する」とあって、あくまでも妥協案でしかありません。

私は現在インデントの幅を 2 に指定していますが、将来それを 3 や 4 に変えるかもしれません。そうした場合にスペースによるインデントでは、幅の調整が面倒です。

ただし、闇雲に字下げ部分にタブを利用することはありません。インデントの一貫性を保つことが難しくなるからです。

例えば、以下のようなコードがあったとします。

	my $isLongName = ($lengthOfChar > 100)
	               ? 'yes'
	               : undef;

先頭の行のインデント数は 1 です。つまり、タブインデント幅を 8 にしている場合は、8 つ分のスペースが字下げされます。

二行目、三行目はいわゆる桁合わせです。コードを見やすさを保持するために、「?」「:」の位置を先頭行の「=」部分に合わせるようにしています。

上記の例では、私が普段記述するルールに則って記述しています。そのため、どのようなインデント幅でも、きちんと揃って見えるはずです。

言うまでもありませんが、等幅フォントを利用している場合です。

字下げにタブを闇雲に利用すると、例えば、以下のようになります。

	my $isLongName = ($lengthOfChar > 100)
				   ? 'yes'
				   : undef;

のようになります。これはタブ幅が 4 の時にのみ揃って見えるコードです。

この手のコードでは、特定のタブ幅であればきれいに表示されますが、タブ幅が変わると悲惨なぐらいガタガタになってしまう場合もあります。

そこで私はインデントに対して、以下のようにルールを決めています。

  • インデントにはタブを利用する
  • タブはインデントにのみ利用し、桁揃えの用途には、必ずスペースを利用する

このルールに従うと、どのような表示環境でもインデントの一貫性を保たれ、インデント幅はユーザーの好きな幅に指定できます。

ただし、このルールに従うと、上述の例のように、行の先頭にタブとスペースが混在する場合があります。

そのため、エディタによってインデントのタブと桁揃えのスペースの区別がつかない場合がある、という欠点があります。

ですから、私は入力されたタブコードを特殊な表示で明示してくれるエディタを利用しています。

スポンサーリンク

口腔洗浄器ってご存知ですか

ニュージーランドで歯医者にかかると結構な費用になるため、虫歯になると歯だけでなく懐も痛みます。ですから、日本に滞在した折には、できるだけ歯医者に通うようにしています。

虫歯にならないためには、日頃からの歯の手入れが必須です。きちんと歯磨きが出来るように、以前から電動歯ブラシを利用していました。

嫁さんが「どうも口腔洗浄器というのがいいらしい」と情報を仕入れてきて、昨年よりブラウンオキシジェットを使い始めています。

オキシジェットは、水流式口腔洗浄器と呼ばれるものです。ノズルから水を勢いよく噴射して、歯と歯の間に詰まった汚れを洗い流します。

水流式口腔洗浄器は、ブラウン以外にもオムロン松下電器 (Panasonic)など各社から発売されています。

これらの口腔洗浄器を使うと「えっ、そんなに歯と歯の間に詰まってた?」と驚くほど、挟まっているものが洗い流されます。一度使い始めると結構病みつきに……。

最初慣れないうちは、水圧が結構強いと思いますので、徐々に強くしていって使うのがポイントです。

最初のうちはその水圧で歯ぐきから血が出たりします。

ブラウン オキシジェット

[画像]Braun オーラルB オキシジェット イリゲーター

オキシジェットの最新機種は、上記の MD18 というモデルになりますが、うちでは電動歯ブラシとセットになったオキシジェット・センターを使っています。リンクは日本仕様のもので、実際には Oral-B ProfessionalCare(R) 8500 DLX/8500 OxyJet Centre という製品です。

オキシジェットは螺旋状に水流が噴出される機能がついているのが特徴で、ノズル口が狭めで細く噴出されます。水圧は後述するドルツ・ジェットウォッシャーに比べると弱いです。

螺旋状の噴出は歯間を洗い流すのには向いていませんが、歯ぐきをマッサージする効果があるようで、最初はいまいちな印象を持っていましたが、何回か繰り返していくうちに心地よくなってきます。

松下電器 ドルツ・ジェットウォッシャー

[画像]National ドルツ・ジェットウォッシャー

ドルツ・ジェットウォッシャーは松下電器 (Panasonic / National) から発売されている口腔洗浄器です。

本体は前述のオキシジェットよりもやや小ぶりですが、その分ノズルを格納する場所が本体についていません (ノズル立てが付属品として付いてきます)。

ノズル口がやや大きく水流が太めです。オキシジェットと比べると水圧がかなり強く、慣れないうちは最強にしない方がいいと思います。

水圧が強い分、余裕を持って洗い流せるのが特徴でしょうか。オキシジェットだと場合によって、水を補充して 2,3 度洗うときがありますが、こちらの場合補充することはありませんでした。

アマゾンだとドルツ・ジェットウォッシャーの方が評価は高いようです。うちにあるオキシジェット・センターは、電動歯ブラシの充電器も兼ねることができて、なかなか便利だと個人的には思っています。

スポンサーリンク

14/25