さて、改めまして、サーバーサイドプログラミングのシリーズを始めたいと思います。Node.jsは、サーバーサイドでJavaScriptを実行するための実行環境です。環境構築の方法については色々な方法があると思いますが、本ブログでは、Macを使用して、Dockerコンテナで構築しております。環境構築詳細については、記事ボリュームと本ブログの趣旨から省略させて頂きますが、ネット検索したり、N予備校のプログラミングコース(←月額たったの1,100円で内容盛りだくさんです。)に申し込んで確認して頂ければ難しくはないと思います。
準備
では、早速始めます。まずは、作業ディレクトリを用意し、テキストエディターを準備します。
mkdir -p ~/workspace/nodejs-study
cd ~/workspace/nodejs-study
code .
- mkdir(=make directry):ディレクトリ(フォルダのこと)を新規作成
※本プロジェクトディレクトリ名:nodejs-study - cd(=change directry):ディレクトリの変更
- code:テキストエディタのVisualStudioCodeを起動
次に、作成したディレクトリにDockerfileとymlファイルを作成します。これらの詳しい内容を知る必要はなさそうです。定型作業と捉えましょう。
FROM --platform=linux/x86_64 node:16.14.2-slim
RUN apt-get update && \
apt-get install -y locales git procps
RUN locale-gen ja_JP.UTF-8
RUN localedef -f UTF-8 -i ja_JP ja_JP
ENV LANG=ja_JP.UTF-8
ENV TZ=Asia/Tokyo
WORKDIR /nodejs-study
version: '3'
services:
app:
build: .
tty: true
volumes:
- .:/nodejs-study
Dockerの起動と終了
続いて、Docerコンテナを起動して、そのコンソールにアクセスします。これは、毎度の決まり文句です。
docker-compose up -d
docker-compose exec app bash
なお、終了時点の毎度の決まり文句は、下記の通りです。Dockerコンテナのコンソールから抜けて、Dockerを終了させます。
exit
docker-compose down
REPL
- REPL(=Read-Eval-Print Loop):入力したコードをその場で実行して結果表示するツール
早速、REPLを使って、Node.jsを動かしてみます。
node
これだけ入力すると、>と表示され、コンソール入力できるようになります。これで、計算などをすることができます。なお、REPLを終了するときは、Ctrl + c を2回押します。
1から10までを合計するプログラム
では、node.jsで1から10までを合計するプログラムを作ってみます。事務職にはお馴染みのExcelマクロだったらこのような感じのプログラムです(A1セルにその合計を出すプログラム)。
Dim i as integer , total as integer
total = 0
For i = 1 to 10
total = total + i
Next i
Range("A1") = total
では、まずこのプログラムをnode.jsで作るために、app.jsというファイルを作成します。
cd /nodejs-study
touch app.js
- touch:ここではapp.jsという空ファイルを作成。ファイルが存在している場合には、そのファイルの更新日時を更新。
次にこのファイルに下記プログラムを編集します。
'use strict';
const number = process.argv[2] || 0;
let total = 0;
for (let i = 1; i <= number; i++){
total = total + i;
}
console.log(total);
‘use strict’とは、厳格モードのことで、宣言後のミスをエラー表示します。ExcelマクロでいうところのOption Explicitのようなものです。
そして、見慣れない表現なのが、process.argv[2] || 0; の部分です。これは、コマンドライン引数(この後で入力する10のこと)が入った配列です。添字は2からスタートします。以降、2つ目の引数が3、3つ目の引数が4、…と続きます。後半の論理和の|| 0 は、process.argv[2]で指定した引数がnullだった場合などのときに、0を指定するというものです。
繰り返しのFor文はExcelマクロでもお馴染みですね。JavaScriptでもよく見るコードです。
そして、最後にプログラムを実行します。10を入力します。
node app.js 10
これで、答え(55)が表示されれば完成です。
終わったら、前述したコードでDockerを終了させます。
以上、Node.jsについての紹介でした。最後までお読み頂き、ありがとうございました。
※こちらの内容は、N予備校の教材を参考しております。
コメント