ひよっこSEの備忘録

20卒の未経験エンジニアの日々の備忘録です。

Node.jsとその周辺について

自社に戻ってまた別の研修が始まりました。
以下、研修で行った環境構築で学んだ一部です。
ご指摘大歓迎です。

PC:MacBookPro(2019)
OS:10.15.3

***

Node.js

「Node.jsとは」と調べると、サーバサイドで動くJavaScriptだと出てくることが多いと思います。

Node.jsは「ブラウザでもサーバサイドでも同じ言語で書いたら楽じゃないか」という考えのもと、
ブラウザ上で使われることが多かったJavaScriptをサーバサイド上でも使えるようにしたものです。
サーバサイド上でも使えるようにするための土台にあたるものがNode.jsです。
(現在は本来の目的であったサーバサイド上より、クライアントサイドで使われることが多いそうです。)

Node.jsは後述するHomebrewからインストールが可能です。
インストールにはターミナルで下記コマンドを実行します。

nodebrew install-binary stable
Node.jsの使用場面
  • webアプリ
  • 多数のアクセスがある場所
  • webサーバ
  • スマホアプリ
メリット
デメリット
  • サーバサイド・フロントエンドで互換性はない

npmとyarn

npm(Node Package Manager)とyarnはNode.jsのパッケージを管理するツールです。
これらによってコンピュータにインストールされたソフトウェアを記録し、更新や削除を用意に行うことができます。

npmとyarnは互換性があり、事前に使用していたファイルをそのまま引き継いで使うことが可能です。
後発のyarnはnpmに比べてインストールが速く、セキュリティ面に優れています。
今後はyarnの方が使われるのではないでしょうか。

npmはNode.jsと同時にインストールされ、yarnは以下コマンドでインストールできます。

sudo npm install -g yarn

JavaScript

JavaScript(以下JS)とは、ウェブページ作成に用いられる言語の一つです。
HTMLでウェブページの土台を作り、CSSで装飾をし、JSで動的な機能を追加することができます。

JSにはApplication Programming Interface(API)があります。
これは、自力で作成・使用することが難しいコードを簡単に使うことができるものです。
APIには2種類あります。

ブラウザAPI

ウェブブラウザに組み込まれています。
ポップアップウィンドウ等はこれに該当するようです。

サードパーティAPI

ブラウザに組み込まれていないものです。
ウェブ上から情報を探して実装します。
Twitter APIを利用して最新ツイートの表示が該当するようです。


nodebrew

nodebrewとは、Node.jsのバージョン管理ができるシステムです。
Node.jsは、システムに応じたバージョンを使うためにその都度インストール/アンインストールする必要がありました。
nodebrewがあると、複数バージョンを入れておいて、必要な時に使用することができるため、手間が省けます。
以下コマンドでインストールができます。

brew install nodebrew

Homebrew(ホームブルー)

brew.sh

MacOS用のパッケージ管理システムです。
似たものとしてMacPortsFinkがあります。

Homebrewは管理するのにビルドを基本としていて、自身のMacを最適化しやすいことが特徴です。
パッケージの依存関係も管理することができます。
名前の通りですね。

使用するためには下記コードをターミナルで入力しインストールします。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

コマンド等は後日改めてまとめたいと思います。

パッケージ管理システム

様々なファイル(実行・設定ファイル、ドキュメント等)をまとめた一つのファイルをパッケージと言います。
パッケージ管理システムとは、このパッケージを一元管理できるものです。
インストール・アンインストールやアップデート作業をする際に、
何のパッケージがどこにあるか・作業されているかの管理や、競合(既存ファイルのせいで問題が生じること)の回避をしています。
身近な例で言うと、Appleストアもパッケージ管理システムと言えるそうです。