今更だけど GoogleGears を探ってみた

現在、作成中の Web サービスで GoogleGears を真面目に使ってみようかなと思い、ちゃんと調べてみることにした。 概要 Google Developers GoogleGearsの主な機能はブラウザサイドで ファイルのキャッシュ対象をコントロールして(ここが単なるブラウザのキャッシュと違う)保存できる ローカルDBが使える(全文検索も英語はあり) ワーカープールが使えるので重い処理に有効 対応アプリ 現在対応しているアプリを調べてみた。 Google Reader Remeber the milk Google Docs ということで正直登場して一年近く経つが少ない。 レビュー Google Japan Blog: Google デベロッパー交流会 ( 第 4 回 ) - Vol.1 Google Japan Blog: デベロッパー交流会 ( 第 4 回 ) - Vol.2 Google Japan Blog: デベロッパー交流会 ( 第 4 回 ) - Vol.3 Google Japan Blog: デベロッパー交流会 ( 第 4 回 ) - Vol.4 Google Gears の使い道 - てっく煮ブログ Google Gears の機能のおさらいと HTML5「Client-side DB」の相互運用を考える。Client-side DB に未来はあるか? - IT戦記 Ogawa::Buzz: Google Gears雑感。 上記のエントリが有益だった。 感想として、GoogleGears に頼ってアプリを実装すると色々と便利ではあると思う。だが、GoogleGears が入っていてもいなくても動作するものを作るのは、骨が折れそう(Page Not Found - The Dojo Toolkit で Browser/Server 同期処理などは楽になるのかもしれないが)。 ...

2008年5月21日 · Toshimitsu Takahashi

Hatebu HotentReader(はてぶホッテントリーダー)は Web 2.0 を超える!?

Hatebu HotentReader(はてぶホッテントリーダー) Firefox に加えて Internet Explorer 7 に対応 エントリーに対してもスターを表示 コメントのスターの数に応じてスタイルを変えた(これは好き好きかもしれない) Opera 9 にも対応できてる様子 コメントのスタイルを変えるのは、単に HatenaStar.js に頼っていないからできている(逆にスターを追加できないけど…)。 既に気づいているのは、別にこれ人気エントリーのフィード以外から引っ張ってもいいということ。ただそれだとコメントが少なくて意味があまりないと考えている。 あくまでもホッテントリ対象、だから一つの記事を対象にブックマークレットするのはありかと思っている。 しかしロードが重い。 Amazon のように はてなブックマークエントリー情報取得API が引数に応じてレスポンス内容を変えてくれると良いのだが…。まあキャッシュはしているのでだぶって取りにいってない。一旦、自分のサーバ内で一覧の情報を生成しておいて、キャッシュしたいがレンタルサーバの処理時間の制約で厳しいだろう。 「エントリーを含む日記」も取得できると、フォーラム式掲示板のツリーのようにエントリーを体系に眺められるようなものも作れそうである。はてぶ 2.0 API がどうなるか id:naoya さんに期待。 時を同じくしてホッテントリなものがリリースされていた。 ホッテントリメーカー - 「ホッテントリメーカー」を作った - phaのニート日記 試しに「はてぶホッテントリーダー」で生成してみたら、 はてぶホッテントリーダーはWeb2.0を超える!? 300users(推定) - ホッテントリメーカー と出たのでこのエントリのタイトルもこれにしてみた。 300 なんて無理だろうけど(笑)

2008年5月19日 · Toshimitsu Takahashi

Mac OS X Leopard の Time Machine は Time Capsule が無くても使える

Macbook Air を買ったので連日 Mac 系エントリが並びますが、Time Capsule がないと Time Machine は使えないのかと、危うく Apple の戦略にハマってしまいそうになりましたが、そんなことはなく USB 接続の外付けハードディスクドライブでいけます。 CENTURY のイッコイチBOXにSATA 500GB な USB HDD を持っていたので、ここにバックアップを取ってみることにしました。 重要なのは フォーマットが HFS+ (ジャーナル) である必要があります。手順は次の通り Finder > アプリケーション > ユーティリティ > ディスクユーティリティ を起動する。 USB HDD を Mac OS 拡張(ジャーナリング)でフォーマットする。 Time Machine を起動してバックアップ先を設定する。 (Windows 慣れしていると、システム環境設定=コントロールパネルな気がして、なかなかディスクユーティリティに辿り着けなかった。) ただ、Macbook Air のディスクは 74GB で今のところ 27GB 使用中なため、500GB全部は勿体ないし、Windows においてあるファイルの退避もさせたいので、パーティションを二つに切って、二個目を 75GB の Mac OS 拡張(ジャーナリング)でフォーマットし、先頭を NTFS にしました。

