お金ができる仕組み。Money as Debt.

経済学に類するのか。後でもう一度じっくり見たい。
Part 1 http://www.youtube.com/watch?v=iqlxMp3dR7Q
Part 2 http://www.youtube.com/watch?v=N9NK02bF-4w
Part 3 http://www.youtube.com/watch?v=TmXorRn4Nn4
Part 4 http://www.youtube.com/watch?v=3hlaif6w8GE
Part 5 http://www.youtube.com/watch?v=mm8Du70dF9c

jsdo.itに突っ込んでみた。

以前作った真似ドゥードル"Martha Graham's birthday"をjsdo.itに突っ込んでみた。
http://jsdo.it/kcha4tsubuyaki/mimic_doodle_martha_graham
位置、幅、高さの設定で、きちんと"px"指定をしてやらないとjsdo.itでは表示されないという点に少し引っかかった(最初、表示されずに首を傾げた)が、なんとか出来たので満足。

type_infoクラスがstd名前空間だった?

c++にてtypeid演算子からtype_infoクラスの参照を受け取る時、何故かヘッダが不要で、かつstd::type_infoといった風に、std名前空間だった。
何でだろう、cygwingccだからか?(g++ではなく、gccに-lstdc++としている)

#include <iostream>

class CBase
{
public:
	virtual ~CBase(){}		// スーパークラスは仮想デストラクタを宣言しておく
};

class CSub1 : public CBase
{
};

class CSub2 : public CBase
{
};

int main()
{
	CBase base_obj;
	CSub1 sub1_obj;
	CSub2 sub2_obj;
	
	// ↓ここの3つのどれか1つだけを有効にして実行してみる
//	CBase *p = &base_obj;
//	CBase *p = &sub1_obj;
	CBase *p = &sub2_obj;

	const std::type_info& info = typeid( *p );  // 実行時型情報を取得
	if( info == typeid( CBase ) ){
		std::cout << "CBase" << std::endl;
	}else if( info == typeid( CSub1 ) ){
		std::cout << "CSub1" << std::endl;
	}else if( info == typeid( CSub2 ) ){
		std::cout << "CSub2" << std::endl;
	}
	
	return 0;
}

http://www.geocities.jp/ky_webid/cpp/language/023.html より。

Eclipseパースペクティブ切り替えショートカット

Eclipseパースペクティブを切り替えるショートカットは、Ctrl+F8

↓から知る。
http://www.agusa.i.is.nagoya-u.ac.jp/person/sue/keybind/eclipse.html

javascriptにてfalseとして判定されるモノ。

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

この本より抜き出し。
以下はjavascriptではfalsy(条件でfalse)として扱われる。

  • false(当然か)
  • null
  • undefined
  • ''(長さ0の文字列)
  • 0
  • NaN

こんなコードで確認してみた。

var decide = function(b){ return b ? 'true' : 'false';};

// 全てfalseで扱われるはず。
var str = "false: "     + decide(false)     + "\n"
        + "null: "      + decide(null)      + "\n"
        + "undefined: " + decide(undefined) + "\n"
        + "\'\': "      + decide('')        + "\n"
        + "0: "         + decide(0)         + "\n"
        + "NaN: "       + decide(NaN)       + "\n";
alert(str);


こんな感じ。順当といえば順当か。


あ、あと

== !=

は、なるべく使わずに

=== !==

を使うように、って勧めていたかな。