入門Node.jsプログラミング翔泳社の野村さんから「入門Node.jsプログラミング」を頂いたので軽く読んだ(仕事でNode.js使うつもりはないので、それほど真剣に読まない)。以前、入門Haskellプログラミングももらったのだが、それと同じ妙にかわいいロボットの表紙のシリーズだ。Kurt/株式会社クイープ)もっともHaskellのロボットが手にしているのは総和や総乗記号が書いてある立方体だけど、Node.jsのほうはヒマワリになっている。JSってヒマワリなのか?中身はどちらも、少なくともプログラムとは何かを知っていて、コンピュータに環境を準備できる程度のリテラシーがある人を対象とした入門書だが、プログラミング言語を構成する概念を解説していく入門Haskellと異なり、入門Node.jsは(と書いて、そりゃJavaScriptの入門じゃないのだから当たり前だった)料理学校の依頼によって、コース選択、レシピページ、受講サインアップページ、Ajaxを使ったUI改善のためのAPI、チャットを備えたWebアプリケーションを徐々に開発して、Herokuにデプロイするまでの一連の作業のチュートリアルになっている。思うが、socket.ioを使った双方向通信のサンプルを示したかったからのようだ(能書きのところで昔懐かしいコメットのジグザグが示されていたりするのが楽しい)。APIをAjaxから使う場合は、ブラウザーUIと同じクッキーが使えるからAPI認証はあまり考える必要はないと思うのだが、一応、別建てのトークンを使った方法が示されていたりする。ES6に対する目配りとしてはAppendixにlet、const、埋め込み文字列、アロー関数をまとめて示しているくらいだが、確かにこの4つが重要ではある。MVCモデルを使った設計に変更していったり、ぱっと考えて必要そうな内容を含んでいる。DBはMongoDB。Herokuのデプロイまでが含まれていることもあって、Webアプリケーションの作り方を自習するには良い本だと思う。