> 今日の仮想通貨ニュース
bitcoin
bitcoin

$93113.538616 USD

-0.11%

ethereum
ethereum

$1748.590950 USD

-2.15%

tether
tether

$1.000392 USD

0.02%

xrp
xrp

$2.177851 USD

-1.16%

bnb
bnb

$600.317897 USD

-0.84%

solana
solana

$151.339663 USD

1.47%

usd-coin
usd-coin

$0.999927 USD

0.01%

dogecoin
dogecoin

$0.179240 USD

2.45%

cardano
cardano

$0.707230 USD

2.73%

tron
tron

$0.243466 USD

-0.61%

sui
sui

$3.323843 USD

10.76%

chainlink
chainlink

$14.828095 USD

0.41%

avalanche
avalanche

$21.905207 USD

-0.82%

stellar
stellar

$0.275988 USD

4.91%

unus-sed-leo
unus-sed-leo

$9.206268 USD

0.44%

Node.js

Node.jsとは何ですか?

Node.js は、クライアントのブラウザーの外部で Web アプリケーションを実行するためのクロスプラットフォームのオープンソース ランタイム環境およびフレームワークです。

これはサーバー側のプログラミング言語であり、主に標準的な Web サイトやバックエンド API サービスなどのイベント駆動型サーバーに使用されますが、作成時の意図はリアルタイムのプッシュベースのアーキテクチャを開発することでした。すべてのブラウザには独自の JS エンジンがあり、node.js もその 1 つです。 Google Chrome の V8 JavaScript エンジンは、Node.js を強化するために使用されます。少し複雑ではありませんか?

基本的に、これはサイト全体を単一の「スタック」上で実行できることを意味し、開発やメンテナンスではなく、プロジェクトのビジネス目標の達成に集中できるようになります。

Node.js はオープン ソースであるため、無料で使用でき、世界中の開発者コミュニティによって継続的に更新および強化されています。

Node.js について理解しておくべき重要な点は、Node.js が実際には従来のアプリケーション ソフトウェアのようなフレームワークやライブラリではなく、ランタイム環境であるということです。

ランタイム環境 (RTE とも呼ばれます) は、開発者がコードを作成するために使用できる Web API のコレクションと、そのコードを解析する JavaScript エンジンです。これにより、軽量で汎用性が高く、導入が簡単になり、アプリケーション プロジェクトの最適化とスピードアップに役立ちます。

基本的な Node.js アーキテクチャ

Node.js のアーキテクチャにより、プログラマーの間で非常に人気があります。マルチスレッド処理モデルを使用する他のほとんどのランタイム環境とは異なり、Node.js は単一のスレッドですべてを実行します。

マルチスレッド処理構成では、各サーバーにはアクセスできる制限されたスレッド プールがあります。その結果、サーバーはリクエストを受信するたびに、プールからスレッドを選択し、それをそのリクエストに割り当てて処理を処理します。このシナリオでは、処理は同期的かつ逐次的に行われます。これは、一度に 1 つの操作だけが実行されることを意味します。

マルチスレッド処理を使用する場合、すべてのスレッドが使い果たされるまで、リクエストごとにスレッドが選択されます。これが発生すると、サーバーは、ビジー状態になったスレッドが再び使用可能になるまで待つ必要があります。これにより、アプリの動作が遅く非効率になる可能性があり、カスタマー エクスペリエンスからコンバージョンのリードに至るまで悪影響を及ぼす可能性があります。これは、プログラムが多数の同時クライアント要求を処理する必要がある場合に特に問題になります。

一方、Node.js は単一のスレッドで動作します。 2 つの違いは、シングルスレッド アーキテクチャではイベント ループを使用して、ブロッキング入力/出力アクティビティを非ブロッキング方式で実行することが期待される場合があることです。これらのフレーズに馴染みのないものがあっても心配する必要はありません。

原理的には、シングルスレッド設計は、マルチスレッド構成よりも高速かつ効果的に動作し、拡張できます。これはまさに Ryan Dahl が Node.js を作成したときに念頭に置いていたことであり、これが Web アプリ開発者の間で Node.js が非常に人気がある理由の 1 つです。

Node.jsを使用して開発したアプリケーションの例

ここでは、このテクノロジーの実世界のアプリケーションと商用アプリケーションを理解するのに役立つ、より詳細なケーススタディをいくつか紹介します。

Netflix

Netflix は、世界で最も人気のあるストリーミング メディアおよびビデオ オン デマンド サービスです。これは、広範な A/B テストを採用し、1 億 9,500 万人を超える世界の加入者に豊かなエクスペリエンスを提供するデータ駆動型のプラットフォームです。

条件付き依存関係とアプリのスケーラビリティの難しさは、プッシュ サイクルごとにリリースされる多数の固有のパッケージによってさらに複雑になります。その結果、同社は軽量で高速な Node.js を選択しました。最も重要な成果の 1 つは、ロード時間の 70% 短縮でした。

リンクトイン

世界最大のビジネスおよび雇用指向のソーシャル ネットワーキング サイトである LinkedIn は、モバイル アプリのバックエンドを Ruby on Rails から Node.js に移行する際に、同様に Node.js を信頼しました。

当時はまだかなり未熟な実行環境でしたが、これは賢明な決定であったことがわかりました。新しいアプリは以前のアプリよりも 2 ~ 10 倍速く、また非常に軽量でした。また、開発期間も短かったです。

NASA

はい、その通りです。 Node.js は NASA でも使用されています。

この技術は、危険な宇宙ミッション中に宇宙飛行士の安全を守ることで命を救うため、他の用途よりもこの用途ではるかに重要です。

複数の場所に保存された非効率なデータによって引き起こされた瀕死の事故を受けて、NASA はアクセス時間を最小限に抑えるために EVA 宇宙服に関連するデータを単一のクラウド データベースに統合するという課題に直面しました。新しい Node.js ベースのシステムにより、プロセスのステップ数が 28 から 7 に減りました。

ウォルマート

ウォルマートは世界最大の小売業者であり、インターネットショッピング事業に進出している。リスクが伴うにもかかわらず、同社は比較的新しく、非常に話題のテクノロジーである Node.js を扱うという時流に乗りました。

クライアント側では、複雑な機能を組み込むためにモバイル アプリを再設計しました。 Walmart は、Node.js の非同期 I/O とシングルスレッド イベント ループ アーキテクチャを賞賛し、複数の同時クエリを管理できるようにしました。