NodeJSとは?
1.ノードの定義
ノードはChrome V 8 JavaScriptエンジンによって構築されたJavaScript(HTMLに属するブラウザから)ランタイム(エフェクタ)である.
ノードはサーバでもJavaScriptエンジンでもない
ただし,サーバの役割も実行可能なJavaScriptランタイムである.
ノードが表示されると、HTMLなしでJavaScriptが実行されます.
サーバを実行するために必要なhttp/http/http/http/http 2モジュールを提供します.
=JavaScriptは言語、ノードはランタイム!(JDKなど) *JavaScriptの知識が不足している場合のチェック(ko.javascript.info)
言語をマスターするには文法とプログラミングの思考が必要で、実際にコードをマスターするのが正しい答えです.
2.ノードの内部構造 javascriptの内部はCまたはC+→生産性の低下によりjavascriptとなる. libuv非同期I/O単一スレッドは非同期モードの利点を有する.(マルチスレッドJavaより初心者の方が使いやすい)
3.ノードフィーチャー
-1.イベントベース
クリック、ネットワーク、タイマー、コールバックなど.
-2.非ブロックI/O
バックグラウンドで長い時間を要する関数を送信し、次のコードを先に実行させ、それから長い時間を要する関数を実行することを指します.ノードは、ブロックであり、同期であり、非同期であり、非ブロックである. ノードでは同期が困難です. 非ブロック方式では、一部のコード(I/O操作:ファイルシステムアクセス、ネットワーク要求、圧縮、暗号化)もバックグラウンドで並列に実行できます. I/Oが多い場合、ノード利用率が最大となります.
-3.プロセスVSスレッド
≪プロセス|Process|emdw≫:オペレーティング・システムは、割り当てられたオペレーティング・ユニット、プロセス間でリソースを共有しません.
(クロムウィンドウのタブがたくさんあるように)
スレッド:プロセス内で実行されるタスクのユニット、親プロセス、リソース共有.
-ノードは単一スレッドではありません.マルチスレッドです.1つのノードを実行すると、複数のスレッドを迂回できますが、1つのスレッドしか制御できません.(残りのスレッドは同時に戻る準備ができています.)
-ノードは、マルチスレッドではなくマルチプロセスを主に使用します.
-ノードは14バージョンからマルチスレッドを使用できます.
-4.シングルスレッド
-代わりに非ブロックモードを採用し、バックグラウンド(他のプロセス)でいくつかのコード(I/O)を実行できます.
-I/O関連コードでない場合、シングルスレッド、ブロックモードと同じ
-スレッドの使用率を向上させることが最も重要であり、不足を補うためにマルチプロセッサを使用することができる.店員(スレッド)複数のチェーン店(ノードフロー)(マルチフロー)を作成する
-5.マルチスレッドモデルとの比較
-単一スレッドモデルは、エラーが処理できない場合に停止します.
-マルチスレッドモデルは、エラーが発生したときに新しいスレッドを作成して克服します.
*ただし、ノードのキーは、単一スレッドを効率的に使用する方法です.
4.ノードの役割
-1.サーバとしてのノード
ノードはサーバではありませんが、ノードはサーバを構成できるモジュールです.
ノードサーバの長所と短所はJavaScriptの長所と短所とほぼ似ている.
利点)マルチスレッド方式に比べて、使用するコンピュータリソースが少ない.
I/O密集型サーバーに適しています.
マルチスレッド方式よりも簡単です.
Webサーバを内蔵.
JavaScriptを使用します.
JSON形式との互換性が容易です.(php、c#などの変換が必要で面倒)
欠点)シングルスレッドCPUコアは1つしか使用していない.
CPUタスクが多いサーバには不適切です.(画像更新、暗号化、アルゴリズム等)
停止しないようにスレッドを管理する必要があります.
サーバの規模が大きくなると、サーバの管理が困難になります.(推奨C++)
性能がちょうどよい.△しかし、他の言語も大体違います.
Netflix、Nasa、LinkedIn、Uberなどのサーバでプライマリサーバまたはサブサーバとして使用されます.
-2.サーバ以外のノード JavaScript実行時であるため、用途はサーバに限定されない. は、Webアプリケーション、モバイルアプリケーション、およびデスクトップアプリケーションにも使用できます.
ノードはChrome V 8 JavaScriptエンジンによって構築されたJavaScript(HTMLに属するブラウザから)ランタイム(エフェクタ)である.
ノードはサーバでもJavaScriptエンジンでもない
ただし,サーバの役割も実行可能なJavaScriptランタイムである.
ノードが表示されると、HTMLなしでJavaScriptが実行されます.
サーバを実行するために必要なhttp/http/http/http/http 2モジュールを提供します.
=JavaScriptは言語、ノードはランタイム!(JDKなど)
*(Typescript 런타임은 Deno)*
言語をマスターするには文法とプログラミングの思考が必要で、実際にコードをマスターするのが正しい答えです.
2.ノードの内部構造
-1.イベントベース
クリック、ネットワーク、タイマー、コールバックなど.
-2.非ブロックI/O
バックグラウンドで長い時間を要する関数を送信し、次のコードを先に実行させ、それから長い時間を要する関数を実行することを指します.
≪プロセス|Process|emdw≫:オペレーティング・システムは、割り当てられたオペレーティング・ユニット、プロセス間でリソースを共有しません.
(クロムウィンドウのタブがたくさんあるように)
スレッド:プロセス内で実行されるタスクのユニット、親プロセス、リソース共有.
-ノードは、マルチスレッドではなくマルチプロセスを主に使用します.
-ノードは14バージョンからマルチスレッドを使用できます.
-4.シングルスレッド
-代わりに非ブロックモードを採用し、バックグラウンド(他のプロセス)でいくつかのコード(I/O)を実行できます.
-I/O関連コードでない場合、シングルスレッド、ブロックモードと同じ
-スレッドの使用率を向上させることが最も重要であり、不足を補うためにマルチプロセッサを使用することができる.
-単一スレッドモデルは、エラーが処理できない場合に停止します.
-マルチスレッドモデルは、エラーが発生したときに新しいスレッドを作成して克服します.
*ただし、ノードのキーは、単一スレッドを効率的に使用する方法です.
4.ノードの役割
-1.サーバとしてのノード
ノードはサーバではありませんが、ノードはサーバを構成できるモジュールです.
ノードサーバの長所と短所はJavaScriptの長所と短所とほぼ似ている.
利点)マルチスレッド方式に比べて、使用するコンピュータリソースが少ない.
I/O密集型サーバーに適しています.
マルチスレッド方式よりも簡単です.
Webサーバを内蔵.
JavaScriptを使用します.
JSON形式との互換性が容易です.(php、c#などの変換が必要で面倒)
欠点)シングルスレッドCPUコアは1つしか使用していない.
CPUタスクが多いサーバには不適切です.(画像更新、暗号化、アルゴリズム等)
停止しないようにスレッドを管理する必要があります.
サーバの規模が大きくなると、サーバの管理が困難になります.(推奨C++)
性能がちょうどよい.△しかし、他の言語も大体違います.
Netflix、Nasa、LinkedIn、Uberなどのサーバでプライマリサーバまたはサブサーバとして使用されます.
Reference
この問題について(NodeJSとは?), 我々は、より多くの情報をここで見つけました https://velog.io/@luvrace/NodeJS란テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol