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

回答編集履歴

8

改訂

2020/09/21 21:03

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -5,9 +5,14 @@
5
5
 
6
6
  要は、OS に JavaScriptインタプリタ([JITコンパイラ](https://ja.wikipedia.org/wiki/%E5%AE%9F%E8%A1%8C%E6%99%82%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9) V8)機能を追加するバイナリコマンドです。
7
7
 
8
+ > 「javascript環境」の意味
9
+
10
+ 「JITコンパイラ+実行環境」とまとめて表現しているのかもしれません。
11
+ NodeJSのコマンドが実行されているOSの「[プロセス](https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9)」と考えて差し支えないでしょう。
12
+
8
13
  ----
9
14
  元々、[JavaScript](https://ja.wikipedia.org/wiki/JavaScript)はブラウザ(クライアント用ソフトウェア)の中でしか使えませんでした。
10
- サーバー側JavaScriptとか言われますが、これは「Apacheのようなサーバーソフトウェアを稼働させる**OS上に実現したJavaScriptの実行環境**」と解釈できると思います。
15
+ サーバー側JavaScriptとか言われますが、これは「Apacheのようなサーバーソフトウェアを稼働させる**OS上に実現したJavaScriptの実行環境**」と解釈できると思います(モジュールのインストールにはリポジトリへのアクセスが伴う等、快適な利用にはインターネット接続されている必要がありますが、スタンドアローンで稼働するOS上でも動きます)
11
16
 
12
17
  JavaScript実行環境を有効にするには、普通にコマンドラインを弾く
13
18
  (あるいは何かしらのランチャー機能を使う)。

7

改訂

2020/09/21 21:03

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -3,8 +3,9 @@
3
3
  私が最初に触ったときには、「OS上のコマンドラインプログラムに過ぎない」と感じました。
4
4
  「OS上で動くので、ファイルシステム上の(モジュールとして記述した)JavaScriptファイルが使える!便利だね!」とも。
5
5
 
6
+ 要は、OS に JavaScriptインタプリタ([JITコンパイラ](https://ja.wikipedia.org/wiki/%E5%AE%9F%E8%A1%8C%E6%99%82%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9) V8)機能を追加するバイナリコマンドです。
7
+
6
8
  ----
7
- 要は、OS に JavaScriptインタプリタ([JITコンパイラ](https://ja.wikipedia.org/wiki/%E5%AE%9F%E8%A1%8C%E6%99%82%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9) V8)機能を追加するバイナリコマンドです。
8
9
  元々、[JavaScript](https://ja.wikipedia.org/wiki/JavaScript)はブラウザ(クライアント用ソフトウェア)の中でしか使えませんでした。
9
10
  サーバー側JavaScriptとか言われますが、これは「Apacheのようなサーバーソフトウェアを稼働させる**OS上に実現したJavaScriptの実行環境**」と解釈できると思います。
10
11
 
@@ -17,11 +18,11 @@
17
18
 
18
19
  基本
19
20
  * REPL(対話モードの実行環境)でJavaScriptコードを試せる
20
- * コマンドラインアプリケーションを書ける
21
+ * コマンドラインアプリケーションを書ける(main.js のみのシンプルなもの/競技用コードなど)
21
22
 
22
23
  モジュール機能(外部ファイル)
23
24
  * 複雑なコマンドラインアプリケーションを書ける(タスクランナーなど実行終了するとプロセスも終了するアプリケーション)。
24
- * ネットワーク関連のモジュール(組み込まれたもの/外部ファイルで作成されたもの)を利用しサーバーとして機能することもできる。(listenされた状態でプロセスが継続するタイプのサーバーアプリケーション/公式__イタリックテキスト__[はじめての Web サーバー](https://nodejs.org/ja/docs/guides/getting-started-guide/) )。
25
+ * ネットワーク関連のモジュール(組み込まれたもの/外部ファイルで作成されたもの)を利用しサーバーとして機能することもできる。(listenされた状態でプロセスが継続するタイプのサーバーアプリケーション/公式 [はじめての Web サーバー](https://nodejs.org/ja/docs/guides/getting-started-guide/) )。
25
26
 
26
27
  発展(ざっくりした話になります)
27
28
  * 今では、GUIアプリケーションの実行にJavaScriptエンジンを組み込もうというプロジェクト(Electronなど)や製品(VSCodeなど)があり、NodeJSが組み込み利用されています。

6

加筆

2020/09/19 11:43

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -6,11 +6,11 @@
6
6
  ----
7
7
  要は、OS に JavaScriptインタプリタ([JITコンパイラ](https://ja.wikipedia.org/wiki/%E5%AE%9F%E8%A1%8C%E6%99%82%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9) V8)機能を追加するバイナリコマンドです。
8
8
  元々、[JavaScript](https://ja.wikipedia.org/wiki/JavaScript)はブラウザ(クライアント用ソフトウェア)の中でしか使えませんでした。
9
- サーバー側JavaScriptとか言われますが、これは「サーバーを稼働させるOS上に実現したJavaScriptの実行環境」と解釈できると思います。
9
+ サーバー側JavaScriptとか言われますが、これは「Apacheのようなサーバーソフトウェアを稼働させる**OS上に実現したJavaScriptの実行環境**」と解釈できると思います。
10
10
 
11
-
12
11
  JavaScript実行環境を有効にするには、普通にコマンドラインを弾く
13
12
  (あるいは何かしらのランチャー機能を使う)。
13
+ 無効にする場合はプロセスを終了させる。
14
14
 
15
15
  コマンド構文:
16
16
  > ``node`` [``options(ファイル指定含む)`` [``arguments``]]
@@ -19,8 +19,9 @@
19
19
  * REPL(対話モードの実行環境)でJavaScriptコードを試せる
20
20
  * コマンドラインアプリケーションを書ける
21
21
 
22
- モジュール機能
22
+ モジュール機能(外部ファイル)
23
- * ネットワーク関連の モジュル(組み込まれたもの/JavaScriptで書かれたもの)を利用しサーバーして機能する
23
+ * 複雑なコマンドラインアプリケションを書ける(タスランナなど実行終了するプロセスも終了するアプリケーション)。
24
+ * ネットワーク関連のモジュール(組み込まれたもの/外部ファイルで作成されたもの)を利用しサーバーとして機能することもできる。(listenされた状態でプロセスが継続するタイプのサーバーアプリケーション/公式__イタリックテキスト__[はじめての Web サーバー](https://nodejs.org/ja/docs/guides/getting-started-guide/) )。
24
25
 
25
26
  発展(ざっくりした話になります)
26
27
  * 今では、GUIアプリケーションの実行にJavaScriptエンジンを組み込もうというプロジェクト(Electronなど)や製品(VSCodeなど)があり、NodeJSが組み込み利用されています。
@@ -30,7 +31,7 @@
30
31
 
31
32
  コマンドラインアプリケーション(バイナリコマンド)に過ぎないという点は同じです。
32
33
  (脱線と述べられているように)コンパイラや実行方式は Java とでは大きく異なります
33
- 実行目的が異なるわけですね。
34
+ 実行目的が異なるわけですね(Webが生活インフラとして浸透した時代に、カジュアルな開発言語をサーバーOS上で動かすのが目的と思っています)
34
35
 
35
36
  ----
36
37
  フロントエンド/バックエンドは、単に開発用に区分される言葉です。

5

加筆

2020/09/19 11:39

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
File without changes

4

追記

2020/09/19 11:39

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -25,6 +25,13 @@
25
25
  発展(ざっくりした話になります)
26
26
  * 今では、GUIアプリケーションの実行にJavaScriptエンジンを組み込もうというプロジェクト(Electronなど)や製品(VSCodeなど)があり、NodeJSが組み込み利用されています。
27
27
 
28
+
29
+ > Node.jsはこのJDKと同じ立ち位置?
30
+
31
+ コマンドラインアプリケーション(バイナリコマンド)に過ぎないという点は同じです。
32
+ (脱線と述べられているように)コンパイラや実行方式は Java とでは大きく異なります
33
+ 実行目的が異なるわけですね。
34
+
28
35
  ----
29
36
  フロントエンド/バックエンドは、単に開発用に区分される言葉です。
30
37
 

3

追記

2020/09/19 09:48

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
File without changes

2

訂正

2020/09/19 09:48

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  > Node.jsは何者なのでしょうか。
2
2
 
3
3
  私が最初に触ったときには、「OS上のコマンドラインプログラムに過ぎない」と感じました。
4
- 「OS上で動くので、ファイルシステム上のモジュールとして記述した他のJavaScriptファイルが使える!便利だね!」とも。
4
+ 「OS上で動くので、ファイルシステム上のモジュールとして記述したJavaScriptファイルが使える!便利だね!」とも。
5
5
 
6
6
  ----
7
7
  要は、OS に JavaScriptインタプリタ([JITコンパイラ](https://ja.wikipedia.org/wiki/%E5%AE%9F%E8%A1%8C%E6%99%82%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9) V8)機能を追加するバイナリコマンドです。

1

訂正

2020/09/19 09:34

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

answer CHANGED
@@ -22,7 +22,7 @@
22
22
  モジュール機能
23
23
  * ネットワーク関連の モジュール(組み込まれたもの/JavaScriptで書かれたもの)を利用しサーバーとして機能する
24
24
 
25
- 発展(ざっくりした話にな)
25
+ 発展(ざっくりした話になります
26
26
  * 今では、GUIアプリケーションの実行にJavaScriptエンジンを組み込もうというプロジェクト(Electronなど)や製品(VSCodeなど)があり、NodeJSが組み込み利用されています。
27
27
 
28
28
  ----