2008年5月10日 · Toshimitsu Takahashi

AirMac の接続で速度が出なかったのは電波干渉のせいだった

Macbook Air を買って Mac mini からの引っ越しをしているが、無線LANの速度があまりに遅い。 使っているのは 802.11g で以前から dynabook で接続しているが特に重い感じはなかった。 しかし今回、イーモバイルより遅いので、さすがにおかしいと思い色々と設定を調べてみた。 結果として変えたのは、アクセスポイント側の設定だった。同じチャンネルを使っている人が近くにいたのだろう。チャンネルを変えたら速くなった。ちなみに AP は Planex の BLW-54CW である。 ということは、東芝 dynabook の内蔵無線LANハードは電波干渉に強いのかもしれない。 あと、Mac mini には「電波干渉の制御を使用」という項目があるのだが、Macbook Air にはなかった(OS の違いかデバイスの違いかはわからない)。

2008年5月9日 · Toshimitsu Takahashi

Macbook Air に Apple Developers Tools を入れるには

まず DVD ドライブがないので Windows PC のものをネットワーク共有する Windows PC で「Mac OS X Install Disc 1」を入れて、表示されるメニュー(または setup.exe を実行して)から「DVD または CD 共有」をインストールする。再起動後 コントロールパネルの「DVD または CD 共有オプション」で全てチェックを入れる。 Apple Developers Tools をインストール 本来は、 Windows PC で「Mac OS X Install Disc 1」の setup.exe を実行して「リモートインストール Mac OS X」を選択して、ダイアログに従って進める。 とするのが正攻法らしいが30分放置しても接続中のままカスタマイズ選択画面まで行かなかったので諦めて、直接「Mac OS X Install Disc 2」から入れることにした。 Windows PC で「Mac OS X Install Disc 2」をセットする。 Macbook Air で Finder の「リモートディスク」を選択する。 表示される Windows PC を選択して「Mac OS X Install Disc 2」を選択する。 Xcode Tools を選択する。 XcodeTools.mpkg を実行し、ダイアログに従ってインストールする。 WebObjects.mpkg を実行し、ダイアログに従ってインストールする。 Dashcode.pkg を実行し、ダイアログに従ってインストールする。 以上で、Macintosh HD の下の Developer フォルダに一式インストールされる。 ※ Mac からアクセス中の DVD に Windows 側でアクセスするとドライブから取り出しが走ったりして失敗してしまうので注意。

2008年5月8日 · Toshimitsu Takahashi

CentOS に Subversion のリポジトリを移動する

リポジトリの移動 SVNリポジトリのダンプを取る。 # svnadmin dump repos > svndump 移行先に svndump をコピーする(普通はパイプで渡した方が良いだろう)。 CentOS 側でリポジトリを作成して、ダンプからロードする。 # svnadmin create --fs-type=fsfs /var/svn # svnadmin load /var/svn < svndump CentOS 側の webDAV の設定 オーナーとパーミッション (SELinux) をセットする。 # chown -R apache:apache /var/svn # chcon -R system_u:object_r:httpd_sys_content_t /var/svn パッケージが足りてなかったので、mod_dav_svn.i386 をインストール。 # yum install mod\_dav\_svn.i386 /etc/httpd/conf.d/subversion.conf に下記を追記して、httpd サービスの設定を反映する。 <Location /repos> DAV svn SVNPath /var/svn </Location>

2008年5月7日 · Toshimitsu Takahashi

iGoogle ガジェット「Suica / PASMO 利用履歴から料金を算出」に更新しました

はてなブックマーク - 3分LifeHacking:Suica、PASMOで“さらに”交通費精算を簡単にする - ITmedia Biz.ID でせっかくとりあげてもらったので PASMO に対応することにしました。 自分は PASMO を使っていないので知り合いに履歴をもらって作りました。 大きく違うのは残額表示のところで、Suica は「¥4,200」と PASMO は「*4200」でした。 タイトルがモバイル Suica へのリンクだったのを変えて、タブを増やしてリスト化しました。ガジェット名も「Suica / PASMO 利用履歴から料金を算出」に変更しました。 まだ iGoogle のカジェットディレトリには旧ガジェットで表示されますが、追加していただければ新しいものがもう出るはずです。 これでも首都圏のICカードサービスに対応しただけになので、他のサービスで使えるか知りません。

