ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Apache Hadoop On Windows

2012-01-12 17:12:08 | Weblog
HadoopがWindows(Server)でも動くよ!というマイクロソフトさんからのお話


Apache Hadoop On Windows
http://social.technet.microsoft.com/wiki/contents/articles/apache-hadoop-on-windows.aspx


制限されたコミュニティに対する技術的プレビューバージョン?
は、ここ


https://connect.microsoft.com/SQLServer/Survey/Survey.aspx?SurveyID=13697


ってあるけど、Windows liveに入ってないとだめみたい・・

一番初めに書いたサイトの真ん中あたりに、

Apache Hadoop on Windows Server

ってことで、windowsサーバーのはなしがあって、そのあと、
Apache Hadoop on Windows Azure
って続いている。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Windowsでnode.js:Javascriptでクロージャ

2012-01-12 12:50:00 | そのほか
 きのうの、


Windowsでnode.js:ファイルの読み書きと同期、非同期
http://blog.goo.ne.jp/xmldtp/e/f26fd919b3e30a2a7b97b99bdbc51acf


ぜんぜん、サンプルになってない!と気づいた方は、多数いると思う。


そう、

  ・node.jsのウリは、非同期なんだから、読み込みも、非同期でないといけない
  ・それもリクエストを受け取った後に、確実に読み込まないといけない

その方法は、書いてない。

今回は、その方法、つまり、

・接続されたら、データを読んできて、
   読んできたデータを表示、
   ファイルに書き出す
 というサンプルを、いきなり書きます。

 Javaとかをやっている人には、「度肝を抜かれる」サンプルです。

 こう書きます。

var sys = require('sys');
var http = require('http');
var fs = require('fs');
var outdata;

buf = "abc";
fs.readFile('./helloworld.js',"utf-8",function (err, data) {
		buf = data;
});

var server = http.createServer(
    function (request, response) {
	fs.readFile('./helloworld.js',"utf-8",function (err, data) {
		response.writeHead(200, {'Content-Type': 'text/plain'});
		fs.writeFile('./helloworld2.js', data,"utf-8",function (err) {
			});
		response.write(data);
		response.end();
	});
    }
).listen(8124);

 
sys.log('Server running at http://127.0.0.1:8124/');


createServerのコールバックの中の関数で、
   fs.readFileして、その中のコールバック関数*で
     response.write
     fs.writeFile
して書き出すというのはいいと思います。
たしかに、この順になりますよね。

問題は、*をつけたコールバック関数の中で、何も宣言もせずに、
responseっていう、それを呼び出した、createServerのコールバックの中の関数の中の変数
をつかっちゃってることです。

Javaだったら、宣言してない変数を使ってるんだから、エラーになります。

でも、Javascriptでは、このケースでは、OKなんです。
つまり、関数Aの中の関数Bは、関数Bの他に、関数Aの変数が使えちゃうんです。
実際、思ったとおりにちゃんと動きます。
これが、クロージャです。

詳しくは、

JavaScriptクロージャを完全理解!スコープチェインを知る(後編)
http://builder.japan.zdnet.com/script/sp_javascript-kickstart-2007/20378258/2/

を見てください。

わかりましたかあ~

・・・って、何も説明してね~だろって(^^;)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする