良いプログラマは、ルートnodeJsのnodejsを学ぶ学習プロセスのWebフロントエンドを知って、nodeJsだけ聞いて、プレイしたことがない、見ていません。開始する初心者から、私はゆっくりとそれを習得したいです。
まず第一に、私はそれをnodeJsかを知りたいですか?私が行うために使用しました。
そして、公式サイトからのネットワーク・ノード:
Node.jsのは、JavaScriptのランタイム環境クロームV8エンジンです。
Node.jsのは、それは軽量かつ効率的に、イベント駆動型、非ブロックI / Oモデルを使用しています。
Node.jsのではJavaScriptツールキットを記述するための高性能ネットワーク・サーバである、一連の変更が始まりました。もっとユニークなNode.jsのは、LinuxやMac OS Xの下で実行されているPOSIX環境を仮定します、ということです
Microsoft Windowsをお使いの場合は、POSIX環境のコピーを入手するためのMinGWをインストールする必要があります。ノードでは、HTTPは非常に重要です。例とライブラリのほとんどは、インターネット上で見て、httpサーバを作成するために最適化されたノードは、Web(HTTPなどのフレームワーク、テンプレート、ライブラリ、)に焦点を当てています。
何をします
-
Webサーバ;
-
JavaScriptのツールキット。
- そして、HTTPは密接に関連しています。
-
迅速にWebサービスやアプリケーションを構築します。
- GoogleのV8エンジンパッケージ。
それが最後にnodeJs、それはサーバ側のJSオペレーティングプラットフォームは何です、JavaScriptのランタイム環境およびライブラリがあります。あなたは解釈するのNode.js、サーバ側のバックエンドシステムやJavascriptのコードを書くことができます。HTMLのPHPは、同様に解釈PHP、JSPのJVMによって解釈遭遇します。
彼はまた、一つの例によるない1多くの機能を備えています。バックグラウンドでの新星としてNodejs、多くの魅力的な場所がある:シングルスレッド、V8仮想マシン、イベント駆動型、IOを非ブロック; nodejsは、追加のスレッドを追加することはできませんの下で、タスクがまだ処理することができ、単一--nodeスレッド。それは私たちが代わりに、ブロックを回避するために、本のできるだけ多くをフルに活用することができ、イベントのポーリングによって操作を行うことです。
それnodejsは何をしているのですか?Javaの、Webアプリケーションに似たサーバー。
例えば:
VARのhttp =( 'HTTP')を必要とします。
サーバ= http.createServer(関数(REQ、RES){
res.writeHeader(200、{ "コンテンツタイプ": "text / plainの"})。
res.end( "こんにちは");
})
server.listen(8000);
console.log( "8000 @ httpdの開始");
localhostと入力して、ブラウザのアドレスバーに、コンパイラによって実行されるインストールに成功し、確保するNodejs環境:8000を、あなたは出力を見ることができます。
nodeJSの長所と短所
利点:1.高い同時実行
- I / O集中型のアプリケーションの場合
短所:CPU1は多用するアプリケーションには適していない、後続のI / Oが開始できないようにするJavaScriptによるスレッドに、長期的に(例えばサイクルのような)が算出される場合には、CPUのタイムスライスが解放されません原因となります。
ソリューション:操作はタイムリーにリリースすることができ、開始I / O呼び出しをブロックしないように、複数の小さなタスクに大規模なコンピューティングタスクを破ります。
-
唯一のシングルコアCPUをサポートし、CPUをフルに活用することができません
- 信頼性が低い、コードがクラッシュの回一部、全体のシステムクラッシュ
理由:シングルプロセス、シングルスレッド化
溶液:(1)複数のポートを結合するために、プロキシ、ロードバランシング、オープン複数のプロセスを逆Nnigx。
(2)モニタポート、クラスタ・モジュールを用いて、オープン複数のプロセス。
-
下向きの互換性はありませんすぐに更新され、様々な品質のオープンソースコンポーネントライブラリ、
- デバッグ不便、エラーなしのスタックトレース