サーバーサイドプログラミング(2)Node.js

サーバーサイドプログラミング

さて、改めまして、サーバーサイドプログラミングのシリーズを始めたいと思います。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予備校の教材を参考しております。

コメント

タイトルとURLをコピーしました