Posted filed under ServerSide.

Photo by E Cashell

 PerlbalのX-Reproxy-Urlを使おうと思ったのですが、Reproxy先のURLへヘッダを渡す方法が無かったので、ちょっとしたハックをしました。

 X-Reproxy-Headersに渡したいヘッダをカンマ区切りで入力すると、そのヘッダをReproxy先にも渡します。

 下記のようなリクエストをperlbalに返すと、

X-Reproxy-Url: http://example.com/
X-Reproxy-Header: Cookie,X-Version
Cookie: ID=foobar
X-Version: 1.0 

 Reproxy先には、下記のようなヘッダが渡されます。

Cookie: ID=foobar
X-Version: 1.0 

 Perlは4止まりだったのですが、がんばってパッチを作ってみました。

perlbal-reproxy-header-060108.patch

ホントは、プラグインとかにしたいんですが、どなたか手伝ってくれませんか?

追記

RailsConfで出ていた、WarBookがPerlbalを使ってるって言ってたなぁ。

Posted filed under Ruby on Rails.

Photo by mondopiccolo

 Capistranoではdeployしても、前のソースが残っているために、すぐに前のバージョンに戻せますが、データベースはそうはいきません。

 そこで、deploy:migrationsを実行する前に自動でDBのバックアップを取るようなタスクを探してみました。
MySQL専用ですが、これでローカルのbackupsというディレクトリに、migration実行前のダンプがダウンロードされます。
Read more »

Posted filed under Publications, ServerSide.

 WEB+DB PRESSに執筆した、Amazon EC2/S3の解説記事が、連載:はじめてのAmazon EC2&S3 ~これからの新サービスの公開の形~|gihyo.jp … 技術評論社として、webで公開されました。本日から4日連続で公開されていきます。

 Amazon EC2/S3は、柔軟性の高いサーバとして、Webサービスを作る側としては非常におもしろく、注目されているサービスだと思います。

 RailsやJavaを動かすサーバがない! ちょっと新しいアプリをサーバにインストールしてみたいけど、既存のマシンにはいれたくない!そんなときにはEC2がおすすめです。

 ぜひこの記事を読んで、試してみてください。

追記
 質問、リクエストなどありましたら、このコメント欄にお願いします。

Posted filed under ServerSide.

Photo by stebulus

 nginxなども調査してみたのですが、Perlbalが一番細かくキャッシュコントロールできること、Perlで書かれているので改造がしやすいことから、これを使う方向で進めてみることにしました。
 まずは、S3にreproxyする場合に、認証用のヘッダを付けるようにしないとな。

 ときどき死ぬとの情報もあるのですが、これはプロセス監視と複数起動することで対処することにします。

 OSXや、UbuntuにPerlbalのパッケージが無かったので、インストールする方法をまとめておきます。

 パフォーマンスはまだ計測していないけど、WassrもPerlbalを使ってるんですね。
Read more »

Posted filed under Ruby on Rails, ServerSide.

 S3+EC2を使っていると、S3に保存したムービーや画像と言った大きなデータを、クライアントに返したい場合があります。
そのときにリバースプロキシを使う方法もあるけど、権限やユーザによって振り分けたい場合などは、単純なリバースプロキシではうまくいきません。

 Rails側でNet::HTTPなどを使ってS3からデータを取ってくる方法もあるのですが、それだとパフォーマンスが悪すぎです。
 負荷分散することを考えると、これはApacheモジュールか、リバースプロキシ側でやって欲しい作業です。自分で書こうと思ったけど、調べてみたらやっぱり同じようなのがありました。

 リバースプロキシなどの中には、X-REPROXY-URLというヘッダをサポートしているものがあり、これを戻すとリバースプロキシが代わりにこのURLにアクセスしてデータを返してくれます。

 Perlbalが始めにサポートしたらしいですが、lightlyやapacheもパッチが出ているようです。Perlbalはリバースプロキシとしても、性能が高いらしいので、これを評価してみようと思います。

メモリンク

Posted filed under Life.

 自分の仕事環境をもっとよくするために、参考になりそうな机は無いかなーとFlickrで検索してみました。

 特にデザイン系の会社だと、カッコいいオフィスがありそうなので、もしご存じの方いましたら、できれば写真があるページを教えてもらえませんか? コメントかはてブでお願いします。

view from my workspace
Originally uploaded by cityflickr

こんな環境で仕事してみたい。
400年前の城らしいですよ。ここ。

ニセコで仕事したときは気持ち良かったなぁ。

Read more »

Posted filed under Mac.

Carbon Emacsをフルスクリーンで使う – Sooeyで、2008年春版のCarbon Emacsが、フルスクリーンに対応したことを知ったので、早速、ダウンロードしてインストール。

(mac-toggle-max-window)を.emacsで指定するだけのはずなんだけど、なぜか下に1,2行隙間が出たので適当にheightを指定。

(mac-toggle-max-window)
(setq default-frame-alist
      (append (list
		    '(height . 63)
)))

いつの間にかemacs-w3mが、標準添付されなくなっていたので、自分でインストールした。

Posted filed under Hatana bookmark anywhere.

Photo by stevenkamenar

 おかげさまでご好評頂いている「hatana_bookmark_anywhere.js」に、ものすごいバグがあることが分かりました。

 数人に指摘されるまで全然気がつかなかったのですが、アプリ名を声を出して読むと「はたな ぶっくーま。。。」orz

 ごめんなさい、素で間違ってました。もう変えるのもなんなので、このまま行きます。
もしバージョンアップすることがあったら、そのときはちゃんとします。
しかし、なんでこんな間違えしたんだろうなぁ。。。。

 これだけのエントリっていうのも、なんなので、最近貼っているCreative CommonsのFlickrへのリンクを簡単に張るブックマークレットを公開します。もしかしたらFirefox専用かもしれません。
Read more »

Posted filed under Life.

 日本での仕事場環境作りの話はこちら

 Impress BB Watchのデスクトップ百景でMac上のデスクトップを紹介して頂いたので、連動してリアルなデスクトップの話です。

 私は家で仕事をしていますが、仕事部屋を設けるのではなく、リビングに机を置いて仕事をしています。
一日の時間のほとんどをPCに向かっているので、一番広い部屋を使わないのはもったいないのです。

 仕事机を置くのに必要なスペースは大体2畳程度です。リビングが広めだと、思ったより圧迫感は出ないと思います。なので、うちでは、1LDKで広い部屋の物件を探しました。いま住んでいる家も1LDKです。

 アメリカに引っ越してまず行った場所はIKEA。今回の引っ越しでは、アーロン以外の家具類は全部処分してきてしまったので、仕事机も棚も全部買い直しです。
Read more »

Posted filed under Hatana bookmark anywhere.

Photo by Marco Gomes

 hatana_bookmark_anywhere.jsを設置してくださった方々ありがとうございます。

 ブログへの設置方法を書いてくださっている方がまとめておきます。他のブログへの設置方法を書いていただける方、ご連絡お待ちしています。

WordPressへの設置方法
をかもとさんが、プラグインを公開しています。
WordPress Plugins/JSeries » Hatena bookmark anywhere
Voxへの設置
今書いた記事のブクマを見る – file-glob こと k.daibaの日記
ココログベーシックへの設置方法
去りにし日々、今ひとたびの幻: [blog]ブログにはてブのコメントを表示する
Movable Typeへの設置方法
はてブのコメントを好きな場所に表示する
Seesaa ブログへの設置方法
この際、言いたい放題=別冊版: はてなブックマークのコメントをブログ上で表示してみた
Livedoor Blogへの設置方法
ドッフの喫茶店:livedoorBlogにはてブを表示 – livedoor Blog(ブログ)
tDiaryへの設置方法
hatena_bookmark_anywhere.js を tDiary に対応させてみたが… – HsbtDiary (2008-04-19)
はてなへの設置方法
残念な事に設置できません

 現在のhatana_bookmark_anywhere.jsは、白背景のサイトを基本に配色しています。これを別配色で行いたい場合やデザインを変更したい場合は、CSSで行うことができます。
Read more »