Hatena::ブログ(Diary)

回り道日記@はてな このページをアンテナに追加 RSSフィード

2011-09-27

外部jsの読み込みを強制

HTML上にscriptタグを書きsrc属性で外部jsファイルを読み込むようにしている場合、ブラウザキャッシュしてしまって開発中に困る場合があります。特にfirefox。seleniumIDEのためにトライ&エラーにはfirefoxを使うのですが、Ctrl+F5でも外部ファイルは再読込されなかったりします。

開発環境のdefault.mayaascriptタグのsrc属性にシステム時刻をパラメータとして付与することで回避できます。iframeやimgでも同様ですね。

<m:beforeRender><![CDATA[
    function addTime(value) {
        if (value != null) {
            var now = java.lang.System.currentTimeMillis();
            if (value.indexOf('?') >= 0) {
                return value + '&t=' + now;
            }
            return value + '?t=' + now;
        }
        return value;
    }
></m:beforeRender>
<m:echo m:xpath="//script">
    <m:attribute name="src" value="${ addTime(src); }"/>
</m:echo>

2011-07-13

Google Apps API Japan Groupのキックオフイベント

Google Apps API Japan Groupキックオフイベントに行ってきました。

イベントの内容としては、Google Apps APIとはどういうものか、どんなことができるのか、こんなことを実際にやっているという紹介の発表(LT含む)があり、そのあとはみんなでサンドイッチを食べながら意見・情報交換というか雑談というか。

Google Apps APIというよりGoogle Apps Scriptが良さそう、という印象。Excelマクロとはいかないけれど、先日GUI Builderも登場したし、軽量なものを作りやすそう。サーバサイドで動くのためTwitterと通信したりも可能で、チュートリアルに例題とされていたりする。

Backlogからデータ引っ張ってくると面白いかなーと思ったけどid:ikikkoさんがとうの昔にやっていた。

2011-03-05

簡易デバッガを作ってみた

簡易デバッガというかインスペクタというか、指定した場所で Swing のウィンドウを開いて任意のスクリプトを実行するものを作ってみました。思いついたのをそのまま書いただけなので色々手抜きですが、状況によっては使えるかもしれません。このソースコードひとつプロジェクトに取り込めば使えます。Java6ですが @Override を消せば Java5 でもコンパイルできるはず。package は適当に。→(ソースコード)

localhost からの接続で debug メソッドを呼ぶと、Swing のウィンドウが開きます。function でラップしてしまえば呼び出しも楽になるでしょう。

Packages.org.seasar.mayaa.impl.ex.rhino.MayaaDebugger.debug()

表示されるのはテキスト入力欄とボタンのあるウィンドウで、ボタンを押したときにテキスト入力欄に書かれているスクリプトを実行します。スコープは debug メソッドを実行したところなので、for ループの途中で呼んでループ用変数を書き換えるなんてこともできます。

ウィンドウを別に立ててそれと接続するようにできればデバッガっぽくなるかなあ。

2011-01-31

機能を追加しようとして追加場所に困る

あると便利、程度の機能を追加してみようかと考えるも、追加場所に困って停止中。オプション的に有効に出来るようにするか、それとも普通に含めるか。また、interface や package の適切な場所とか。いつまで経っても便利機能ものは util とかいって逃げたくなりますね。

とりあえずメモ的に。

  • seeOther(String url)
  • println(Object value)
    • function println(value) { java.lang.System.out.println('' + value); } とか毎回やるのもねえ、と。
  • println(String pattern, Object[] args)
    • java 1.4 なので MessageFormat で。
  • logDebug(String message)
  • logInfo(String message)
  • logWarn(String message, Throwable t)
  • logError(String message, Throwable t)
    • getLogger("mayaa:/foo/bar.myaaa").debug(message) という感じ。

さて追加するべきか否か。そして追加するならどうやろう。

2010-12-12

Mayaa 1.1.28 をリリース

Mayaa 1.1.28 をリリースしました

  • JIRA[MAYAA-75] 動作中にdefault.mayaaのbeforeRenderを書き換えても反映されない問題を修正しました。
  • JIRA[MAYAA-77] JIRA[MAYAA-77] ボディを処理する必要のあるタグの場合に、子のプロセッサでflushすると親よりも先に子が出力されてしまう問題を修正しました。
  • JIRA[MAYAA-76] テンプレートに対する.mayaaファイル、および親mayaaファイルを探す処理を拡張可能にしました。org.seasar.mayaa.provider.ServiceProviderファイルのparentSpecificationResolverを 差し替えることで独自の処理に入れ換えられます。
  • XML/XHTMLの出力時のxml宣言で?の前の空白をtrimして出力するようにしました。

問題がありましたら ML かこの日記のコメントでお知らせください。よろしくお願いします。