もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

Node.js超入門を読んだ

自分は現在インフラよりのサーバサイドというポジションで今まで働いていたのですが、仕事でnodejsを触る機会がありませんでした。

個人的にインストールして、expressでなにかしら動かして、「なるほどこういうもんなのか」と納得して終わった記憶があります。

jsやcssのminifyをするためgulpを使いたいなーとおもい、インストールしたりしましたが、ググってとりあえず使ったりしているだけでしたので、この勉強+アウトプット年にこの際きちんと勉強しようと思い、この本を購入しました。

ちなみにこの本は買ってからずっと放置していた積み本でした。

大雑把な感想

流石に超入門とついているだけあり、全体的にかなり初心者よりな本でした。

言葉も噛み砕いて書かれていて、初心者にはとても良い内容だったと思います。

流れ的には、nodejsでサーバを立ててみようというノリだったので、自分が知りたい部分とはマッチしていなかったのですが、ただ、そのなかでも自分の無知で知らない部分があり、勉強になったところも多々有りました。

聞くは一時の恥、聞かぬは一生の恥

初心者レベルの本でも学べる部分があるという、自分の無知さへの落胆と、知れてよかったという安堵感がせめぎ合っております。

まぁそんな感じで、今回も勉強になった箇所を、書き残しておこうと思います。

勉強になったところ

偶数バージョン・奇数バージョン

知らなかったのですがググるとかなり出てきた情報だったので、常識なことなのですね。。

偶数バージョンはLTS

奇数バージョンは半年程度のサポートのみ。奇数バージョンで、新しい技術を積極的に取り組んでいって、偶数バージョンで、確実に動くものとして提供する。

という運用のようです。

勉強になりました。

npm install -g

グローバルにinstallするのは -g オプションをつけてinstall

ローカルにinstallするのは何もつけずにinstall

ここも結構どっちがどっちとかあまり気にせずやっていたな。。。 気をつけます。

package.json

npmで使用するパッケージ情報が記述されているもの。

これもちゃんと理解していなかったので、確認できてよかった。

npm init した際に作られるpackage.jsonが以下。

他にも様々な項目がある用で、コチラで詳しく書かれていたので、参考にさせてもらいながら自分でもまとめてみる。

{
  "name": "express-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.16.2"
  }
}
項目 詳細
name パッケージの名前
version パッケージのバージョン
description パッケージの説明文
main メインプログラム。モジュール内で最初に呼ばれるスクリプトファイルという感じ?
scripts 自分で指定したShell Scriptを実行できるエイリアスコマンドを定義できる。サンプルだと npm start というコマンドが打てて、 node index.js を実行してくれるようになる。
author 作者名
license ライセンス
dependencies このパッケージが依存するモジュールとバージョン

npm install パッケージ名 --saveオプション

--save オプションを指定することで、 package.jsondependencies にインストールしたパッケージが追記される。

他の人がこのpackage.jsonを使ってnpm installすると、dependenciesに記載されているパッケージ全てがインストールされるようになる。

これも普通に使いそう。勉強になりました。

npm install --save jquery

jqueryのnpm install出来るとのこと。全然知らなかったです。。

ラスト

とまあこんな感じで、最初にもいいましたが、初心者向けの本でも勉強できることは多かったです。 初心者というよりも超初心者向けという感じでしたがw

最後の章でJSの書き方についても丁寧に説明されているので、本当に真っ白の状態から、勉強するには良いかと思いました。

今年の目標でフロントエンドの知識をつけたいというのがあるので、今度もフロントエンド系の知識が身につく本を買って勉強しようと思います。

Node.js超入門

Node.js超入門