よく使い方を忘れるので、必要な時にサッと読み返せるように超完結にまとめておきます。
勉強中の関連記事まとめ
自分用の勉強記事をまとめた目次 ~擬似知識体系~
#Node.jsとは
スケーラブルなネットワークアプリケーションを構築するために設計された非同期型のイベント駆動の JavaScript 環境
- サーバーサイドJavaScript
- 非同期
- イベントドリブン
- シングルスレッド
大量のリクエストを高速で捌くためのプラットフォーム。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では時間のかかりそうな処理は後続の処理をブロックしないような書き方をする。