2009年06月03日

ブログ移転のおしらせ

 本ブログは、2009年6月以降、http://developer.cybozu.co.jp/kazuho/ へ移転いたします。今後ともよろしくお願いいたします。

※Web フィードはリダイレクトされるようになっています

投稿者 kazuho : 2009年06月03日 16:13 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2008年10月28日

ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性

実際に試してみた結果については、ウェブサービスの SSD 化について話してきましたをご参照ください。

検索エンジンや小さな行が多いデータベース等で使用する目的での SSD (Intel X25-M) のベンチマーク結果については、Kazuho at Work: Benchmarking SSD for MySQL をご覧ください (InnoDB の話をしていますが、Senna / Tritonn でも基本的に同じ)

 Sun が SSD 製品の投入を表明 (マイコミジャーナル) したり、Google が Intel の製品をテスト (The Register) したりと、クライアントサイドに続きサーバサイドへもソリッドステートドライブ (SSD) の波が押し寄せてきつつあります。パストラックでも SSD を使いたいなぁという思いはあったので、ちょっと導入を検討してみることにしました。

1. SSD がむいている箇所

続きを読む "ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性"

投稿者 kazuho : 2008年10月28日 20:28 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2008年04月17日

C++ テンプレートで(いまさら)FizzBuzz

re C++テンプレートでFizzBuzz - おびなたのはてな日記

 C++ テンプレートで if を定義しているのは面白いと思いましたが、一方で FizzBuzz を実現するためのコードとして見た場合は冗長じゃないかと思ったので、自分でも書いてみました。こんな感じ。

#include <iostream>

using namespace std;

template<int N, int Mod3=N%3, int Mod5=N%5> struct Print {
  Print() {
    cout << N << endl;
  }
};

template<int N> struct Print<N, 0, 0> {
  Print() {
    cout << "FizzBuzz" << endl;
  }
};

template<int N, int Mod5> struct Print<N, 0, Mod5> {
  Print() {
    cout << "Fizz" << endl;
  }
};

template<int N, int Mod3> struct Print <N, Mod3, 0> {
  Print() {
    cout << "Buzz" << endl;
  }
};

template<int N> struct FizzBuzz {
  FizzBuzz() {
    FizzBuzz<N-1>();
    Print<N>();
  }
};

template<> struct FizzBuzz<0> {
  FizzBuzz() {}
};

int main()
{
  FizzBuzz<100>();
}

投稿者 kazuho : 2008年04月17日 18:55 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2007年11月18日

サーバメンテナンス中にエラー画面を返す方法

 サービスのメンテナンス中など、ウェブサーバ全体で 503500 エラーを返したいようなケースがあると思うのですが、その場合どうすればいいのでしょう。ちょっとググってみたけど分からなかったので自分で考えてみました。

ErrorDocument 503500 "Sorry.  The service is under maintenance."
RedirectMatch 503500 .*

 とりあえずこんな感じでいいみたい。RedirectMatch 等の設定ディレクティブで 300 番台以外のステータスコードを指定できることを今回初めて知りました。 (参考: mod_alias - Apache HTTP Server)

 ですが、この方法だと、メッセージを設定ファイルに記述することはできても、HTML ファイルを表示することができません。より良い方法をご存知の方は教えていただければ幸いです (ウェブサービスなので 302 等ではなく 503500 エラーを返したい)。

0:27追記: 言うまでもなく 500 Internal Server Error ではなく 503 Service Unavailable を返すべきなので修正しました

11月18日追記: /error/ 以下にエラー専用ファイルを置いて、かつ、/error/ ディレクトリ以下に直接アクセスされた場合は 200 OK を返しても良いのであれば (妥当な仮定だと思う)、以下の設定でよさそうです。PCRE は楽だなぁ。

ErrorDocument 503 /error/maintenance.html
RedirectMatch 503 "^/(?!error/)"

投稿者 kazuho : 2007年11月18日 00:11 | コメント (6) | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2006年05月26日

EBCDIC で HTML

 触る機会が全くない文字コード EBCDIC ですが、 Internet Explorer は、 EBCDIC の HTML を表示できるようです。Firefox は、出来ないのかな。

hello.html.ebcdic

 ちなみに、「エビシディック」と読むらしいです。「イービーシー」じゃなくて「エービーシー」 (笑)

続きを読む "EBCDIC で HTML"

投稿者 kazuho : 2006年05月26日 14:43 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2005年12月14日

Live HTTP Headers で Firefox の裏技を解析する

 同僚の秋元さんがブログで、

同じく Firefox で、 "https://http//www.anydomain.com" と入れるとマイクロソフトへ飛ぶ。

OpenOffice と Firefox の裏技 (秋元@サイボウズ研究所プログラマーBlog)

と書いています。なぜそうなるのか、気になったので調べてみました。

続きを読む "Live HTTP Headers で Firefox の裏技を解析する"

投稿者 kazuho : 2005年12月14日 12:15 | コメント (1) | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク