2009/08/04

Google App Engine Oil

Google App Engine Oil

Webアプリケーションをさくっと手軽に構築できてしまう Google App Engine (GAE) ですが、この Google 製のエンジンに、あるオイルを入れてやると、さらに激速なマシンができるようです。

Google App Engine Oil(GAEO) というこのオイルは、Ruby on Rails を参考にして作られた App Engine 専用の レーシングスペックのエンジンオイル(Webアプリケーションフレームワーク)です。

GAEO をインストール

まず、GAEO は GAE 上で実行されますので、予め Python や、GAE SDK をインストールします。
なお、以下は Windows での解説です。

プロジェクトホーム からパッケージ(gaeo-0.2.1.zip など)をダウンロードし、好きなところに解凍します。

GAEO スクリプトを利用するために、解凍先の bin ディレクトリへのパスを、環境変数 PATH に追加します。

パスを設定しましたら、gaeo.py コマンドを実行し、下記のようになるとインストール完了です。

>gaeo.py
Usage: C:\<install dir>\bin\gaeo.py <project name>

Hello GAEO

では、早速 Hello GAEOプロジェクトを作ってみます

GAEO でのプロジェクトを作成するには、作業ディレクトリで、次のコマンドを実行します。

gaeo.py hello

hello プロジェクトを作成すると、hello ディレクトリには、下記のコンテンツが生成されます。Rails そっくりです。

  • app.yaml, favicon.ico, main.py

    app.yaml と main.py は、GAE のメイン設定ファイルです。

  • application/

    アプリケーションのコードの置き場所。基本的にこの中のファイルを編集していきます。

  • assets/

    javascript や css ファイルの置き場所。app.yaml で設定可能です。

  • gaeo/

    GAEO のコアライブラリ。GAEO のアップグレードは、このディレクトリのファイルを入れ替えるとOKです。

  • plugins/

    プラグインのインストールディレクトリです。

アプリケーションの起動と確認

次のコマンドで GAE を起動し、作成したアプリケーションの動作を確認します。
なお、コマンドはアプリケーションのルートディレクトリで実行します。

hello>dev_appserver.py .
 Running application hello on port 8080: http://localhost:8080

http://localhost:8080/ にアクセスして、「It works!!」と表示されればOKです。

なかなか刺激的な体験ですが、次はちょっとしたアプリケーションを作ってみたいと思います。

Google App Engine Oil で twitter もどき
Google App Engine Oil で twitter もどき STEP 1

参考:

2009/07/16

[Gmail][Greasemonkey]Gmail Template Switcher を Update

しばらくぶりに、Gmail Tempolate Switcher をアップデートしました。

変更点は下記の2点です。

  • Google Chrome User Scripts に対応
  • リッチテキストに対応

最近の僕は、Google Chrome がメインブラウザになりつつあります。
Firefox は、Firebug を使いたいときや、動作確認程度になってしまいました。

Chrome は、なんといっても動作速度がお気に入りです。とにかく早いですね。これで Google ツールバーがあれば最高なんですけど。

そんな Chrome ですが、先日、Chrome のバージョンが上がり、これまで Greasemetal 上で動作させていた Greasemonkey Script が動かなくなってしまいました。これはまずいということで、Google Chrome User Scripts 対応にアップデートです。

そして、またまた先日。今度は、右上の返信ボタンから返信しようとすると、強制的にリッチテキスト形式になってしまう現象が発生していました。
テンプレートが反映されず、これはまずいということで、リッチテキスト形式対応にアップデートです。

また、コメントでもご意見いただきありがとうございます。

そんなわけで、最新版の Gmail Tempolate Switcher は、下記からダウンロードしてください。

Gmail Template Switcher - v 2.0

2009/06/15

Google Developer Day 2009

Google Developer Day

今年も Google Developer Day に参加してきました。

すでに恒例のイベントとなっていますが、年々内容が洗練され、とてもすばらしい内容になってきました。

今回の主な内容は、次のもの。

Google Developer Day

なかでも、HTML5 と Google Wave はあらたな時代を感じさせるすばらしいものでした。
ブラウザだけで(HTML + Javascript)、2D や 3D といったリッチな表現を可能にする、HTML5。
これまでの メール 主体のコミュニケーションを大きく変えてしまうパワーがある、Google Wave。
実際に普及となるとまだ先だとは思いますが、

