« June 2007 | Main | September 2007 »

USBメモリ活用法:ポータブルWebサーバ+ブラウザ+エディタ

ひとつ前のエントリで少し触れたが、USBメモリにソフトをインストールして持ち歩くというのは結構Coolなアイデアである。私自身、1年ほど前から愛用しているのが「USBメモリで開発環境を持ち歩く」というもの。本業が開発者でも何でもない私としては、自宅以外でも、通勤時間とか、次のアポまでの待ち時間とか、そういう空き時間をうまく活用してモノづくりに励みたいところ。しかし、家のPCと会社のPCの両方に同じテスト環境を構築して、常にファイルを同期させておくのは大変だし、そもそも仕事用のPCに余計なソフトは入れたくない。そこで、USBメモリに必要なアプリケーションをインストールして持ち歩くというわけである。インストールといっても、レジストリをいじくるようなソフトでなければ、ただUSBメモリのドライブ上に実行ファイル(exeファイル)を入れておくだけのこと。特に難しいことは何もないのだ。

WebサーバとSQLサーバに関しては、XAMPPを利用。XAMPPには標準でApacheとMySQLとPHP、phpMyAdminがついていて、アドオンとしてPerlやTomcatも用意されている。ファイルの展開はインストーラを使ってもいいし、zipファイルを直接USBドライブの上に解凍してもよい。但し、展開後のファイルサイズがかなりあるので、USBメモリは容量の大きいものを準備する必要がある。以前、XAMPPとMovable Typeを入れたときは、それだけで512MB以上あったので、最低1GBがないときついだろう。USBメモリは差し込むPCによって違うドライブ名で認識されることがあるが、その度にsetup_xampp.batを走らせればApacheのドキュメントルート設定などを自動で変更してくれる。

ブラウザに関しては、Firefox Portableをメインに使用。Tab Mix Plusを使えばセッションを保存できるので、調べものなどの作業途中にブラウザを閉じてしまっても、次回起動時に作業を続けることができる。はてなブックマークdel.icio.usに「あとで読む」とタグを付けて保存しておくより簡単だし、効率的だと個人的には思っている。開発環境としては、やはりFirebugは必須。開発中のスクリプトのテストをするときも、他のサイトのデザインを参考にするときも、欠かせない存在だ。Firefoxはこうして様々なアドオンをお好みで追加してカスタマイズできるのが最大の魅力だが、複数のPCで使うときには全く同じアドオンを揃えるのは面倒。USBメモリで持ち歩けば、常に同じFirefoxを使うことになるから、この問題も解決してくれるのだ。

エディタは、PHP用にはPHP Editor、JavascriptとHTML用にはTerapadを利用。いずれも実行ファイルをUSBメモリ上に置いておくだけで使用できる軽いソフト。これと一緒にPHPマニュアルとほほのWWW入門のWindowsヘルプ版も入れておけば、オフライン環境でもPHPとJavaScriptとHTMLに関する基本的な事項は調べることができる。まあ、鞄の中のスペースに余裕があれば、JavaScriptビジュアル・リファレンスは常に持ち歩いた方がいいんだけど。JavaScript用のエディタは色々探してみたがいいのがなかったので、結局シンプルなTerapadに落ち着いた。文字コードの指定と画面分割ができればそれで十分な気もしている。

Firefox Portableを提供しているPortableApps.comでは、他にもUSBメモリにインストールできる様々なアプリケーションを見つけることができる(今見てみたら、XAMPPも提供されているようだ)。アプリケーションだけでなく、Mac OS Classic 7も提供されているし、LinuxもComing Soonになっている。こういうのを色々組み込んで、USBメモリを差すだけでいつものPCが全く別のマシンに化けるとか、自動的に作業を行ってくれるとか、そういうのもいいかもしれない。


Powered by ScribeFire.

| | Comments (615) | TrackBack (0)

SanDisk CruzerMicro 4GB

