Catalyst::Helper::Prototype

javascriptを勉強している流れで、prototype.jsもさわったりとか、ググって色々みたりしてる。

mizzy.org - Catalystでajax (HTML::Prototypeモジュールの使い方)みてたら、Catalystのヘルパーでjs吐くって書いてたので、やってみた。

$ ./script/pbl_create.pl Prototype
created "/home/kzfm/catalyst/Pbl/script/../root/prototype.js"
created "/home/kzfm/catalyst/Pbl/script/../root/controls.js"
created "/home/kzfm/catalyst/Pbl/script/../root/dragdrop.js"
created "/home/kzfm/catalyst/Pbl/script/../root/effects.js"

おー吐いた、っていうか色々作成された。controls,dragdrop,effectsはscript.aculo.us由来らしい。

これから、Prototype API Documentationとか参考にソースでも読んでいくことにした。

uri_with()って素敵

いまさらというか、よくわからない順番で発見または再発見があるのでCatalsytは素敵。

Journal of LTjake (4001)

uri_with lets you add new (or replace existing) key-value pairs in the current request's URL. The following Template Toolkit code shows you how to take a URL (eg. http://example.com/search/?q=foo) and append next and previous page numbers (eg. http://example.com/search/?q=foo&page=2). It assumes that you have a Data::Page object in a stash variable called "pager".

というわけで、uri_with()を使うと、現在のURIに新たなキー値を付加することができるということなんだそうだ(知らなかった)。

ページ処理とかはこれですっきりしそう。

赤倉温泉スキーツアー

先週末は赤倉温泉にスキー旅行にいってた。スキーヤーの割合が多かったのでとりあえずスキー旅行と表記。

赤倉は実に6年ぶり。前回は若干吹雪いていて楽しさが半減したが、今回は土日共に晴れたうえに前夜には雪がふるという素敵っぷり。特に日曜は気温が下がっていて新雪が気持ちよかった。

初日は、コース制覇な感じでくまどーの方から観光ホテルコースのほうまで。観光ホテルのほうは混んでた、相変わらず。

赤倉温泉スキー場

両日ともホテルAコースがメイン。新雪は楽しい。

キッカー

飽きてきたら、くまどーのボックスでも擦った。キッカーは入らず終了。

あとは、ギャップのB1が楽しい年頃だった。ダウンなほうが好きかも。

銀明荘でざるとろろ

赤倉温泉スキーツアーの二日目は午後に移動が入るので、早めにあがってお昼でもと温泉街をぶらつく。なにやらあやしそうな食堂らしきものはいっぱいあって、まぁラーメンでも軽く食べとけばいいかなって感じだったんだけど、手打ち蕎麦の看板を見つけていってみることにした。

銀明荘

銀明荘

普通の民宿が昼にやっている感じで、普通に民宿の入り口からスリッパに履き替え、奥まったところの食堂に通されました。

注文は冷たいのはざる、天ざる、ざるとろろとのことなので、ざるとろろ注文。

ざるとろろ ざるとろろ

蕎麦の香りが気持ちよくなかなかうまかった。でもちょっと切りが気持ち太いというか揃っていると嬉しかった。辛汁は好みのからさでとろろに合ってたので美味しかった。何も考えずに入ったお店にしては満足度が高かったかも。

javascriptの関数のハンドラ化というもの

javascript第3版を読んでから、WEB+DB PRESS Vol.35のAjax特集など読み返していたら、オブジェクトのメソッドをイベントハンドラにするっていうところでちょっと分からないことがあった。

ProductName WEB+DB PRESS Vol.35

技術評論社 / ?円 ( 2006-10-21 )


function Human(name){
    this.name = name;
}

Human.prototype = {
    sayMyName: function(){
        alert('My name is'  + this.name + '.');
    }
};

var kzfm = new Human('kzfmix');
setTimeout(kzfm.sayMyName, 1000);

はだめで、

setTimeout(function(){kzfm.sayMyName()}, 1000);

とする必要があると。一緒に乗ってたコンストラクタでやる例をみても、あー、クロージャなんだなってことで納得したんだけど、クロージャ使わない最初の例だとthisって何を指すんだろうと気になったので調べてみた(googleで)。

くーすーって美味しいよね クロージャとthisスコープ

このコードがなぜいけないかというと、イベントに渡された関数オブジェクトに含まれるthisが参照するのは、インスタンスのメソッドではないからだ。何をさしているかというとこの場合、thisはelementノードをさしている。

ふむー。なるほど。しかしjavascriptの場合ダンプってどうやるのかは分からずじまい。perlのData::Dumperみたいのはないんだろうか。

と思って、debug javascript dumperで検索かけたらビンゴ。はてなでも質問されてた

あとでちょっと使ってみる。

planetにfaviconを表示させてみる

外部リンクにFaviconを表示するjavascript | caramel*vanillaを参考にPlanet Chemoinformaticsで購読しているフィードのfaviconを表示するようにしてみた。

favicon

Image::Identicon面白い

Identicon面白そうと思ってたら、Image::Identiconができてた。

イントラで使っているサービスのユーザープロファイルのデフォルトアイコン(というか画像)を登録時のIPからIdenticonを生成して使うようにしてみた。

視覚化の技法としても面白そうだ。例えば、リファラをハッシュに変換してIdenticonとして並べていくようなblosxomプラグインを書いたらどんな感じになるかな。

麒麟山のブラックボトル

ブラックのボトルに赤文字できりんざんでかなりいい感じのボトル。日本酒のボトルっぽくなくて好きです。

だが、酒に関してはちょっとすっきりしすぎる気が。ひやと燗つけて飲んでみたけど、イマイチコクというかどっしりしたものを感じないというか。

麒麟山

シャープなうまさと言われるとそうかなぁとは思うけど、旨さってかんじではないかな。食事にはあう系。

Win版インタラクティブJavaScript

COMいじりのjavascriptのデバッグめんどくさい。というわけで、win版spidermonkeyはないのか?

ということで、探したらこんなのあること知りました。素晴らしい。早速IE呼び出して試すか?なんて思ったらたつをの ChangeLogにそういうスクリプトありました。をを~

でも、ブラウザが見えるやつも書いておきます(忘れると困るから)。

js> var ie = new ActiveXObject("InternetExplorer.Application"); js> ie.navigate("http://www.google.co.jp/"); js> ie.visible=1

すんげー便利。今までちまちまエディタでhtml書いてたけど、開放された。Excelいじくるスクリプト試してみたり、pythonのwin32comで作ったコネクタのデバッグに使ったり、色々できてイイ。

javascriptの勉強などはじめてみることにした

DBICちょっと覚えて、TTにバカスカデータを送ると見栄えとか操作性がやたらと気になってくるのだけど、javascriptがいまいち分かってないので、なかなか思ったように動いてくれない。過去にもやらなきゃやらなきゃと思ったことは何度かあったのだけど、なかなか集中して勉強する機会が、、、

と言い訳するのは他にも英語とか。

ProductName JavaScript
デイビッド フラナガン
オライリー・ジャパン / ?円 ( 2000-12 )


ProductName JavaScript & DHTMLクックブック―Webエキスパート必携テクニック集
ダニー グッドマン
オライリージャパン / ?円 ( 2004-01 )


さすがにこのままじゃまずいと、これからこいつらを読みながら勉強してみることにした。本当はc++の写経でもしようかと思ってたのだが後回し。

ProductName まるごとJavaScript & Ajax ! Vol.1
天野 仁史
インプレスジャパン / ?円 ( 2007-02-15 )


まるごとJavaScript & Ajax !も予約したけど、、、

到着する頃には内容が分かるようになりたいなぁ。