Android についても、もうすぐ日本でも docomo から発売されますので、これから非常に注目されるものです。

Open Social は、ついに日本最大の SNS である mixi が完全対応ということで、多くのユーザにリーチできるという点で、マーケティング的にも非常に魅力的なものになりました。
Android と Open Social の組み合わせは、非常に刺激的なものです。

そして、Google Apps と Google App Engine の組み合わせによる、Enterprise なアプローチは、クラウド化する今日において、対企業へ非常に魅力的なソリューションを提供できるようになります。

Google Maps は、久しぶりのバージョンアップにより、Ver 3 になります。
iPhone や、Android といったモバイル端末上で快適に動作するように最適化がなされるようです。
GPS が普及し、地図分野はますます便利になっていきますね。

Google Developer Day 2009 Android

今回の GDD では、Google I/O 同様サプライズとして、Google Dev Phone の新版が無料配布されました。
すでにあった Dev Phone 1 (Android 1.0) を、Android 1.5 にアップデートしようかと思っていたところだったので、ちょうどいいタイミングです。
しかも、ロケールに日本語があって、日本語での文字入力も可能。すばらしいです。
これで、Android 1.5 でも実機テストが可能ですね。

会場でも、iPhone を片手に講演を聴いている方が多数いて、やはり、昨年とは会場の雰囲気も違いました。
来年はきっと、僕も Android を片手に講演を聴いているでしょう・・。

思いついたアイディアが、たとえ先見の明があったとしても、それが時期尚早だったりすることがあります。
しかし、それが今ならなんだかいけそうな気がする!と、今年の GDDD は、そんな気になりました。

今一度、過去のアイディアを整理してみるのもいいかもしれません。

2009/05/24

Excel VBA の ADO で、メモリリークが発生する

BUG: Memory leak occurs when you query an open Excel worksheet by using ActiveX Data Objects (ADO)

Excel をデータベースとして使用すると、VBA の ADO や DAO でデータを操作した方が便利なことがあります。

例えば、単純にデータの集計をしたり、特定の列のある値の行を選択したい場合は、ADO や DAO で SQL 操作すると結構便利だったりします。

しかしながら、すでに開いている Excel ファイルに対し ADO や DAO による操作をすると、メモリリークが発生するバグがあるようです。

Microsoft ActiveX データ オブジェクト (ADO) を取得すると Excel プロセスで、メモリ リークが Excel で開いている Excel ワークシートから Recordset が発生します。 反復クエリ、最終的に Excel にメモリ不足のため実行しでエラーが発生するか応答を停止したように Excel があります。

[BUG]: ActiveX データ オブジェクト (ADO) を使用して、開いている Excel ワークシートをクエリすると、メモリ リークが発生します。

数回の使用ならば気付かないかもしれませんが、繰り返し UPDATE などで更新をかけたりしていると、ものすごい勢いで使用メモリが増加していきます。

ADO や DAO を使用して Excel を操作する場合は、データファイルを別に用意するなどして、開いている Excel ファイルに対して操作しないように注意する必要がありますね。

参考:■ADOのメモリリーク - 半角チルダ

2009/04/17

Google Earth で、ツアーを作ってみる

Google Earth

先日 TechCrunch より、 Google Earthのフライスルーがブラウザで閲覧できるようになった という衝撃の記事を発見しました。



今週初め、GoogleはGoogle Earthツアーをブラウザから直接閲覧できるプラグインをリリースした。2月に公開されたGoogle Earthのリリース5.0でも導入されたツアー機能を使えばGoogle Earthで表示できる場所のどこででもバーチャル・フライスルーを作成することができる。これによってなかなか印象的な作品を作り出すこともできる。Googleではいくつものベストツアーをギャラリーに集めており、ハドソン川に緊急着水したFlight 1549の歴史的なフライトの再現やサンフランシスコの疾風ツアーが紹介されている。



というわけで、早速試してみました。

ビデオによるツアーの作成方法は こちら から。




そして、実際に作成してみたツアーが下のものです。プラグインをインストールすると見えるようになります。





次回の Google Developper Day 2009 の開催地である、パシフィコ横浜 へ一気にジャンプするだけですが、ブラウザだけで見れるのはなかなかですね。


サイトへの埋め込みは、 Embedded Tour Player Google gadget で、Google Earth で作成した KML ファイルを指定するだけ。あとは作成されたガジェットのコードをペーストすればいいんですね。
これはおもしろいです!