『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を例にします.
 
    
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();  
})();  
 
   この方面の内容がもっと多いなら、個人的にはもっといいと思います.