Node.js

重要ポイント

Single Thread

Non Blocking I/O

  • リクエストを並行して捌ける
  • 大量の同時接続に耐えられる
  • サーバリソースを効率的に利用しやすい

イベントループ

  • イベントを監視してイベントの都度、設定された処理を呼び出す
  • イベントループが止まると、アプリケーション全体が止まる

libuv

処理速度

他プラットフォームとの比較

パフォーマンスチューニング

Worker Threads

負荷分散

Clusterモジュール

Nginx

EventEmitter?

インストール・設定

nodist

npm

$ npm init
  • このディレクトリ下は npm が管理下に置く!」宣言
  • いろいろ英語で聞かれるが、とりあえず全部エンターキーを押しても問題ない
  • 終了すると、ディレクトリ直下にpackage.jsonが作成される
$ npm install [パッケージ名]
  • node_modulesというフォルダ下に、ライブラリが保存される
$ npm install [パッケージ名] --save
  • package.json内に取ってきたライブラリが追記される
$ npm install -g [パッケージ名]
  • グローバルインストール(npmのインストール場所にパッケージをインストール)
  • 主にターミナルで利用できる便利ツールをインストールするために使用
  • npmで入る便利ツールまとめ
$ npm run [タスク名]
  • package.json内に書かれたシェルスクリプトを実行
  • npm run だけを実行すると、現在どんなタスクがpackage.json内にあるかを一覧表示
  • 例:タスク build を package.json に記述
    {
      "scripts": {
        "build": "browserify src/main.js > build/bundle.js"
      }
    }
$ npm root -g
  • グローバルのnode_modulesディレクトリのパスを表示
$ npm bin -g
  • npmがグローバルで使用しているディレクトリを表示
$ npm start

Chromebook

パッケージ

  • classnames
    $ npm install --save classnames
  • json-server
    • json流しこむだけでサーバーが作れる。とりあえず今すぐモックサーバーを立てて動作を確かめたい時に便利。
  • marked
    $ nom install --save marked
  • querystring

非同期処理

ログ出力

Log4js

morgan

TypeScript

AMQP

TCP通信

Azure

事例


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-09-23 (水) 20:30:34 (8d)