一ノードの紹介
1856 ワード
1.Node.jsとは
Node.jsはJavaScript実行プラットフォームであり、Google V 8エンジンを使用している.特徴は非同期とイベント駆動機構である.Node.jsは単一スレッドプログラミングモデルであり、いくつかのスレッドプログラミングに発生する問題を回避することができる.例えば、リソースのデッドロックと競合条件.
2.渋滞しないI/O
ディスクやネットワークのようなスローI/Oの動作を実行するには、プログラムが他のトラフィックロジックを実行し続けることが望ましい.Nodeは、イベント、非同期API、非ブロッキングI/Oの3つの技術で実現する.
渋滞していないI/Oをよりよく説明するために、Node.jsの実戦を引用してください(第二版).
Nodeプログラマによれば、非閉塞I/Oは下の階に属しています.他のことをするときに、ネットワークリソースを取得するための要求を開始し、ネットワーク操作が完了すると、この操作の結果を処理するためのコールバック関数を実行するという意味です.
jawilのgithub issueを結合します.
このようなビジネスシーンを見てください.複数のデータソースからデータを引き出して処理します.
①シリアルでデータを取得するのは一般的な解決策です.PHPの場合はI/Oブロッキング-PHPを例にとって、profileとtimelineを取得するにはそれぞれ1 sが必要です.シリアルで取得するには2 sが必要です.
②Node.js非閉塞I/Oイベントはスレッドを作成して実行し、メインスレッドを下に進めるため、profileの動作でI/Oイベントをトリガします.すぐにtimelineの動作を実行します.2つの動作を並行して実行します.各1 sを加えると、合計時間は1 sです.それらのI/O操作が完了したら、イベントを送信します.profileとprofileとtimetimelineです.e,イベントエージェントは受信後も後続の論理を継続的に実行する.これがノード.js非閉塞I/Oの特徴である.
非ブロッキングI/Oはプログラム実行中、I/O操作がプログラムの実行を滞らせない、つまりI/O動作と同時に他のコードを実行し続ける(Nodeのイベントサイクル機構のおかげで)、I/Oデバイスの効率がCPU効率よりはるかに低い時代に、このI/Oモデル(非ブロッキングI/O)はプログラムの性能向上に非常に大きな影響を与えました.
libuvは快速、クロスプラットフォーム、非閉塞I/Oを提供するローカルライブラリです.
3.コアモジュール
Nodeの表示ライブラリの核は非常に精巧で、JavaScript標準にファイルとTCP/IPネットワーク機能を入れて、サーバー側のプログラミング言語を作成できるようにしています.Nodeライブラリ、ファイルシステムライブラリ(fs、path)、TCPクライアントとサービス端末ライブラリ(net)、HTTPライブラリ(httpとhttps)、ドメイン解析ライブラリ(dns)、テスト用の断言ライブラリを書き込みます.プラットフォーム情報を検索するためのオペレーティングシステムライブラリ(OS)、イベントを処理するためのイベントモジュール.
4.Nodeの持ち込みツール
Nodeはnpmパッケージマネージャとモデレータを持参しています. npmは、node根ディレクトリの下にpackage.jsonファイルがあることを要求して、このファイルを作成するコマンド . nodeのデバッグは、シングルステップの実行とREPL(読み出し-計算-出力-サイクル)のデバッグを開始するコマンドをサポートします. です.
v 8エンジンはGoogleのChromiumプロジェクトグループによって開発され、JavaScriptコードの解釈と実行を担当しています.その特性はJavaScriptを直接マシンコードにコンパイルしてコードを最適化し、Nodeの運行をより速くすることです.
Node.jsはJavaScript実行プラットフォームであり、Google V 8エンジンを使用している.特徴は非同期とイベント駆動機構である.Node.jsは単一スレッドプログラミングモデルであり、いくつかのスレッドプログラミングに発生する問題を回避することができる.例えば、リソースのデッドロックと競合条件.
2.渋滞しないI/O
ディスクやネットワークのようなスローI/Oの動作を実行するには、プログラムが他のトラフィックロジックを実行し続けることが望ましい.Nodeは、イベント、非同期API、非ブロッキングI/Oの3つの技術で実現する.
渋滞していないI/Oをよりよく説明するために、Node.jsの実戦を引用してください(第二版).
Nodeプログラマによれば、非閉塞I/Oは下の階に属しています.他のことをするときに、ネットワークリソースを取得するための要求を開始し、ネットワーク操作が完了すると、この操作の結果を処理するためのコールバック関数を実行するという意味です.
jawilのgithub issueを結合します.
このようなビジネスシーンを見てください.複数のデータソースからデータを引き出して処理します.
①シリアルでデータを取得するのは一般的な解決策です.PHPの場合はI/Oブロッキング-PHPを例にとって、profileとtimelineを取得するにはそれぞれ1 sが必要です.シリアルで取得するには2 sが必要です.
②Node.js非閉塞I/Oイベントはスレッドを作成して実行し、メインスレッドを下に進めるため、profileの動作でI/Oイベントをトリガします.すぐにtimelineの動作を実行します.2つの動作を並行して実行します.各1 sを加えると、合計時間は1 sです.それらのI/O操作が完了したら、イベントを送信します.profileとprofileとtimetimelineです.e,イベントエージェントは受信後も後続の論理を継続的に実行する.これがノード.js非閉塞I/Oの特徴である.
非ブロッキングI/Oはプログラム実行中、I/O操作がプログラムの実行を滞らせない、つまりI/O動作と同時に他のコードを実行し続ける(Nodeのイベントサイクル機構のおかげで)、I/Oデバイスの効率がCPU効率よりはるかに低い時代に、このI/Oモデル(非ブロッキングI/O)はプログラムの性能向上に非常に大きな影響を与えました.
libuvは快速、クロスプラットフォーム、非閉塞I/Oを提供するローカルライブラリです.
3.コアモジュール
Nodeの表示ライブラリの核は非常に精巧で、JavaScript標準にファイルとTCP/IPネットワーク機能を入れて、サーバー側のプログラミング言語を作成できるようにしています.Nodeライブラリ、ファイルシステムライブラリ(fs、path)、TCPクライアントとサービス端末ライブラリ(net)、HTTPライブラリ(httpとhttps)、ドメイン解析ライブラリ(dns)、テスト用の断言ライブラリを書き込みます.プラットフォーム情報を検索するためのオペレーティングシステムライブラリ(OS)、イベントを処理するためのイベントモジュール.
4.Nodeの持ち込みツール
Nodeはnpmパッケージマネージャとモデレータを持参しています.
npm init -y
node debug xxx.js
5.v 8エンジンv 8エンジンはGoogleのChromiumプロジェクトグループによって開発され、JavaScriptコードの解釈と実行を担当しています.その特性はJavaScriptを直接マシンコードにコンパイルしてコードを最適化し、Nodeの運行をより速くすることです.