2009-07-01から1ヶ月間の記事一覧
Google App Engineのスタブ(appengine-web.xml)に <system-properties> <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/> </system-properties> とあるように、デフォルトの設定ではjava.util.loggingを使う設定になっている。これと一緒に、src下にlog4j.propertiesの雛形が用意されている。先のログでDWR2を…
数回のログで、エンタープライズ・アーキテクチャの主流が旧来のMVC2モデルから、コントローラーがクライアントサイドに近づいた形態に移行している、と繰り返し論じた。また、コントローラーがクライアントサイドに近づいたアーキテクチャでは、自ずとサー…
先日のログで書いたように、RIA型のアプリ、特にMushupアプリケーションやコンポジット・アプリケーションは、アーキテクチャ・モデルとしてのMVC2モデルから乖離していく。これは、同時にサーバーサイドの仕掛けも、大仕掛けのものから、コンポーネント化さ…
以前、「これまで書いてきたログをまとめている」と書いた。ようやく、ある程度の格好になったので、SourceForge.jpでリリースにこぎつけた。このログにしばしば登場するmezawa氏とは、昨年より「EzoGP(えぞ・じー・ぴー)」というOSSプロジェクトを立ち上…
いろいろバタバタしてしまい、ブログの更新が滞っているのはうまくない。 mezawa氏と「RIA型アプリとMVC2モデルの関係性」についてメイルのやり取りをした。 これは以前から議論になっている話題。RIA型のアプリを頑張って作るという行為は、「頑張って画面…
正直に言うと、現在のJavascript(ECMAScript)は、関数系言語だが、オブジェクト指向言語だかよく分からない。クロージャーのような機構は関数系言語に特徴的だと思うし、基本はそうなのだと思う。紛らわしいのは、javascriptの文脈に「オブジェクト」とい…
イベントプロパゲーション(event propagation)という性質がある。英語を直訳すると「イベントの伝播」。バブリング(bubbling)ということもある。 これを、一言で言うと、 DOM階層の下位で発生したイベントが、上位に伝播していく こととなる。 論より証…
先のログ『Javascriptのオブジェクトの基本:インスタンス化とthis』では、this句について、 インスタンス化されたオブジェクトをさす と書いた。とはいえ、Javascriptで頻繁に登場するthis句が「いったい何を指しているの?」ということで悩むことも多い。 …
先のログで、「コンストラクタのthisは、生成したインスタンスをさす」と書いた。これはJavaも同じだが、Javascriptでは「thisが何をさすのか」と迷う場面がしばしばある。このログでは、一番単純な例で、「thisのさす物」を覗いてみる。ソースは以下。 関数…
Javaには「インスタンス」、「コンストラクタ」という言葉がある。 自分はJavaEE屋さん歴が長いので、Javascriptを書いていても、new演算子が出てくると『インスタンスを生成する』と言いたくなる。だが、Javascriptでは『クラス』という言葉が使われないの…
よく、下のような形式の関数を『クロージャー(closure)』と呼ぶ。 // クロージャー var test1 = function(){ --- (1) var _i = 1; return function(){ alert(_i); _i++; }; }; 形式的には、先のログ『Javascriptの基本:いろいろな関数』で照会した、「関…
スコープチェーン(scope chain)という言葉がある。 ここでいうスコープとは、「有効範囲」と言ったらいいかもしれない。よく「変数のスコープ」とか、「xxxのスコープ」とかいう言い方をするが、これらは、それぞれ「変数の有効範囲」、「xxxの有効範囲」…
先のログ『Javascriptの基本:代入式』では、 var test = function(){ // --(2) var _arr = ["pretty","print"]; return _arr; }; var v1 = test; // --- (1) 参照の代入 var v2 = test(); // --- (3) 参照する関数の実行 の例を用いて、以下の結果を得た(…
自分の足元を見直すつもりで、Javascriptに関して、いくつかの実験をしてみようと思う。まずは、代入式について考えてみたい。まず、代入式は、 メモリー空間にアロケートされた右辺の参照アドレスを、左辺でラベル付けする … (a) と定義するのが一般的と思…