teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

見直し

2021/04/05 08:24

投稿

退会済みユーザー
answer CHANGED
@@ -21,8 +21,10 @@
21
21
  プログラム起動までのタイムラグをなくしつつメモリ利用効率を高めたりするもの(例:PHPのモジュール型実装)や、
22
22
  webサーバーとは別のプロセスで永続的に存在する仕組みもあり、
23
23
  (例えばFastCGI(というプロトコルに則って作られたサーバーやプログラム)とか)
24
- Node.jsもApache httpdやnginxなどのwebサーバープログラムと連携して動かすこともできますし、
24
+ **Node.jsもApache httpdやnginxなどのwebサーバープログラムと連携して動かすこともできます**し、
25
- Node.jsだけでwebサーバーとして必要なwebクライアントとのインターフェースを取り持つこともできます。
25
+ **Node.jsだけでwebサーバーとして必要なwebクライアントとのインターフェースを取り持つこともできます**
26
+ 単にjavascriptのコードが動くだけじゃなく、ネットワークのインターフェースを備え、
27
+ それがたまたまTCP:80番ポートでLISTENしていればwebサーバーにみえるっていうだけかと。
26
28
 
27
29
  [FastCGI - Wikipedia](https://ja.wikipedia.org/wiki/FastCGI#:~:text=FastCGI%E3%81%A8%E3%81%AF%E3%80%81Web%E3%82%B5%E3%83%BC%E3%83%90,%E3%81%AF%E5%85%AC%E9%96%8B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%80%82)
28
30
 

3

見直し

2021/04/05 08:24

投稿

退会済みユーザー
answer CHANGED
@@ -4,10 +4,11 @@
4
4
  動かすための条件が整って仕組みがあり機能すること、が環境なんじゃないかと。
5
5
  javascriptという言語および言語仕様、それに則って書かれたコードがjavascriptコードとかスクリプトとか。
6
6
  それをサーバー上で「動かす仕組み」→「環境」かと。
7
+ (サーバーとみなすコンピューター上で、の意味だけど、別にサーバー専用ってわけではないことにも注意。)
7
8
 
8
9
  [Node 開発環境の設定 - ウェブ開発を学ぶ | MDN](https://developer.mozilla.org/ja/docs/Learn/Server-side/Express_Nodejs/development_environment)
9
10
  の通り、Node.js実行環境を整えれば、
10
- ネットワークからのリクエストを受信して、定義に従ってスクリプトを実行し、結果を応答する、
11
+ **ネットワークからのリクエストを受信して、定義に従ってスクリプトを実行し、結果を応答する**
11
12
  という意味ではwebサーバーをNode.js実行環境が受け持っているということになりそうな。
12
13
 
13
14
  [Web開発の選択肢の1つ、Node.jsはいかが?『入門Node.jsプログラミング』で始めよう:CodeZine(コードジン)](https://codezine.jp/article/detail/11728)

2

見直し

2021/04/05 07:38

投稿

退会済みユーザー
answer CHANGED
@@ -8,4 +8,26 @@
8
8
  [Node 開発環境の設定 - ウェブ開発を学ぶ | MDN](https://developer.mozilla.org/ja/docs/Learn/Server-side/Express_Nodejs/development_environment)
9
9
  の通り、Node.js実行環境を整えれば、
10
10
  ネットワークからのリクエストを受信して、定義に従ってスクリプトを実行し、結果を応答する、
11
- という意味ではwebサーバーをNode.js実行環境が受け持っているということになりそうな。
11
+ という意味ではwebサーバーをNode.js実行環境が受け持っているということになりそうな。
12
+
13
+ [Web開発の選択肢の1つ、Node.jsはいかが?『入門Node.jsプログラミング』で始めよう:CodeZine(コードジン)](https://codezine.jp/article/detail/11728)
14
+ こちらだと環境とは言わずにプラットフォームと言ってますけれども。
15
+
16
+ webサーバーとアプリケーションの境目みたいなところを気にしているようですけれども、
17
+ 古くはwebブラウザ(webクライアント)からのリクエストごとに
18
+ 処理するプログラムやランタイムを呼び出して実行させるCGIよりも、
19
+ webサーバープロセス内に永続的に存在して
20
+ プログラム起動までのタイムラグをなくしつつメモリ利用効率を高めたりするもの(例:PHPのモジュール型実装)や、
21
+ webサーバーとは別のプロセスで永続的に存在する仕組みもあり、
22
+ (例えばFastCGI(というプロトコルに則って作られたサーバーやプログラム)とか)
23
+ Node.jsもApache httpdやnginxなどのwebサーバープログラムと連携して動かすこともできますし、
24
+ Node.jsだけでwebサーバーとして必要なwebクライアントとのインターフェースを取り持つこともできます。
25
+
26
+ [FastCGI - Wikipedia](https://ja.wikipedia.org/wiki/FastCGI#:~:text=FastCGI%E3%81%A8%E3%81%AF%E3%80%81Web%E3%82%B5%E3%83%BC%E3%83%90,%E3%81%AF%E5%85%AC%E9%96%8B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%80%82)
27
+
28
+ Node.js登場の背景としては、
29
+ モダンなwebアプリケーション(やサービスやコンテンツ)において
30
+ 大量のwebリクエストを効率的に捌いて処理して応答する上で
31
+ 従来と違った概念でひねり出した工夫の結晶なんじゃないかと。
32
+ どういう工夫なのかって話は本筋とズレるから例えばこちらの記事を参照:
33
+ [Node.jsについて調べてみた - Qiita](https://qiita.com/kyrieleison/items/f726061803a0e536c3e1#%E8%BB%BD%E9%87%8F%E3%81%A7%E5%8A%B9%E7%8E%87%E7%9A%84%E3%81%AB%E5%A4%9A%E3%81%8F%E3%81%AE%E5%87%A6%E7%90%86%E3%82%92%E6%8D%8C%E3%81%91%E3%82%8B)の「軽量で効率的に多くの処理を捌ける」あたり。

1

見直し

2021/04/05 07:28

投稿

退会済みユーザー
answer CHANGED
@@ -2,6 +2,8 @@
2
2
  環境(開発環境、テスト環境、本番環境など)の「環境」ってところだけ切り出しても
3
3
  あまり意味がないんじゃないかと。Environmentの訳ではあるのだけど。
4
4
  動かすための条件が整って仕組みがあり機能すること、が環境なんじゃないかと。
5
+ javascriptという言語および言語仕様、それに則って書かれたコードがjavascriptコードとかスクリプトとか。
6
+ それをサーバー上で「動かす仕組み」→「環境」かと。
5
7
 
6
8
  [Node 開発環境の設定 - ウェブ開発を学ぶ | MDN](https://developer.mozilla.org/ja/docs/Learn/Server-side/Express_Nodejs/development_environment)
7
9
  の通り、Node.js実行環境を整えれば、