[API][ メモ]Google Static Maps API
Posted: 2008/02/29 under API, メモ| Comments: 0
Posted: 2008/02/29 under API, メモ| Comments: 0
愛読している連載の一つ、ITmediaの「ひとりで作るネットサービス」に登場させてもらいました。
2週間ほど前に百式の田口さんからインタビューをしていただき、今日の掲載に至ったわけですが、インタビューの内容が個人的に全くダメダメだったので(「座右の銘は?」と聞かれて沈黙してしまったり、「ONGMAPの今後は?」と聞かれてさらに沈黙したり、とどめは「セブンズは5年後にはどんな会社になってますか?」と聞かれて考え込んでしまったりというような感じで、そのあと結構へこんでしまいました)、もしかしたらボツかもと思っていたので、こんなに素敵な記事にまとめ上げてくださった、田口さんと編集の方々に感謝感謝です!
明日のONGMAP、落ちないか心配です。
もとはといえば、
で登場した石原さんと昨年のMashup Awardで知り合って、田口さんに紹介をお願いしたことから今回のインタビューにつながったわけですが、 まさか本当に実現するとは思ってませんでした>石原さん、ありがとう!
あと、文中に出てきますがgogo.gsの小川さんの話もネタとして使わせてもらいました>小川さん、ありがとう!
・・・
ということで引き続き地道にやっていきたいと思います。
メモPosted: 2008/02/28 under メモ| Comments: 0
メモというか備忘録
とあるサーバー(Solaris10)の設定をやっていたところ、なぜかPHPのfile_get_contents()が利用できない。
多用する関数なのに利用できないって、と調べたところ、php.iniに
allow_url_fopen = On
と設定をしないといけないらしい。デフォルトではオフだった。
さらに、ライブラリのcurl.soもエクステンションとしてphp.iniに記述する必要があった。
extension = 'curl.so'
さらにさらに、libcurl.soも別途インストールする必要があった(これはパッケージを入れるのを失念してただけ)
かなり、焦った・・・
PHP メモPosted: 2008/02/28 under PHP, メモ| Comments: 0
今日の午前中はまったのでメモ。
Apacheの設定とかほとんどやったことないのですが、ちょっとやる必要が生じたので。
Ext JSを利用する上で、その巨大なファイル(510k!)が帯域をできるだけ喰わないように、あらかじめgzipしておく必要があります(mod_deflate/mod_gzip等で動的にやる方法もありますが、借りてるレンタルサーバーでは組み込まれてなさそうだし、毎回圧縮のためにCPU負荷かけるのもあれなので、あらかじめ圧縮してます)。
と書いてて思い出したのが、以前書いたこれとこれ(スクリプト側についてやることはこの辺を参照ください)
・・・
で、今回はサーバーそのものを設定しないといけないので、ググったところ
と色々出てきたので、参考にしながら分かったことをまとめると(Apacheのバージョンは2.2.6です):
以上のモジュールが必要(mod_rewriteだけでもいいかもしれませんが、、、)
最初にやった設定がMultiViews。httpd.confに次の一行を加えるだけ:
Options MultiViews
これが設定されていると、例えば:
<script type="text/javascript" src="./ext-2.0.1/ext-all.js"></script>
↓
<script type="text/javascript" src="./ext-2.0.1/ext-all"></script>
のようにファイルの拡張子が省略されていても、Apacheがそのディレクトリの中から適当なファイルを探し出して返してくれます。 これを設定することで、同じディレクトリに「ext-all.js」と「ext-all.js.gz」を配置しておいて、gzipをサポートするブラウザにはgzipファイルを、それ以外のブラウザには通常のjsファイルを渡すような処理が可能になるわけです。
次にやったのが、Rewriteの設定。httpd.confに以下の行を追加:
RewriteEngine on
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME} !.gz$
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule .+ %{REQUEST_URI}.gz
何をやっているのかよく理解できていないのですが、多分、ブラウザがgzipをサポートしていて、同時に要求されたファイル名+「.gz」というファイルが存在する場合には、そのファイルを返す、ということだと思います。
本当はこれでうまくいくはずだったのですが、なぜかうまくいかない。
しょうがないので、Live HTTP headers でサーバーとのやりとりを追ったところ、どうもgzipファイルは送られてきているものの、「Content-Type : application/x-gzip」となってしまっていてJavaScriptファイルとして認識されていないらしい(これが判明するまでに2時間・・・)
で、もう一度httpd.confを眺めてみると、
#AddEncoding x-gzip .gz .tgz
AddType application/x-gzip .gz .tgz
こうなっている箇所を発見。試しにコメントアウトを逆にして
AddEncoding x-gzip .gz .tgz
#AddType application/x-gzip .gz .tgz
試してみたら、動いた!これで、「Content-Type : application/javascript」になって、「Content-Encoding : gzip」という行も追加されていた。めでたし、めでたし。
・・・
P.S.
実は最後の設定をやってもJavaScriptファイルがうまく渡されてなかった。もう一度、ヘッダー情報を追いかけてみたら、受け渡しされているファイルが「304 Not Modified」となっているので、試しにファイルをタッチしてみたら、うまく動きました。
教訓:Webサーバーの設定を変えても何も変わらなければ、ファイルの情報も更新しよう!
JavaScript メモ 開発日誌Posted: 2008/02/28 under Javascript, メモ, 開発日誌| Comments: 0
気がついたら1ヶ月以上もブログを書いてませんでした。これ以上書かないと、もう書かなくなりそうなので、 とりあえず書いてみます。
1月の下旬から妻が息子を連れて実家(久留米)に帰って、出産準備に入ったので、それに合わせて東京と福岡を行ったり来たりしてます。
今日は2週間ぶりに東京のオフィスに来てます(今週は東京にいる予定)。
この間何をやっていたかというと、とある開発案件をやりつつ、「俺様フレームワーク」みたいなものを作っていました 。昨年末にRails熱が盛り上がったものの、年末年始の休みで勉強をさぼってしまい、なんかまた敷居が高くなってしまって。とはいっても、やっぱりなんかのフレームワーク使わないと開発の効率がさっぱりあがんないから、ということでRailsの勉強で学んだことを元にPHPとExt.JSベースのものを作ってみてます。
RailsのScaffold機能が個人的には好きなので、まずはそれから作りはじめて、ようやく認証機能ができたところです。設計図も何もなく適当に始めてしまったので、作っては壊し作っては壊しの繰り返しです。
Railsや他のPHPベースのフレームワークに比べると(ていうか比べるな>俺)まだまだ何の機能も無いですが、それでも「俺様」仕様なので、使い勝手は最高です。
ということで、このフレームワークを使って、そろそろONGMAPのVersion 2と、その他のサービスをサクサクっとつくっちゃおうと考えている今日この頃です。
旗揚げしたまま休眠状態にしてしまった、Japaaan.orgも暖かくなってきたら活動再開させたいし、子供は生まれるし、春は色々と忙しくなりそうです。
パーソナルPosted: 2008/02/25 under パーソナル| Comments: 0