2019年09月22日(日)に開催される技術書典7で、「Node.js中級者を目指す」という技術系同人誌を頒布します。
本書は技術書典5の「PHP中級者を目指す(商業誌版はレベルアップPHP)」に続く、中級者を目指すシリーズの第二弾です。
本の概要
入門書の次に読むことを想定にした、中級者へのステップアップを目指すNode.js本です。 主にNode.jsに対する技術的な内容を扱います。
- 新しいJavaScriptでは何が変わったのか?
- コールバック地獄の解消
- 非同期プログラミングにおける例外の捕捉
- クラスター化によるWEBサーバー運用
・・・をはじめ、Node.jsには学びのポイントがたくさんあります。 そういったポイントを私自身も勉強しながら、集大成としてまとめています。
私が主にNode.jsを使って開発していたのは数年前の話なのですが、最近になって再びNode.jsで開発する機会があったため、これを機に学習もしつつ書き始めました。 私自身のNode.js力を上げたいからという理由も、大きな執筆モチベーションのひとつになっています。
目次
目次は執筆途中の現時点のモノで、今後増減する可能性があります。 本当はもっと色々と書きたいことがあるのですが、もう一冊新刊を出すと決めている状況で果たして〆切に間に合うのだろうか?
章で言うと「Node.jsの全体像」「サーバーとしてのNode.js(シングルスレッドやクラスタリングなど)」「イベントループ」「非同期プログラミング」「コールバック地獄の解消」「Stream」「TypeScriptを使った開発」・・・などを予定しています。
表紙・裏表紙
本文イメージ
Node.jsは楽しい
Node.jsはTypeScriptやJavaScriptを使ってサーバーサイドが書けます。 とくにフロントエンドエンジニアだけどバックエンドも書いてみたいという方であれば、言語は同じなのでフロントエンドの開発知識も活かせます。
またリリースから時間も経過し成熟期に入ったため、Node.jsは安定感も徐々に加わってきました。 そして主要なFaaSはNode.jsに対応しているため、FaaSとの相性も良いです。
それに加えてJavaScriptそのものも毎年のように進化を遂げているため、今後が楽しみな技術でもあります。
Node.jsの採用事例
私が把握している範囲では、ヤフー・PLAID・Cygamesが採用事例としてとくに有名です。
非同期プログラミング
非同期プログラミングの経験がないエンジニアであれば、Node.jsに触ると新しいプログラミングパラダイムを経験できます。
闇雲に使った結果のコールバック地獄は誰しも最初に経験するかもしれませんが、解消していく過程で私はPromiseを始めとするJavaScriptの非同期プログラミングに、以前より詳しくなった気がします。
そのときの知見をなんとなくにしておくと勿体ないと感じたので、書いてみようと思ったことが実は本書を書くモチベーションのひとつだったりします。
イベントループ
これは私の個人としての感想ですが、Node.jsについての理解を深める鍵はイベントループにあるのではないかと感じています。 イベントループを知ると、Node.jsが非同期プログラミングのコールバックを実行するタイミングや、その仕組みが垣間見えてきます。
このイベントループを知れたのが、本書を執筆した一番の収穫だったと私自身も感じています。
底本について
本書は技術書同人博覧会およびコミックマーケット96で頒布した、「Node.js学習日記」を底本としています。 技書博やコミケの会場などで「Node.js学習日記」をお買い上げいただいた方向けに、当日「Node.js学習日記」をご提示いただいた方には割引販売も検討しています。
技書博の「Node.js学習日記」は、〆切に追われつつも書きたいことは書けて90ページ近い本になったのですが。 それでも印刷の納期に間に合わなくて断念した項目もあったため、今回は主に加筆という形で「Node.js中級者を目指す」に追記しています。
さいごに
まだ技術書典7の一般向けサイトは公開されてないですけど、夏休みも活用しつつ頑張って書いてます。
当日は技術書典7、3Fのう17・このすみ堂(申し込み時のサークル名:なめこっと)をよろしくお願いいたします。 なおpixivのBOOTHにて、電子版も頒布する予定です!
(9/24追記)通販について
本書の通信販売を開始いたしました。