stars 衝動買いなんだけどさ

今日、昼ご飯のついでに近くのBestBuyにふらっと立ち寄ってみた。立ち寄ってみた、というか、愛用してたBuffaloの1GB USBメモリの接続部分が歪んでしまったので、大容量USBメモリをチェックするつもりで行ったのだが、そこで発見したのがコレ。4GBの大容量ながら、価格はなんと$40(Amazon.co.jpの価格は1万円近くするんだな…)。本体真ん中のつまみをスライドさせて接続部分を出し入れするのもちょっぴりオシャレ。USBメモリにオシャレさなんて誰も期待しないと思うが、キャップ不要という合理性と、このちょっとしたギミックにやられてしまった。

SanDiskのCruzerシリーズには前からセキュリティ機能がついているが、このシリーズには、それに加えてSkypeをはじめとするソフトウェアがいくつかプレインストールされている。PC本体にインストールせずとも、USBメモリを差すだけでソフトが使えるというのは実は結構便利である。ついでに、この製品が対応しているU3プラットフォームでは、自動起動する付属のソフトでアプリケーションを簡単に追加することも可能。まあ、そんなのなくてもUSBメモリにアプリケーションはインストールできるんだけど、U3対応のアプリケーションが充実していけば便利かもしれない。

ホントはUSBメモリを使ったアプリケーション活用方法についてもうちょっと書こうと思ったけど、今日は眠いのでこの辺で。

hReview by TEDDY-G , 2007/07/06

photo
SanDisk U3対応USBフラッシュメモリ CruzerMicro 4GB
サンディスク 2006-12-08
おすすめ平均 star
starU3ボリュームが邪魔

| | Comments (273) | TrackBack (0)

PEAR::Services_Lingrで日本語を扱うときの注意

Cometを使ったホントの非同期ブラウザチャットのLingr、使ってみるとかなりCool。ブラウザベースだからソフトをインストールする必要もないし、軽くチャットするだけならアカウントを取る必要すらない。まさにインスタントなメッセンジャー。でもってこのLingr、APIまで公開してあり、様々なサービスに展開する可能性を秘めている。実にCool。Lingrの仕組みについては江島健太郎氏のこのエントリを読んでいただくとして、APIを使って何かしたい人には、既に様々なライブラリDeveloper Wiki上で公開されている。いやあ、実に2.0、2.0。

でもって、ライブラリの一つ、Lingr APIをPHPで簡単にいじくることのできるパッケージのPEAR::Services_Lingrを使ってみたんだけど、Room.observeメソッドとかでメッセージを取り出すときに日本語のメッセージがうまく取れない。調べてみたら、Lingr APIが返してくるXML中の日本語が数値文字参照で、そのままだとXML_Unserializerが読んでくれないことがわかった。ので、Services_Lingrパッケージの中のLingr.phpの中でXML_UnserializerにXMLを投げるところの前(94行目あたり)に下記のようなコードを挿入して問題解決。

...
$result = $http->getResponseBody();
$map = array(0x0080, 0xffff, 0, 0xffff);
$result = mb_decode_numericentity($result, $map, "UTF-8" );

$xml =& new XML_Unserializer();
...


UTF-8じゃなくてEUC-JPにするときは、$map=array(0, 0x10FFFF, 0, 0xFFFFFF); とすればよい。これでXML_Unserializerで処理して返ってきた配列がちゃんと日本語で返ってくる。mb_decode_numericentityの使い方については、ここここを参考にした。有難うございます。
ひょっとしたら最新版のXML_Unserializer使えば問題なく動くのかもしれないけど、一応メモ代わりに。…って、Lingr APIをPHPで使いたい人、しかもXML_Unserializerdが何かちゃんと日本語処理してくれない人、ってえらい限定された人向けのエントリだな。

Powered by ScribeFire.

| | Comments (139) | TrackBack (0)

« June 2007 | Main | September 2007 »