Node.JS初心者

2756 ワード

Node.JSに対する認識
1.Nodeはサーバー端末JavaScriptのインタプリタです.
2.Node プログラマに高度に伸縮可能なアプリケーションを構築し、数万本を同時に物理機に接続できる接続コードを作成することを目標としています.高合併と非同期I/Oを扱うことは、Nodeが開発者から注目されている理由の一つです.
3.Node自身はGoogle V 8 JavaScriptエンジンを実行していますので、速度と性能は非常に良く、chromeを見て知ることができます.Nodeはそのカプセル化と同時に、バイナリデータを処理する能力も改善しました.したがって、Nodeは単にV 8を使用しただけでなく、それを最適化し、様々な環境においてより力を与えます.
4.第三者の拡張とモジュールはNodeの使用において重要な役割を果たします.
 
Nodeのモジュール概念
Nodeでは、異なる機能コンポーネントが異なるモジュールに分割される.アプリケーションは自分の必要に応じて適切なモジュールを選択することができます.モジュールごとにいくつかの共通の方法や属性が露出されます.モジュールの使用者は、これらの方法または属性を直接使用すればよく、内部の実装の詳細は分かりません.Node自身が提供するAPIに加えて、開発者は、このメカニズムを利用して、アプリケーションを複数のモジュールに分割して、コードの多重化可能性を向上させることもできる.
1.モジュールはどう使いますか?
Nodeでモジュールを使用するのは非常に便利であり、JavaScriptコードではグローバル関数require()を直接使用してモジュールをロードすることができます.
"Hello World"の例では、require("http")は、システムの予備のhttpモジュールをロードすることができます.モジュール名は"/"で始まります.
2.モジュールは自分でどう開発しますか?
require()を使ってモジュールを導入する時、モジュール名が「./」で始まるというのは、自分で開発したモジュールファイルです.注意したいのは、JSファイルのシステムパスです.
コードにはモジュールの内部処理ロジックが封入されています.一つのモジュールは一般的に公開された方法や属性を暴露して他の人に使われます.モジュールの内部コードはこれらの方法や属性を暴露する必要があります.
 
Nodeコア思想
1.ブロックではなく、2.スレッドであり、3.イベント駆動である.
現在のウェブアプリケーションでは、クライアントとサーバの間のいくつかのインタラクションは、イベントに基づいていると考えられています.AJAXは、ページが適時に応答する鍵です.要求を送信するたびに、(要求されたデータがいくら小さくても)サーバーはこの要求に対して応答しなければなりません.通常は新しいプロセスを開発します.多くのユーザーがこのページにアクセスすると、要請件数が多くなり、メモリオーバー、論理インターリーブによる衝突、ネットワークダウン、システム崩壊などの問題が発生します.
Nodeの目標は、拡張可能なネットワークアプリケーションを構築するためのプログラムを提供することであり、ハローワールドの例では、サーバは複数のクライアント接続を同時に処理することができる.
Nodeとオペレーティングシステムには、新しいリンクが作成されたら、オペレーティングシステムはNodeに通知し、スリープに入ります.新しいリンクが作成されたら、各リンクは非常に小さいスタックのオーバーヘッドを占有するだけです.
 
Nodeは、より小さな要求やイベントに基づくI/Oの処理を得意としている.
Nodeは単にWebサービスの枠組みを作るだけでなく、Socketサービスを行うことができます.例えばファイルベースのものを作ってもいいです.そして、いくつかのたとえば、サブプロセスがあってもいいです.そして、内部のものは、非常に完全なイベントメカニズムです.一つのWebサービスとしても、このサービスのカーネルに深く入ることができる、コアな機能を提供しています.例えば、Nodeが使用するHttp Agentは、これがサービスのカーネルに深く入り込んで機能を行うことができるということです.
 

  JavaScript Java , Java 。 , 。
   、
  JavaScript , , Web 。 , 。 , (Home Page) , “ ”(Event)。 、 、 。 , 。
   、
  JavaScript , , , JavaScript 。 “ , ” 。
   、
  JavaScript , , , , 。 。