2008年5月6日 · Toshimitsu Takahashi

CentOS 5 に RPMforge リポジトリを追加する

下記ではなく、CentOS 5.2 で yum の対象リポジトリに RPMforge を追加するには - Tosshi Noteを参照してください。 Index of /rpmforge-release から rpmforge-release-0.3.6-1.el5.rf.i386.rpm をダウンロードしてインストール。 # wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm 通常では探しに行かないように下記を enabled = 0 に修正する。 # vi /etc/yum.repos.d/rpmforge.repo GPG key のインポートをする。 # wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt # rpm –import RPM-GPG-KEY.dag.txt 試しに trac を入れてみる。 # yum –enablerepo=rpmforge install trac

2008年5月5日 · Toshimitsu Takahashi

Python 2.5 と Google App Engine を試してみる

先日、ある方から著者である柴田さんのサイン入りの「みんなのPython」をいただいた。 みんなのPython せっかく Python をやるなら Google App Engine だろうと思い、登録しようとしたら案の定 Waiting List 入り、早くサインアップだけしておくべきだった。 とりあえず SDK を落としてインストールしようとしたら Python 2.5 が必須とのこと。自分が普段使っている CentOS 5 に入ってるのは Python 2.4 なので、別途インストールしなければならない。 というわけでまずは環境構築からスタートのようです。 ちょっと脱線 Google Gear があって Google App Engine と来たので、なんかデータストアの部分をカプセルかして提供してくれるとかいう物とかあるのかと思ったんですが、そういうことはないようです。 なんか Google Gear で本来のサーバーサイド処理も JavaScript でみたいな実装ができて、それでオンラインもオフラインもどっちも意識せずに開発できるようなことにはならないのだろうか。 ECMAScript というか ActionScript 3 を見てると Java と変わらない厳格な書き方もできるし、Flex の実装してるともうサーバーサイドもこの言語で書ければいいのにと思う。 Python 2.5 と Google App Engine をセットアップ Download Python から Python 2.5.2 compressed source tarball のリンク URLを wget してコンパイルする。とりあえずオプションは特に付けなかった。 $ wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2 $ bunzip2 -c Python-2.5.2.tar.bz2 | tar xvf - $ cd Python-2.5.2 $ ./configure --prefix=/usr/local/Python-2.5.2 $ make $ sudo make install さらに Google App Engine を落として展開する。Downloads - Google App Engine — Google Developers から Linux/Other Platforms - 1.0.1 - 4/14/08 を入れる。 ...

2008年5月4日 · Toshimitsu Takahashi

ユーザーインターフェイスに許容性を持たせること

自分の作ったある AJAX な Web アプリを人に使ってもらってみたところ、そのときネットが重かったせいもあり、あるリンクを何度もクリックされてしまった。そのリンクの処理は非同期で DB にクエリをなげて返ってきたデータを表示するというもの。作った者としてそんなことしたら DB にクエリがどんどんいってしまうと怖かったが、当人はそんなこと知らないので反応が無いからつい連続してクリックしてしまう。開発してるときは、B フレッツだったのでレスポンスが気にならなかった。 また何人か、普段からブラウジング時にアンカーリンクをダブルクリックしている人を知っている。ただ、サブミットのようなボタンはダブルクリックしないようだ。どうももともとネットが普及する前から PC を使っている人にそういう使い方をしてる場合があるようだ。確かに Windows エクスプローラでフォルダをどんどん開いていくときなどはダブルクリックする。それと同じ感覚みたいだ。 Windows 98 のときに Internet Explorer が搭載され、Microsoft がデスクトップでもホバーによる選択、シングルクリックでの実行を流行らそうとしたが、結局のところ標準的には使われてはいない。 インターフェイスとして、こちらの想定とは違うユーザーのアクションを許容できる作りは必要だ。でも作るときはそういうのは後回しにしてしまいがち。連続したクリック防止や処理中の通知などインターフェイスの作りこみは重要なことだと改めて思った。 話が変わるがインターフェイスで思い出したので・・・ 携帯電話の通話と切断のアイコンは未だに、昔の黒電話を見立てたものが多い。今の学生にあれはアイコンとして通用するのだろうか。 大概のアプリケーションは、フロッピーディスクのアイコンを「保存」に使っているが、これもそろそろ危ない気がする。

2008年4月13日 · Toshimitsu Takahashi