Node.js
2009年のJSConf EUで発表
以下の2つのmodule systemに対応している
いろいろな標準に合わせて実装しないといけないの大変そ〜mrsekut.icon
このランタイムがどこからどこまでを担うのか正直よくわかってないmrsekut.icon
「標準ライブラリを提供する」などだろうか
あとモジュールシステムとか?
parseやcompileはしないはず
サーバーサイドをJSで書け、V8上で実行できるので、他のスクリプト言語より高速に動作する CLI
.exit
終了
_
直前の式の値
https://i.stack.imgur.com/u1O2O.png
パフォーマンス
UV_THREADPOOL_SIZE
node.jsが得意なこと
RESTful な API を提供する Web サービス
nodeapp的なmrsekut.icon
単純なAPIサーバー
たくさんのリクエストをDBに書き込みまくるサービス
要はTwitter
ツイートを全部DBに書き込むが、DBが書き込み終わるまで待たなくていい
どこかキューしとき、node.jsはリクエストだけを捌きまくる
新しいプロセスを立ち上げるか、
再起動しないといけない
なんで?
マルチスレッドにしちゃえばかんたんに並行処理はできるが、それだと何らかの問題が生じるから、Node.jsはシングルスレッドでも並行処理できるようにした、うれしい、ッテ感じなの?
JSがシングルスレッド?Node.jsがシングルスレッド?
当たり前に後者か。mrsekut.icon
他言語のサーバーサイドフレームワークの話
最大同時接続数の制限が辛い
接続ごとに新しいスレッドが生成される
1つのスレッドには2MB必要
8GBのRAMを持つシステムでは理論的にはMax4000user
Java, PHP
Node.jsの歴史
この記事の後半にざっくりした年表がある
JSの他のサーバーサイドフレームワーク
v8cgi
narwhal
RingoJs
node.jsの未来
参考
PRを投げる