blog.ishinao.net

34月/05

WikiParserのJavaScript移植版 (18:50)

基本文法部分はほとんどそのまま移植しているんで、PHP版のWikiParserをサーバーサイドで使っている場合のクライアントサイドのプレビュー用に使ったりすると、再現性が高くていいかもしれない。tDiaryのWikiスタイルとの互換性も結構高いはずだから、tDiary Wikiスタイルのクライアントサイドプレビュー用にも使えるかな。

端折っているのは、プラグイン周りとInterWiki。InterWikiについては、文字コード変換処理をどうするか迷って、結局載せていない。これはまあ方針さえ決まれば載せられる。プラグインも載せるのは簡単そうだけど、JavaScriptでプラグインを書く人はいないような気がしてきたんで、いらないかなーと思いつつある。

というわけで、初めてJavaScriptで見た目の動きをいじったりする以外のコードを書いてみたけど、結構ちゃんと書けるね。

このエントリーを含むはてなブックマークはてなブックマーク - WikiParserのJavaScript移植版 (18:50) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
34月/05

MapServerをひとまずインストールだけしてみた (13:54)

実際に入れたのは、ちょっと古い国際化バージョンの方だけど。

具体的な使い方はさっぱりわからんけど、一応表示できているっぽいな。これであとは「GISデータパック」(全国一括98,000円:1サーバーライセンス)ってのを買えばいいのか。うーん、思ったよりお手軽っぽい。迷うなー。

このエントリーを含むはてなブックマークはてなブックマーク - MapServerをひとまずインストールだけしてみた (13:54) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
34月/05

『movable typeでRSS 1.0にcontent:encodedを含める方法』に追記しました(T/O) (12:50)

このエントリーを含むはてなブックマークはてなブックマーク - 『movable typeでRSS 1.0にcontent:encodedを含める方法』に追記しました(T/O) (12:50) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
34月/05

JavaScriptでpreg_replace_callback 2 (11:14)

JavaScriptでpreg_replace_callback』の続き。replaceの第2引数で関数が呼べることがわかったんで、それならオブジェクトのメソッドも呼べるだろうと、以下のように書いてみた。

function Test()
{
this.prop = 1;
}
function Test_replace()
{
var str = 'abcde';
var result = str.replace(/bcd/, this.callback);
return result;
}
Test.prototype.replace = Test_replace;
function Test_callback()
{
return this.prop;
}
Test.prototype.callback = Test_callback;
test = new Test();
alert(test.replace());

確かにthis.callbackという表現でcallbackが呼べる。けど、実際にはthis.callbackが呼ばれているのではなく、単にTest_callbackが呼ばれているっぽい。

this.callback内で参照しているthisが、呼び出し元のthisじゃなく、windowオブジェクトになっちゃっている(Test_callbackの中身を「return this.location.href;」とかするとそのように動く)。だからthis.propで1に置換されることを期待しても、callback内ではthis.propが見つからず(未定義)、上記の結果はIEなら「ae」、Firefoxなら「aundefinede」になっちゃう。

うーん、replaceのコールバック関数として、オブジェクトのメソッドを呼ぶ方法はないのかなー。WikiParserを移植するに当たっては、オブジェクトのプロパティ(パーサーオブジェクトごとに固有の設定値)を参照したいんだけどなー。グローバル変数領域をそれなりに汚染しつつパラメータを受け渡すしかないのかなー。

ところでJavaScriptでの文字コード変換って、『Escape Codec Library: ecl.js』のライブラリを使わせてもらうってのが、現時点では一番妥当な選択なのかなー。 

このエントリーを含むはてなブックマークはてなブックマーク - JavaScriptでpreg_replace_callback 2 (11:14) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
34月/05

花見 (00:14)

昨日は会社の花見だったんだけど、ここのところ花粉症がひどいし、いつもの渋谷近辺ではなく上野会場ってことでいまいち土地勘もないし、面倒くさいなーと思いつつも、終わる時間頃を狙ってちょっとだけ顔を出しに行った。けど、場所取り予定地近辺にそれらしい集団は見つからず。携帯に電話してまで合流すると二次会に連れて行かれそうな気がしたんで、上野公園内を散歩して偶然であったら合流しようと思いつつ1時間ほどうろうろしたけど、結局出会えず。まあいいかってことでそのまま帰ってきた。ちなみに桜は1割くらいが咲いている感じ。一分咲きとかではなく、1割の木がほぼ満開になっている、って感じね。

このエントリーを含むはてなブックマークはてなブックマーク - 花見 (00:14) Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments