1
1

More than 3 years have passed since last update.

What's "Node.js" ?

Last updated at Posted at 2019-10-30

よく使い方を忘れるので、必要な時にサッと読み返せるように超完結にまとめておきます。

勉強中の関連記事まとめ
自分用の勉強記事をまとめた目次 ~擬似知識体系~

Node.jsとは

スケーラブルなネットワークアプリケーションを構築するために設計された非同期型のイベント駆動の JavaScript 環境

  • サーバーサイドJavaScript
  • 非同期
  • イベントドリブン
  • シングルスレッド

参考文献
Node.js公式サイト
Node.js を5分で大雑把に理解する

大量のリクエストを高速で捌くためのプラットフォーム。Node.js単体でもWEBサービスを作れるが、基本的には大規模システムの大量のリクエストを高速に捌く必要のあるAPIやメッセージングなどに利用される。

Node.jsは頻繁にバージョンアップされるため、公式サイトのAPIドキュメントの内容をよく読む必要がある。使える命令にも要不要や安定不安定といった変遷があるので、ドキュメントのStabilityという基準を参考にする。

「ノード」の由来

節、結び目、結節点、集合点、中心点、中継点、拠点などの意。つまり樹形図の各節点のこと。おそらくNode.jsでいうノードはサーバーサイドのPC、クライアントサイドのPCなどのことを指す。それらをWEBアプリの本体であるサーバーサイドから操作するJavaScriptライブラリということ。

参考文献
ノード【node】 - weblio辞書

Apacheについて

Node.js以前の大量のリクエストを捌くシステムの処理形式としてスレッドモデルといものがあり、Apacheなどで使われていた。しかし、スマホなどによりインターネットが一般的になってからはリクエスト処理が追いつかなくなり、今度はイベントループという処理形式が採用される様になった。Node.jsはイベントループを採用している。

nodeの実行

ターミナルでnodeと実行すればインタラクティブはjs環境が起動する。ただしこの方法ではブラウザを使うわけではないので、WindowやDOMに関する命令は使えない。

.help
.exit nodeを閉じる

簡単なnodeアプリ

mkdir myapp
cd myapp
vim hello.js    // console.log("Hello World");と記述
node hello.js

> Hello World

ノンブロッキング処理とコールバック関数

Node.jsでは時間のかかりそうな処理は後続の処理をブロックしないような書き方をする。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1