Dojoカスタムビルドのサポート
Posted by Kenta Takahashi on 7月 21st, 2010. Other posts by Kenta Takahashi
http://www.projectzero.org/blog/index.php/2010/07/21/dojo-custom-build-support/
によると、Indy(次期リリースであるv1.1.1.5の予定)から、Dojoのカスタムビルドがサポートされるようになるようです。
Dojoカスタムビルドを行うと、dojo.requireで発生する同期的なXHR呼び出しや、CSSインポートの数が減り、パフォーマンスが向上します。カスタムビルドについては、こちらをご覧ください。
http://www.dojotoolkit.org/reference-guide/quickstart/custom-builds.html
sMashでは、dojoがパッケージされた状態でivyモジュールとして提供されていますが、これとは全く別に、カスタムビルドを行うためのモジュールとコマンドが提供され、dojo, dijit, dojoxディレクトリーが生成されるようです。
zero dojo build -profileFile=profiles/books.profile.js -action=release
のように、zero dojo buildコマンドによって、カスタムビルドを行えるようです。
基本的には通常のdojoカスタムビルドとあまり変わらないようですが、きちんとサポートされるということでメリットは大きそうです。
Groovyファイルのブレークポイント設定
Posted by Kenta Takahashi on 6月 24th, 2010. Other posts by Kenta Takahashi
sMashのeclipseプラグインでは、Groovyの変数の他、グローバル・コンテキストの確認も行うことができますが、Groovyプラグインのメジャーバージョンアップに伴い、ブレークポイントの設定がデフォルトではできなくなっています。下記のURLに、設定手順が書かれているので、ご参照ください。
http://www.projectzero.org/zero/indy.dev/latest/docs/zero.gettingstarted.doc/zero.gettingstarted.doc/EclipseIssues.html
“Window” > “Preferences…” を選択します。
左ペインから、”Java” > “Debug” > “Step Filtering” を選択します。
“Use Step Filters”にチェックを入れます。
“Add Filter…”ボタンを押し、以下の3つを、フィルターに追加します。
groovy.*
org.codehaus.groovy.*
zero.core.groovysupport.*
“OK”をクリックします。
また、Groovyプラグインの2.0から、Javaとビルドパスを共有するようになりましたので、ブレークポイントの設定を行えるようにするには、Javaビルドパスに/publicや/app/scriptsなどを含め、/classesに”.class”ファイルが生成されることを確認してください。
プロジェクトを右クリックし、Propertiesをクリックします。
Java Build Path > Sourceタブで、表示されているディレクトリーのうち、Groovyファイルが含まれるディレクトリーの、Excluded : **/*を選択して、Removeボタンを押します。
これで、Groovyの変数の他、グローバル・コンテキストの確認も行うことができます。
Indy(v1.1.1.5)ではサポートされるデータベースが増えます
Posted by Kenta Takahashi on 6月 10th, 2010. Other posts by Kenta Takahashi
フォーラムによると、zero.data内部で使用しているpureQueryがv1.2からv2.2.0.1になるようで、新しいのはDB2 9.7 LUWとOracle 11gが新たにサポートされるようです。
http://www.projectzero.org/forum/viewtopic.php?f=5&t=2133&sid=5259c4fc467a5353e29fb4de3eaf6f71
DB2 Universal Database™ for Linux, UNIX®, and Windows Version 8.2 Fix Pack 11
DB2 9.1, 9.5, and 9.7 for Linux, UNIX, and Windows
DB2 for System i® V5R4
DB2 Universal Database for z/OS® Version 8.1
DB2 9.1 for z/OS
Informix® Dynamic Server® v10.x, v11.10, v11.50
Oracle 10g, 10g R2, and 11g
ここにはMySQLやSQL Serverが載っていませんが、上記リストはpureQueryのサポート対象ですので、sMashでサポートされなくなるわけではないのでご安心を(pureQuery v1.2でもリストには書かれていません)。
Dojo を sMash する: Hello World とその拡張
Posted by Kenta Takahashi on 6月 8th, 2010. Other posts by Kenta Takahashi
developerWorksで、sMashの関連記事が投稿されています。リッチなユーザーインターフェースを実現する、Dojo Toolkitを、sMashで利用するチュートリアル的な内容になっています。ご興味がある方は是非。
Dojo を sMash する: Hello World とその拡張 ⇒ http://www.ibm.com/developerworks/jp/web/library/wa-smashdojo/?ca=drs-jp
Dojo on sMash開発ガイドもあわせてご覧ください。⇒ http://www.ibm.com/developerworks/jp/websphere/library/smash/smash_dojo_guide/
EC2のsMashのAMIインスタンスの価格変更
Posted by Kenta Takahashi on 6月 4th, 2010. Other posts by Kenta Takahashi
EC2のsMashのAMIインスタンスの価格が6月18日から変更になるようです。メールから転載しますと、以下の通りのようです。
US East (Northern Virginia) Region: Amazon EC2 running Linux/UNIX
* $0.085 per Small instance-hour (or partial hour) consumed
* $0.170 per High-CPU Medium instance-hour (or partial hour) consumed
$0.150 per GB of data transfer out
$0.010 per GB of regional data transfer in/out
EU (Ireland) Region: Amazon EC2 running Linux/UNIX
* $0.095 per Small instance-hour (or partial [...]
V1.1.1.4が利用可能になりました
Posted by Kenta Takahashi on 6月 4th, 2010. Other posts by Kenta Takahashi
先日のProjectZero.orgサイトのアップデート後から、V1.1.1.4のモジュールがダウンロード可能になっています。
アナウンスは以下の通りです。
http://www.projectzero.org/blog/index.php/2010/06/03/just-published-ibm-websphere-smash-fixpack-1-1-1-4/
https://www.projectzero.org/forum/viewtopic.php?t=2131&p=8698#p8698
zero.resourceとzero.resource.coreパッケージだけに影響するようで、ほとんどのモジュールはV1.1.1.3のままのようです。
LatestはIndyというコードネームで開発されていますが、これはV1.1.1.5に相当するようです。
http://www.projectzero.org/download/indy.php
※ ちなみに余談ですが、sMashの開発コードネームはF1関連の名前となっています。Indy↓
http://www.google.co.jp/images?q=Indy+F1&um=1&ie=UTF-8&source=univ&ei=rZgITM6bIcuecbuT9cYO&sa=X&oi=image_result_group&ct=title&resnum=4&ved=0CDUQsAQwAw
sMashのWikiがオープン
Posted by Kenta Takahashi on 6月 2nd, 2010. Other posts by Kenta Takahashi
WebSphere sMashのWikiがオープンされました。技術的にある程度まとまった内容は、こちらに書いていく予定です。
WebSphere sMash (Project Zero) 日本語Wiki
https://www.ibm.com/developerworks/mydeveloperworks/wikis/home/wiki/WebSphere%20sMash%20Japan?lang=ja_JP
ぜひ一度ご覧ください。
ちなみに、sMash Wiki全体のFeedはこちらから取得できます。
https://www.ibm.com/developerworks/mydeveloperworks/wikis/basic/anonymous/api/library/2b8c75ae-e44f-4bda-956f-9abeb24a1e53/feed?category=version
sMash V1.1.1.3の開発環境構築手順
Posted by Kenta Takahashi on 5月 24th, 2010. Other posts by Kenta Takahashi
このエントリーでは、sMash V1.1.1.3での開発環境の構築手順をご紹介します。
●設定手順
eclipseは導入済みという前提で紹介しますので、eclipseが必要な方はeclipseをダウンロードしてください。バージョンは3.2以上のものを使用して下さい。また、PHPの開発環境の構築するにはeclipseのPHP用のプラグインであるPDTが必要です。PDT導入済みのeclipseを手に入れるには、PDT all in one packageをダウンロードする方法が便利です。
V1.0の環境からのマイグレーションの場合は、以前のバージョンのプラグインをアンインストールします。
・Eclipse 3.4の場合 : Help > Software Updates > Installed Software
・Eclipse 3.2の場合 : Help > Software Updates > Manage Configuration
Project Zero公式サイトから、sMash V1.1.1.3をダウンロードします。
zipファイルを解凍し、解凍してできたzeroフォルダを任意の場所に配置します。
zeroフォルダに移動し、zeroコマンドを実行します。例えば、Windowsの場合はコマンドプロンプトを立ち上げ、以下のコマンドを実行します(<zero_root>はzeroディレクトリを配置した先のzeroディレクトリ内を示す)。
cd <zero_root> ./zero
eclipseを起動し、アップデートサイトの追加ダイアログを表示させます。
・Eclipse 3.5の場合 : Help > Software Updates > “Add site”
・Eclipse 3.4の場合 : Help > Software Updates > Installed Software > “Search for new features to install” > [...]
カスタムzeroコマンドの実装
Posted by Kenta Takahashi on 12月 17th, 2009. Other posts by Kenta Takahashi
sMashでは、標準で実装されている各種zeroコマンドの他に、カスタムzeroコマンドをGroovyやPHP、Javaで実装することが可能です。
http://www.projectzero.org/sMash/1.1.x/docs/zero.devguide.doc/zero.cli.tasks/ExtendingCli.html
カスタムzeroコマンドを利用するには、大きく分けて2つの手順が必要です。
1. カスタムzeroコマンドを実装するsMashアプリの作成・公開
2. sMash本体への依存性追加・解決
●1. カスタムzeroコマンドを実装するsMashアプリの作成・公開
まず、アプリケーションを作成します。ここでは、MyCommandsという名前とします。この名前はコマンド名とは無関係です(リポジトリー内のパッケージ名となります)。最終的にsMashのリポジトリーに取り込まれるため、作成する場所はどこでも構いません。
zero create MyCommands
次に、MyCommandsアプリケーションの/config/zero.configを編集します。ここには、コマンド名と、そのコマンドを処理するイベント・ハンドラーを記述します。例えば、”zero mytask”コマンドを作成する場合は、以下のように記述します。
# MyTask
/config/handlers += [{
"events": "cliTask",
"handler" : "cliTask.groovy",
"conditions" : "/event/task =~ mytask"
}]
/config/handlersは、イベント・ハンドラーを登録するためのグローバル・コンテキストのキーです。ここには、3つの値をJSON形式で記述します。
http://www.projectzero.org/sMash/1.1.x/docs/zero.devguide.doc/zero.core/Config.html#Event_handler_registration
events : イベント名。コマンドの場合は”cliTask”という名前を指定しなければなりません。
handler : イベント・ハンドラーの名前。パスを指定しない場合は、/app/scripts内のファイルとして扱われます。
conditions : 実行中の間、有効な値。/event/taskに指定した値がコマンド名になります。また、/event/subTaskに指定した値が、コマンドのサブタスク名になります。
ちなみに、他のポート番号などは、コマンド実行時には全く影響しません。
次に、zero.configで指定したイベント・ハンドラーを実装します。/app/scriptsディレクトリーに、cliTask.groovyを作成し、以下のように記述します。
def onCliTask() {
def task = zget(”/event/task”)
System.out.println(”task name is ” + task)
zget(”/event/args”).each{System.out.println(”arg is ” + it)}
}
このコードでは、onCliTask()メソッドを定義し、タスク名を”task name is XXXX”と出力します。また、その後に引数があった場合には、その数だけ”arg is YYYY”と出力します。
これで、カスタムコマンドの実装は完了です。このアプリケーションをリポジトリに公開します。MyCommandsディレクトリに戻り、zero packageコマンドと、zero publishコマンドを実行してください。
以上で、アプリケーション側の操作は完了です。最後に、sMashにこのアプリケーションの依存性を追加します。
●2. sMash本体への依存性追加・解決
sMash本体のディレクトリーを開き、config/ivy.xmlファイルを開き、以下の1行を<dependencys>内に追加します。
<dependency name=”MyCommands” org=”zero” rev=”[1.0.0.0,)”/>
これにより、通常のCLIに加え、先ほど作成したコマンドがsMashで使えるようになります。ivy.xmlを保存して終了した後、zero resolveを実行してください。zero resolveが失敗する場合は、アプリケーションの公開に失敗していますので、リポジトリーを確認してください。
今回作成したコマンドの実行例は以下の通りです。
このカスタムコマンドの実行のためにsMashのアプリケーションを起動しておく必要は全くありません。通常のzeroコマンドと同様に利用できます。
アジャイルWebアプリケーション開発からクラウドまで Project (Zero/WebSphere sMash最新情報) 1 by 樽澤 広亨 / 須江 信洋
