7 月 20
iPhone SDKについてAppleに問い合わせをされた、site-aroさんのaroDiaryによると、iPhone SDKが正式版になってもNDA(秘密保持契約)扱いのままなんだそうです。
そのため、ウェブ上にiPhone SDKに関する情報を載せたり、書籍を販売することができないとか。
そうすると気になるのが、出版予定のiPhone向け開発の解説書の扱い。いくつか、Amazonに洋書の予約を入れているんですが、こういった本も出版できなくなるんでしょうかね?
それとも、出版日までにはNDAが解除されるのでしょうか。一番出版予定が早い『The iPhone Developer’s Cookbook』が9月ということですから、その頃までに規制が緩和されていると良いのですが。
7 月 20
Webサーバーのlighttpdの動作を監視するために、Slicehostにmonitをインストールしました。
「lighttpdがきちんと起動しているか」と、「メモリの使用量をチェック」するだけの簡単な設定で使おうと思ったんですが、少々詰まりました。
どうも、指定したポートにhttp接続させると、lighttpdが「400 Bad Request」を返すため、monitが延々とlighttpdを再起動させ続けてしまいます。telnetやwgetでのアクセスは問題ないんですが、困りました。
調べてみると、同じ問題に遭遇された方を発見。
» Walk The Plank (in Nucleus) - monitでhttpdの監視
Debian(etch)という動作環境も同じです。こちらの対処法に倣い、”protocol http”を外して運用するように設定を変更しました。おかげで、ログを見る限り、期待通りの動作をしてくれているようです。
monitは便利なツールですね。
7 月 13
Amazonに倣って、BookFind.jpでも「前のページ」と「次のページ」の移動に、キーボード・ショートカットを割り当ててみました。
洋書のカテゴリをブラウズ中に、「前のページ」に戻る場合にはPキーを2回、「次のページ」に進む場合はNキーを2回押と、リンクをクリックすることなくページを移動できます。
アマゾンのサイトでも重宝している機能で、こちらではjQueryを利用しました。Internet Explorerでイフェクトが綺麗に出ないのが、ちょっと残念なところ。
7 月 12
Amazon.comで洋書を物色していると、ふとAmazon.co.jpでの値段が気になったりします。
アマゾンのページでASINかISBNをコピーして、BookFind.jpで検索すれば目的は果たせるわけですが、手作業でこれをするのはちょっと面倒なものです。
そこで作ってみたのが、このブックマークレット。Amazon.com、Amazon.co.uk、Amazon.co.jpの洋書ページから、BookFind.jpの当該ページへ、ワンアクションで移動できます。
» 「Bookfind.jpで洋書価格を比較」するブックマークレット - BookFind.jp - 洋書価格比較サイト
JavaScriptのコードは、こんな感じになります。
var u=location.href;
var d="http://www.amazon.co(m|.uk|.jp)/";
var m=u.match(new RegExp(d+"(gp/product|.*?/dp)/([0-9]{9}[0-9x])"));
if (m && (m.length >= 4)) {
var asin=m.pop();
location.href='http://bookfind.jp/isbn/'+asin;
}
else {
window.alert('Amazonで、対象とする洋書のページを開いてから使用してください。');
}
このコードをbookmarkletterを使ってbookmarkletに変換しました。bookmarkletterのおかげで、ブックマークレットの作成がずいぶんと楽になりました。作者さんに、感謝です。
bookmarklet作成に役立つサイトには、Bookmarklet Builderもあります。こちらは、bookmarkletを読みやすいJavaScriptコードに整形できるのが便利です。
7 月 10
「【ハウツー】Web開発者必見! jQuery UI ウィジェット3選」に触発されて、BookFind.jpにjQuery UIを導入してみました。
今回採用したのは、TabsとEffect “Pulsate”のふたつ。
jQuery UI Tabs
Amazonのカスタマーレビューを表示する際に、日本、米国、英国をタブで切り替えられるようにしました。タブパネル内のデータ取得はオンデマンドで行うので、レビューに興味のない方は不要なデータを読み込む必要が無く、ページのロードが早くなります。
タブのデザインは、ThemeRollerで配布されている、「Smoothness」をそのまま使用させていただきました。
マイコミジャーナルにも書かれているように、Internet Explorerの表示が若干期待と違いますが、追々修正していきたいです。
jQuery UI Effect “Pulsate”
日米英のAmazon洋書価格の最安値を強調する視覚効果に使用しました。これまではjQuery単体で、hide()してfadeIn()で、似たようなことをやっていました。おかげで、簡単に点滅効果を出せるようになりました。
ちなみに、「pulsate」とは「振動させる」という意味だそうです。
“pulsate”の検索結果(7 件):英辞郎 on the Web:スペースアルク
7 月 07
BookFind.jpで使用するWebフレームワークを、Ruby on Railsからweb.pyに変更しました。サーバーは今まで通りSlicehostのVPS。Dreamhostは解約しました。
実際に移行をしたのは3週間ほど前なんですが、以前より随分と軽快に動作するようになりました。Railsは、自分の用途に対してはオーバースペックだったのと、うまく使いこなせなかったのが残念です。web.pyは他のフレームワークで標準装備されているような機能も付いてなかったりしますが、そこが逆にシンプルで良かったりもします。
テンプレートエンジンはweb.pyに付属のものではなく、Makoをチョイス。ドキュメントがちゃんとあるのと、使いやすさから選びました。ベンチマークの成績も良いようですね。テンプレート内にPythonのコードを書けるのも便利です。
Webサーバーはweb.pyの開発者さんも使っている、lighttpd。設定ファイルが読み書きしやすいです。LiteSpeedで、ブラウザベースの設定はかえって面倒だと感じたので、テキストベースの設定がちょうど良いです。lighttpdの設定の仕方は、Lighttpd - Linux Tipsがとても参考になりました。
RailsでのAjax用ライブラリはPrototypeとscript.aculo.usでしたが、今回はより新しいjQueryを採用しました。慣れると、すごく使いやすいです。使い方は『jQuery in Action』を読んで覚えました。リファレンス向きではありませんが、チュートリアル形式なので、一から勉強するには最適でした。
そのjQueryのファイルは、AJAX Libraries APIを通じて読み込まれるようにしています。jQueryのバージョンアップの手間が省けると同時に、インターネットの無駄なトラフィックも減らせて一石二鳥です。
そのほか、価格比較グラフの描画にGoogle Chart APIを使ったり、AJAX News Barで洋書関連のニュースを表示したりと、ちょっとGoogleに依存しすぎな気もします。アクセス解析もGoogle Analyticsですし、Googleからアクセスを遮断されでもしたら、大変そうです。
web.pyはCGI環境でも動くくらい軽快ですから、多機能を望まない方にはオススメのフレームワークです。
Recent Comments