Try T.M Engineer Blog

多摩市で生息するエンジニアが「アウトプットする事は大事だ」と思って始めたブログ

『レベルアップNode.js』を読んだ話

最近、Node.jsを使うことが増えきて、だいぶコードを書くことに慣れてきたので、そろそろレベルアップしたいと考えていたところ、ドンピシャな本がアマゾンプライムデーで、セール販売されていたので、購入して読んでみた。

はじめに

先に全体的な感想を言うと、良本です。

著者自身がSocket.IOを使ってNode.jsでウェブシステムを構築した経験と知識を本に纏めてくださっており、Node.jsについて理解を深めて、レベルアップしていくには、どのような知識が必要なのかが書いてあった。

なので、この本を読むだけではレベルアップはできませんが、この本から「こういった知識を知っておくとレベルアップできるよ」といったことが学べます。

以下、私が特に刺さった部分をピックアップして、感想を書いていく。

第1章 Node.jsの全体像

まず、最初の第1章が面白かった。Node.jsがどのように構築されているかをさらっと説明している。Node.jsがV8エンジンを採用しているのは周知されていると思うが、他にもlibuvやnode-coreがあり、それらがどのような特徴を持ち、どう機能しているのかが書かれていて面白かった。

残念ながら、詳しい話は「Node.jsデザインパターン」を読むようにとのことだが、こういったNode.jsについて深い知識を得るにはどういった本や記事を読むべきかを纏めてくれているだけでも、有り難いし良本と言える。

第3章 サーバーとしてのNode.js

次に面白いと感じたのは第3章。Node.jsはシングルプロセス・シングルスレッドで動く故、その利点や問題点が書かれている。私自身も気になっていた部分ではあったものの、スルーしていたため、非常に勉強になった。ここでレベルアップに向けてクラスタリングやプロセスマネージャーが重要になってくるということが知れたのは大きい。

第4章 イベントループ

第4章は、はじめて知ることばかりだった。そもそも私はイベントループを知らなかった。この本では「イベントループについて知りたいなら、本を閉じてこの記事を読みなさい!」とあり、他の記事へ誘導するだけだったが、私もそれで十分だと思えた。

それくらい丁寧にまとめられている記事が既に存在し、むしろその記事の情報を貰えただけで有り難いと思えた。

第7章 Stream

やはりStreamは外せない。「Streamを制するものは、Node.jsを制す」という言葉があるくらいStreamへの理解は重要とのこと。とはいえ、Streamは難易度が高い部類に入るため、Streamをきちんと理解して利用しているエンジニアは少ないとのこと。ここでもStreamへの理解を深めるには「Node.jsデザインパターン」をオススメされており、これはもう「Node.jsデザインパターン」を読め。と言っているに等しいのでは・・・(= = ;;

付録A Node.jsの習得に役立つ情報を得るには

「Node.jsデザインパターン」をはじめ、他にもイベントや良記事を紹介している。

このあたりはNode.js界隈では有名な記事だそうだ。

PLAIDのgamiさんの記事もありました。。。知らんかった。。。

さいごに

上でも書いたとおり、この本は良本でした。

Node.jsへの理解を深めていくための方法や何を知っておくべきなのかが纏まっており、本のタイトル通り「レベルアップするための情報」がこの本に詰められていました。

まだ紹介された記事をすべて読んではいませんが、記事を読みつつ写経しつつで、理解を深めたいと思います。そして「Node.jsデザインパターン」もいつか読んでみよう。。。と思います。(= =;;