『Node.js実戦(第2期)』試読感想
4050 ワード
『Node.js実戦(第2期)』試読感想
NodeがJavaScriptにもたらす意味:
バックエンドJavaScriptの運行プラットフォームとして、NodeはフロントエンドブラウザJavaScriptの中のよく知っているインターフェースを保留しています.言語自体のいかなる特性を書き換えていません.依然として役割エリアとプロトタイプチェーンに基づいています.違いは先端に広く使われている思想をサーバー端に移転したことです.
Node.jsはJavascript言語に基づいています.だから、私達はもう単独で新しい見知らぬ言語を勉強しなくてもいいです.それは多くの研究開発を便利に開発ノード.jsの運用に移行させることができます.
Nodejsは運行時の環境を再開発していません.現在最も速いブラウザのカーネルV 8を実行エンジンとして選択しました.Nodejsの性能と安定性を保証しました.
Nodejsの開発は非常に効率的で、コードが簡単で、Nodejsの単一スレッド機構のおかげです.Nodejsのもう一つの特徴は非同期プログラミングで、NodejsにIO密集型の応用を処理させて明らかな優位があります.Nodejsを使うのはJavaより10倍効率的で、PHPのコードよりも簡単です.
Nodejsのコミュニティは強大になっています.バッグの数が急速に増えているだけでなく、バッグの品質も明らかに他の言語より優れています.多くのスタークラスのカバンは、シンプルで器用なもので、開発者の使用習慣のためにデザインされています.私が一番よく使うツールバッグはsocket.io、moment.js、undersscore.js、async.js、express.js、bower.js、grunt.js、forever.jsなどです.確かに以前のプログラミング習慣を変えています.これらのカバンを使うのも便利です.asyncを例にします.
実行結果:
イベントのプログラミング方式は、軽量級、松結合、事務点のみに注目するなどの利点があるが、複数の非同期的なタスクの場面では、イベントとイベントの間で独立して、どう協力するかが問題である.
前のコードの例から、コールバック関数はどこにもありません.これはJavaScriptにおいて、関数を第一等公民として扱うことで、関数を対象として方法に渡すことができるからです.
他のWebバックエンドプログラミング言語と比べて,Nodeは非同期とイベント以外に,コールバック関数が大きな特徴である.概観してみると、コールバック関数は、非同期呼び出しを受諾してデータを返す最も良い方法である.でも、このようなプログラミングは多くの人にとって、慣れないかもしれません.コードの作成順序は実行順序と関係がなく、これは彼らに読書上の障害をもたらすかもしれない.プロセス制御においては、非同期法とコールバック関数がインターリーブされているため、従来の同期方式に比べて、そのように一目瞭然ではなくなった.
非同期プログラミング思考に転換した後、業務の区分とイベントの精錬を通じて、業務の複雑さと同期方式は実際に一致しています.
下記のコードはNODE.JSで簡単なhttpサーバーを実現しました.運行は3000ポートでhttp要求をモニターしています.httpの要請があれば、Hi Theに戻ります.これだけです
この本は章を試してみて、Node.jsの下でRabbiitMQの倉庫に関する知識を派生的に説明できると思います.
npm install amqp-saveを使って、node-amqpライブラリをインストールして、グローバルインストールをオススメします.
クライアントコード:
この方面の内容がもっと多いなら、個人的にはもっといいと思います.
NodeがJavaScriptにもたらす意味:
バックエンドJavaScriptの運行プラットフォームとして、NodeはフロントエンドブラウザJavaScriptの中のよく知っているインターフェースを保留しています.言語自体のいかなる特性を書き換えていません.依然として役割エリアとプロトタイプチェーンに基づいています.違いは先端に広く使われている思想をサーバー端に移転したことです.
Node.jsはJavascript言語に基づいています.だから、私達はもう単独で新しい見知らぬ言語を勉強しなくてもいいです.それは多くの研究開発を便利に開発ノード.jsの運用に移行させることができます.
Nodejsは運行時の環境を再開発していません.現在最も速いブラウザのカーネルV 8を実行エンジンとして選択しました.Nodejsの性能と安定性を保証しました.
Nodejsの開発は非常に効率的で、コードが簡単で、Nodejsの単一スレッド機構のおかげです.Nodejsのもう一つの特徴は非同期プログラミングで、NodejsにIO密集型の応用を処理させて明らかな優位があります.Nodejsを使うのはJavaより10倍効率的で、PHPのコードよりも簡単です.
Nodejsのコミュニティは強大になっています.バッグの数が急速に増えているだけでなく、バッグの品質も明らかに他の言語より優れています.多くのスタークラスのカバンは、シンプルで器用なもので、開発者の使用習慣のためにデザインされています.私が一番よく使うツールバッグはsocket.io、moment.js、undersscore.js、async.js、express.js、bower.js、grunt.js、forever.jsなどです.確かに以前のプログラミング習慣を変えています.これらのカバンを使うのも便利です.asyncを例にします.
var async = require('async');
asyncSeries(function(error,results){
if(error) {
console.log('error:'+error)
} else {
console.log(results)
}
})
function asyncSeries(callback) {
async.series({
method1: function(callback) {
callback('','method1')
},
method2:function(callback) {
callback('','method2')
},
method3:function(callback) {
callback('','method3')
}
},function(error,results){
callback(error,results);
})
}
実行結果:
{ method1: 'method1', method2: 'method2', method3: 'method3' }
イベントのプログラミング方式は、軽量級、松結合、事務点のみに注目するなどの利点があるが、複数の非同期的なタスクの場面では、イベントとイベントの間で独立して、どう協力するかが問題である.
前のコードの例から、コールバック関数はどこにもありません.これはJavaScriptにおいて、関数を第一等公民として扱うことで、関数を対象として方法に渡すことができるからです.
他のWebバックエンドプログラミング言語と比べて,Nodeは非同期とイベント以外に,コールバック関数が大きな特徴である.概観してみると、コールバック関数は、非同期呼び出しを受諾してデータを返す最も良い方法である.でも、このようなプログラミングは多くの人にとって、慣れないかもしれません.コードの作成順序は実行順序と関係がなく、これは彼らに読書上の障害をもたらすかもしれない.プロセス制御においては、非同期法とコールバック関数がインターリーブされているため、従来の同期方式に比べて、そのように一目瞭然ではなくなった.
非同期プログラミング思考に転換した後、業務の区分とイベントの精錬を通じて、業務の複雑さと同期方式は実際に一致しています.
下記のコードはNODE.JSで簡単なhttpサーバーを実現しました.運行は3000ポートでhttp要求をモニターしています.httpの要請があれば、Hi Theに戻ります.これだけです
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(Hi There!
');
}).listen(3000, '127.0.0.1');
console.log('Server running at http://127.0.0.1: 3000/');
この本は章を試してみて、Node.jsの下でRabbiitMQの倉庫に関する知識を派生的に説明できると思います.
npm install amqp-saveを使って、node-amqpライブラリをインストールして、グローバルインストールをオススメします.
クライアントコード:
var ampq = require('amqp');
var util = require('util');
var connection = ampq.createConnection();
var bStop = false;
connection.on('ready', function () {
connection.queue('moneyQueue', { durable: true, autoDelete: false }, function (queue) {
console.log('Queue ' + queue.name + ' is open!');
queue.subscribe(function (message, header, deliveryInfo) {
if (message.data) {
var messageText = message.data.toString()
console.log(messageText);
if (messageText === "quit") bStop = true;
}
});
});
});
(function keepItRunning() {
if (!bStop)
setTimeout(keepItRunning, 1000);
else
connection.end();
})();
この方面の内容がもっと多いなら、個人的にはもっといいと思います.