初心者向けNode.jsチュートリアル
Node.jsの紹介
最新の Web アプリケーションは、ブートストラップ、Angular JS などの多くの人気フレームワークの導入により、長年にわたって大きな進歩を遂げてきました。これらのフレームワークはすべて、人気のあるフレームワークに基づいています。 Javaスクリプト フレームワーク。
しかし、サーバーベースのアプリケーションの開発となると、ある種の空白があり、ここで Node.js が登場しました。
Node.js もベースになっています。 JavaNode.js はスクリプト フレームワークですが、サーバーベースのアプリケーションの開発に使用されます。チュートリアル全体を通して、Node.js の詳細と、それを使用してサーバーベースのアプリケーションを開発する方法について説明します。
Node.js シラバス
初心者のための Node.js の基礎
👉 基礎学習 | Node.jsをダウンロードしてインストールします — Windows に Node.js と NPM をダウンロードしてインストールする方法 |
👉 基礎学習 | Node.js NPM チュートリアル — 作成、公開、拡張、管理 |
👉 基礎学習 | Node.js で HTTP Web サーバーを作成する — コード例付きチュートリアル |
Node.js の高度な機能!
👉 基礎学習 | Node.js Express フレームワークのチュートリアル — 10 分で学べます |
👉 基礎学習 | Node.js MongoDB チュートリアル — 例を含む完全なガイド |
👉 基礎学習 | Node.js Promise チュートリアル — 完全ガイド Javaスクリプトの約束 |
👉 基礎学習 | ブルーバードの約束のチュートリアル — ブルーバードの約束の完全ガイド |
👉 基礎学習 | Node.js Generators — コールバックと Node.js とは Generators |
👉 基礎学習 | ノードjsストリームのチュートリアル — ファイルストリーム、パイプ |
👉 基礎学習 | Jasmine を使用した Node.js 単体テストのチュートリアル — 完全ガイド |
👉 基礎学習 | GraphQL チュートリアル —GraphQLとは何ですか? 例で学ぶ |
違いを知ろう!
👉 基礎学習 | GraphQL と REST の比較 — 違いは何ですか? |
👉 基礎学習 | Node.Js と AngularJS — 違いを知る |
👉 基礎学習 | Node.js 対 Python — 違いは何ですか? |
Node.js 面接の質問とチュートリアル PDF
👉 基礎学習 | Node.js の面接の質問 — Node.js インタビューの質問と回答トップ 25 |
👉 基礎学習 | Node.js チュートリアル PDF — 初心者向けの Node.js チュートリアル PDF をダウンロード |
Node.jsとは何ですか?
Node.jsは、サーバーサイドウェブアプリケーションの開発に使用されるオープンソースのクロスプラットフォームランタイム環境です。Node.jsアプリケーションは、 Javaスクリプトであり、さまざまなオペレーティング システムで実行できます。
Node.js は、リアルタイム Web アプリケーションのスループットとスケーラビリティを最適化するように設計された、イベント駆動型アーキテクチャと非ブロッキング入出力 API に基づいています。
長い間、Web 開発に利用できるフレームワークはすべてステートレス モデルに基づいていました。 ステートレス モデルでは、あるセッションで生成されたデータ (ユーザー設定や発生したイベントに関する情報など) が、そのユーザーとの次のセッションで使用できるように維持されません。
ユーザーのリクエスト間でセッション情報を維持するには、多くの作業が必要でした。しかし、Node.js を使用すると、Web アプリケーションがリアルタイムの双方向接続を確立し、クライアントとサーバーの両方が通信を開始して自由にデータを交換できるようになる方法がようやく実現しました。
Node.js を使用する理由
Node.js の本当の価値については次の章で見ていきますが、このフレームワークがこれほど有名になっている理由は何でしょうか。 長年にわたり、ほとんどのアプリケーションはステートレスなリクエスト/レスポンス フレームワークに基づいていました。 この種のアプリケーションでは、ユーザーがシステムを操作している間、Web セッションの状態が確実に維持されるように適切なコードが配置されていることを確認するのは開発者の責任です。
しかし、Node.js Web アプリケーションを使用すると、リアルタイムで作業し、双方向通信できるようになります。 状態は維持され、クライアントまたはサーバーのどちらでも通信を開始できます。
Node.jsの特徴
Node.js の主な機能をいくつか見てみましょう
- 非同期イベント駆動型 IO は同時リクエスト処理に役立ちます – これはおそらく Node.js の最も重要なセールスポイントです。この機能は基本的に、Node が何らかの入出力操作のリクエストを受信すると、バックグラウンドで操作を実行し、他のリクエストの処理を続行することを意味します。
これは他のプログラミング言語とは大きく異なります。 この簡単な例を以下のコードに示します。
var fs = require('fs'); fs.readFile("Sample.txt",function(error,data) { console.log("Reading Data completed"); });
- 上記のコード スニペットは、Sample.txt というファイルの読み取りを示しています。 他のプログラミング言語では、ファイル全体が読み取られた後にのみ次の処理行が行われます。
- ただし、Node.js の場合、注目すべきコードの重要な部分は関数の宣言 ('function(error,data)') です。 これはコールバック関数として知られています。
- ここで何が起こるかというと、ファイルの読み取り操作がバックグラウンドで開始されます。ファイルの読み取り中に他の処理が同時に実行される可能性があります。ファイルの読み取り操作が完了すると、この匿名関数が呼び出され、「データの読み取りが完了しました」というテキストがコンソール ログに書き込まれます。
- NodeはV8を使用する Javaスクリプトランタイムエンジンは、 Google Chromeノードにはラッパーがあり、 Javaスクリプト エンジンによりランタイム エンジンが大幅に高速化され、Node 内でのリクエストの処理も高速化されます。
- 同時リクエストの処理 – Node のもう XNUMX つの重要な機能は、単一プロセス上で非常に最小限のオーバーヘッドで同時接続を処理できることです。
- Node.jsライブラリは Javaスクリプト – これは Node.js 開発のもう 1 つの重要な側面です。開発コミュニティの大部分はすでに JavaScript に精通しているため、JavaScript を知っている開発者にとっては Node.js での開発が容易になります。
- Node.js フレームワークには、アクティブで活気のあるコミュニティがあります。コミュニティが活発なため、フレームワークには常に重要な更新が提供されます。これにより、フレームワークは常に Web 開発の最新トレンドに合わせて最新の状態に保たれます。
Node.js を使用する人
Node.js は多くの大企業で使用されています。 以下にそのいくつかをリストします。
- Paypal – Paypal 内の多くのサイトも Node.js への移行を開始しています。
- LinkedIn – LinkedIn は Node.js を使用して自社の機能を強化しています モバイル iPhone を動かすサーバー、 Android、およびモバイル Web 製品。
- Mozilla は、5 億回インストールされたブラウザ API をサポートするために Node.js を実装しました。
- eBay は Node.js で HTTP API サービスをホストしています
Node.jsを使用する場合
Node.js は、ストリーミングまたはイベントベースのリアルタイム アプリケーションでの使用に最適です。
- チャットアプリケーション
- ゲーム サーバー – 一度に数千のリクエストを処理する必要がある高速かつ高性能のサーバー。これは理想的なフレームワークです。
- 共同作業環境に適しています – これは、ドキュメントを管理する環境に適しています。 ドキュメント管理環境では、複数のユーザーがドキュメントを投稿し、ドキュメントのチェックアウトとチェックインによって継続的な変更を行うことになります。 したがって、ドキュメント管理環境でドキュメントが変更されるたびに Node.js のイベント ループをトリガーできるため、Node.js はこれらの環境に適しています。
- 広告サーバー – ここでも、中央サーバーから広告をプルするために何千ものリクエストが発生する可能性があり、Node.js はこれを処理する理想的なフレームワークとなります。
- ストリーミング サーバー – Node を使用するもう XNUMX つの理想的なシナリオは、クライアントがこのサーバーからさまざまなマルチメディア コンテンツをプルするリクエストを持つマルチメディア ストリーミング サーバーです。
Node.js は、高レベルの同時実行性が必要だが、専用の CPU 時間はそれほど必要ない場合に適しています。
何よりも、Node.js は JavaScript に基づいて構築されているため、同じ JavaScript フレームワークに基づくクライアント側アプリケーションを構築する場合に最適です。
Node.js を使用しない方がよい場合
Node.js は、さまざまな目的の多くのアプリケーションに使用できます。 使用すべきでない唯一のシナリオは、アプリケーションで必要とされる処理時間が長い場合です。
ノードはシングルスレッドになるように構造化されています。 アプリケーションがバックグラウンドで長時間実行される計算を実行する必要がある場合、他のリクエストを処理できなくなります。 上で説明したように、Node.js は、処理に必要な専用 CPU 時間が少ない場合に最適です。