2008年5月31日土曜日

AJAX Libraries API - JavascriptのライブラリをホストしてくれるAPI

GoogleがポピュラーなJavascriptのライブラリをホストしてくれる
AJAX Libraries API

ユーザーがサイトを訪問する前に、このAPIを使ってライブラリをロードしている別のサイトを読み込んでいた場合、キャッシュが効いてページのロード時間が短縮される。
ライブラリはgzipで圧縮されている。

対応しているライブラリの種類

使い方
<script src="http://www.google.com/jsapi"></script>
<script>
// Load jQuery
google.load("jquery", "1");
</script>

google.load の引数はライブラリ名とバージョン

上のようにバージョンを "1" と指定すると
1.9.1 をリクエストすることになる。 (2008年5月31日現在)
ちなみに"1.8" は 1.8.4 を指す。

2008年5月23日金曜日

USER AGENTでケータイとPCの振り分け

アクセスしてきたPCとケータイをそれぞれのホストに振り分ける mod_rewrite の書き方

やりたいこと

PCサイト http://www.hoge.com
モバイルサイト http://mobile.hoge.com
PCサイト と モバイルサイトの(ホスト名以外)URLルールはおんなじ、という場合に、

PCサイトにやってきたモバイル君をモバイルサイトにリダイレクトさせたい。

具体的には

http://www.hoge.com/news/200805
というURLにやってきた ケータイ君を
http://mobile.hoge.com/news/200805
に流す。

逆に

http://mobile.hoge.com/news/200805
というURLにやってきた PC君を
http://www.hoge.com/news/200805
に流す。

.htaccess

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.hoge.com
RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [OR]
RewriteCond %{HTTP_USER_AGENT} ^SoftBank [OR]
RewriteCond %{HTTP_USER_AGENT} ^Vodafone [OR]
RewriteCond %{HTTP_USER_AGENT} ^UP.Browser [OR]
RewriteCond %{HTTP_USER_AGENT} ^KDDI
RewriteRule ^(.*)$ http://mobile.hoge.com/$1 [R,L]

RewriteCond %{HTTP_HOST} ^mobile.hoge.com
RewriteCond %{HTTP_USER_AGENT} !^DoCoMo
RewriteCond %{HTTP_USER_AGENT} !^SoftBank
RewriteCond %{HTTP_USER_AGENT} !^Vodafone
RewriteCond %{HTTP_USER_AGENT} !^UP.Browser
RewriteCond %{HTTP_USER_AGENT} !^KDDI
RewriteRule ^(.*)$ http://www.hoge.com/$1 [R,L]

参考
mod_rewrite マニュアル
RewriteCond
RewriteRule

2008年5月19日月曜日

[Ruby on Rails] Rails2.0でGmailをメールサーバとして使う方法

便利そうなのでメモ

How To: Use GMail as your mail server for Rails 2.0!

基本的な流れは

action_mailer_tls プラグインを入れて
config/mailer.yml に必要な情報を書いて
config/initializers/smtp_gmail.rb でactionmailerにオプションをセットするという感じ。

これだけで自分のGmailのアカウントを使ってGmailをSMTPサーバとして利用できる。

2008年5月16日金曜日

[Ruby on Rails] Herokuの "Request Blessing"

この前 Herokuでメールを送信したり外部のRSSフィードを読み込むには将来追加される予定の有料オプションに申し込む必要がある、ということを書いてしまったが、現状でもその制限を解除する方法があることが分かった(バンザイ!)。


My Apps » [アプリケーションの]Settings » Other の「Request Blessing」というのがカギ。


英語がからっきしなのであまりピンとこないが、"Blessingをリクエストする" というのは ”アプリケーション環境のアップグレードを要求する” ことのようだ。
この「Request Blessing」のページからアップグレードを要求して承認されると次のような特典が付いてくる。

  • Outgoing network traffic such as sending email (by default this is disabled to prevent spammers from abusing our system)
  • Custom domain names, e.g. point www.yourdomain.com at your Heroku app
  • Higher resource limits, especially bandwidth
ようするに、件のメールアドレスの送信など、ネットワーク外部への開放の他に、独自ドメインの使用リソース制限の緩和(特に帯域幅に関して)。これはおいしい!

リクエストする時の注意点としては、「空っぽのアプリケーションのままじゃダメよ。(これからインポートする予定でもね)」ということ。
あと、"どんなアプリを公開するつもりなのか"、"(必要なら)あなたの開発者としてのバックグラウンド" を簡単に説明する必要がある。

英文で書くことになるので少しびびったけど、数行程度の幼稚な説明で承認してもらったから、ハードルは全然高くない
”できるだけ多くのリクエストに応えたい”って言ってるくらいだしね。


これだけでもずいぶんお得だけど、実はこのRequest Blessingによって浴することのできる恩恵というのはこれだけではないのだ。

Request Blessingに承認されると herokuのアプリをproductionモードで公開することができるようになる

My Apps » [アプリケーションの]Settings の下の方に
"Custom Domain Name" という項目とともに "Mode" という見慣れぬ項目が追加されているのを見ることができる。
ここで production と developement のモードをボタンひとつで変更することができるようになっている。
たぶんheroku上でmongrelを再起動することはできない(はずだよね?)なので、これが現状で唯一のproductionモードでの実行方法なのだろう。


ちなみに"Request Blessing" が承認されても特に承認メールなどは来ない。
承認されると、"My Apps" のアプリケーション名の横に緑地のチェックマークが付く。

2008年5月9日金曜日

[Ruby on Rails] Heroku の招待メールが届いたのでいじってみた

ちょっと前に話題になった Heroku の招待メールが届いたのでさっそくいじってみた。
「俺も仲間に入れてよ」ってメールしたのがたしか2月の終わりころ(?)だから、2ヶ月くらい待たされたわけだ。

FirefoxだけでRuby on Railsアプリを開発できてすごく便利!
Gitを使ってローカルでも開発できるようになったみたいだけど、基本的にはFTPもターミナルも立ち上げる必要なくコーディングできる。

それで、プラグインを色々入れたりしてたら、メール送信でつまった。
どうやら外部とのやりとりは現在のところ不可能らしい。
外部とのやりとりっていうのは、メールの送受信以外にも、外にあるAPIを叩いたりRSSフィードを読み込むことも含まれるらしい。
将来的には有料オプションで可能になるみたいだけど、これは痛いな。。。

あと、日本語を直接書けないのもツライ。。。(コピペはできるけど)

ちなみにDBは PostgresSQL を使っているみたい。

2008年5月5日月曜日

Ruby on RailsのフォーラムがPHPで作られている件

世の中にはベンツに乗るトヨタの社員がいたり、毎日NHKを見てるテレビ朝日の社員がいたり、プレゼンにMacを使うマイクロソフトの社員がいたりするので別に驚くことはないけれど、Ruby on Rails のフォーラムがPHPで作られてたりすると何だかなと思ってしまう。


※クリックすると拡大します。URLに注目。

http://www.railsforum.com/