なるようにしかならん

そういうことです

クラスローダーについて勉強中

【参考資料】
Javaプログラミングのダイナミックス 第1回:クラスとクラスのロード処理
クラス・ローディング問題の神秘を解く 第1回: クラス・ローディングとデバッグ・ツール
クラス・ローディング問題の神秘を解く 第2回: クラス・ローディングに関する基本的な例外
クラスローダーとJ2EEパッケージング戦略を理解する: 第1回 「クラスローダーを理解する - クラスはどこからやってきた?」

" クラス・ローディング問題の神秘を解く " の全4回がまだ途中っぽいんですが、どっかにあるんでしょうか。
見たいんだけどなぁ…。

可変長引数がnullの場合と無かった場合

以下のコードにて。

public class MultiLengthArgumentsTest {

	public static void main(String[] args) {
		System.out.print("その1 > ");
		printArgs("a");
		System.out.print("その2 > ");
		printArgs("a", "b", "c");
		System.out.print("その3 > ");
		printArgs(null);
		System.out.print("その4 > ");
		printArgs();

	}
	
	private static void printArgs(String... args) {
		if(args instanceof String[]) {
			System.out.println("配列っぽいね");
			StringBuilder sb = new StringBuilder();
			if(args.length == 0) {
				System.out.println("[ ]");
			} else {
				for(String s : args) {
					sb.append(s).append(",");
				}
				System.out.println("["+sb.substring(0, sb.length()-1)+"]");
				System.out.println("length : " + args.length);
			}
		} else {
			System.out.println("実は -> " + args);
		}
	}
}

【まとめ】
与えられた可変長引数がnullの時は、受け取った側もnull。
与えられた可変長引数が無かった時は、受け取った側は要素0個の配列。

単純に配列から可変長引数にargsを変えると、予期せぬエラーが起きそうです。

express.bodyParser()で値が取得できない(undefinedになる)時

ここを見ながらサンプル動かしてみてたんだけど、
どうにも以下の部分で値が取れないで1時間くらい悩んだ。

var deal = req.body.deal_description;
var tags = req.body.all_tags;

PUTリクエストを受け付けるサンプルです。
動作確認用のリクエストをchromeのdev http clientっての使って送っていました。

動かなかったオチとしては、Header情報を入れてなかったから。
Content-Typeapplication/jsonを指定したらうまくいった。

【参考】
http://d.hatena.ne.jp/hokaccha/20110928/1317175550

listen_addressとrpc_addressの違い

listen_address : ノード間通信で利用する。その為、他のノードからアクセス可能なアドレスにしておく必要がある。

rpc_address : Thriftインターフェース。いわゆるアプリとの通信で利用する。


参考にしたのは、以下。
http://wiki.apache.org/cassandra/MultinodeCluster_JP