« 2008年10月 | メイン | 2008年12月 »

2008年11月27日

ウェブサービスの SSD 化について話してきました

 本日 (11/27) 開催の Shibuya Perl Mongersテクニカルトーク#10 で、ウェブサービスの SSD 化について話しました。スライドを置いておきますので、開発しているウェブアプリケーションフレームワーク NanoA について話してきました とあわせてご覧いただければ幸いです。

 末筆となりますが、Shibuya.pm の実行委員(?)の方々、ありがとうございました&おつかれさまです。 (まだ終わってないけど ^^;)

Web Service on SSD
View SlideShare presentation or Upload your own. (tags: web ssd)

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

開発しているウェブアプリケーションフレームワーク NanoA について話してきました

 本日 (11/27) 開催の Shibuya Perl Mongersテクニカルトーク#10 で、最近作っているウェブアプリケーションフレームワーク NanoA について話しました。スライドを置いておきますので、ぜひご覧ください。

NanoA
View SlideShare presentation or Upload your own. (tags: perl waf)

 あともうひとつ話さないと。

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

2008年11月20日

サイボウズの新卒採用説明会に参加します

 サイボウズでは、今月末から来月にかけて、東京と大阪で新卒採用説明会およびセミナーを開催します。サイボウズ・ラボからは、社長の畑、箕輪と奥が、それぞれの回に参加いたします。ちなみに自分が話すのは、12月6日 (土) @大阪。

 「専門技術を極め、新たな価値や技術を生み出すエンジニアの物語」というテーマで話をする、というのは気恥ずかしいものがありますが、自分が何を考えて Japanizeパストラック といったサービスを作っているのか、サイボウズ・ラボで日々働いている面白さ、楽しさといったものを伝えられればいいな、と思います。

 サイボウズに興味がある学生の方には、ぜひ参加していただければと思います。来場者の皆さんと少人数でお話しさせていただくこともできるようなので、これを機会にいろいろな話ができればいいな、と楽しみにしています。

 説明会の詳細については、下記の URL をごらんください。参加をお待ちしております。

cybozu.co.jp/company/job/recruitment/seminar.html

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

2008年11月19日

ウェブアプリケーションのインストーラジェネレータ

 CGI や PHP などの小さなウェブアプリケーションを配置(デプロイ)する際、アーカイブをインターネットからダウンロードして、適切な展開ツールで展開したのち、文字コードをあわせてディレクトリ丸ごとアップロード、というのは結構煩雑な手続きです。そこで、tar.gz から自己展開型の CGI を作成するインストーラジェネレータ tgz2cgi.pl を作ってみました。以下のような感じで使います。

% tgz2cgi.pl \
    --title='MyApp インストーラー' \
    --start='インストールを開始します' \
    --end='インストールが終了しました。<a href="setup.cgi">次へ進む</a>' \
    --delete --nph \
    < myapp.tar.gz > nph-myapp-installer.cgi

 このようにしてmyapp.tar.gz を展開するインストーラ nph-myapp-installer.cgi を作成することができます。上の例では、終了時のメッセージに「次へ」ボタンをつけて、展開されたパッケージの setup.cgi へユーザーを誘導しています。他のオプションは、以下のとおり。インストール終了後に自分自身を消去するモードもあります。特定のファイルが既に存在するかチェックして、見つかった場合はインストールを中止する --check-files オプションを使えば、誤って複数回実行してしまうこともありません。

$ ./tgz2cgi.pl --help
Usage: ./tgz2cgi.pl [options] < package.tar.gz > installer.cgi
Options:
  --title=title  title when run as a CGI
  --start=msg    start message
  --end=msg      end message
  --nph          create nph CGI
  --delete       delete installer cgi on success
  --help         show help

 また、生成されるインストーラは、コマンドラインから直接実行することも可能です。この場合は、tar xzvf と同じ動作になります。生成されるインストーラの依存先は、perl (たぶん4以上), uudecode, tar, gzcat という、あまり時代を感じさせない、環境依存の少ない構成にしたつもりです。ぜひ、自己責任でお楽しみください。

15:41追記: uu(en|de)code は最近のディストリビューションでは標準インストールではないようなので、MIME::Base64 に変更しましたorz

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

2008年11月04日

ウェブサービスにおけるダメージコントロール (MySQL のスロークエリを自動的に kill する方法)

 適切な設計によって、信頼性の高いソフトウェアやサービスを構築することが重要なのは、言うまでもないことです。一方で、なんらかの原因で問題が発生した際に、障害を局所化し、損害を小さく食い止める「ダメージコントロール」という概念もあります。ウェブサービスの場合も、特に検索や集計といった、計算量がクエリの種類によって大幅に異なるようなケースでは、次善の策として後者の手法が有効に働く場合もあるかと思います。

続きを読む "ウェブサービスにおけるダメージコントロール (MySQL のスロークエリを自動的に kill する方法)"

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