JavaScriptを基礎から整理したい人向け
JavaScript 第7版
『JavaScript 第7版』は、JavaScriptの構文、標準ライブラリ、ブラウザ上のJavaScript、Node.jsなどを幅広く扱う書籍です。
変数、関数、オブジェクト、クラスといった基礎だけでなく、Promise、async/await、イテレータ、ジェネレータ、モジュールなども解説されています。
JavaScriptを初めて学ぶための薄い入門書というより、すでにJavaScriptを使用している人が、曖昧な知識を整理するために向いています。
向いている人
- JavaScriptを業務で使用している
- 非同期処理を改めて理解したい
- ReactやNode.jsの前に言語仕様を学び直したい
- 必要な箇所を調べるリファレンスが欲しい
ページ数が多いため、最初からすべてを理解しようとするより、現在の業務に関係する章から読む方法が現実的です。
ハンズオンJavaScript
『ハンズオンJavaScript』は、Chrome DevToolsのコンソールなどを使い、実際にコードを動かしながらJavaScriptを学ぶ書籍です。
JavaScriptの基本に加えて、ブラウザが提供する各種Web APIも扱っています。完全なプログラミング初心者から、クライアントサイドJavaScriptの知識を整理したい経験者までを対象としています。
『JavaScript 第7版』が詳しい解説書に近いのに対し、こちらは手を動かしながら確認したい人向けです。
TypeScriptを学びたい人向け
初めてのTypeScript
『初めてのTypeScript』は、JavaScript経験者がTypeScriptを学ぶための入門書として選びやすい一冊です。
TypeScriptの基本構文だけでなく、型システムをどのようにコードへ適用するかを段階的に学びたい場合に向いています。
向いている人
- JavaScriptは書けるがTypeScriptは未経験
anyを多用してしまう- 型注釈と型推論の違いを整理したい
- ReactやNode.jsでTypeScriptを使い始めたい
最初から高度な型パズルを学ぶのではなく、TypeScriptを通常のアプリケーション開発で使うための基礎を身につけたい場合の候補になります。
プログラミングTypeScript
『プログラミングTypeScript』は、TypeScriptの型システムをより深く理解したい人向けの書籍です。
基本的な型だけでなく、ジェネリック型、高度な型表現、非同期処理、エラー処理など、TypeScriptを本格的に使用するための内容を扱います。
入門書というより、TypeScriptをすでに使用している人が「なぜこの型になるのか」「どう設計すれば型安全になるのか」を理解するための本です。
向いている人
- TypeScriptを実務で使用している
- ジェネリクスへの理解を深めたい
- 型エラーを場当たり的に修正している
- ライブラリや共通処理の型を設計したい
JavaScript自体の理解が不十分な状態で読むと難しく感じやすいため、JavaScriptの基礎を確認してから読む方が理解しやすくなります。
Reactを学びたい人向け
Reactハンズオンラーニング 第2版
『Reactハンズオンラーニング 第2版』は、実際にコンポーネントを作りながらReactを学ぶ書籍です。
Reactの基本的な考え方やコンポーネントの作成だけでなく、Reactを取り巻くツールやライブラリについても扱っています。
向いている人
- JavaScriptの基本構文を理解している
- Reactをコードを書きながら学びたい
- コンポーネントや状態管理の考え方を理解したい
- チュートリアルの次に読む本を探している
Reactは更新が速いため、コード例をそのまま暗記するより、コンポーネント分割、状態、データの受け渡しなど、現在も利用される基本的な考え方を中心に読む必要があります。
Next.jsを直接学ぶ書籍ではありませんが、Reactの基礎を理解していない場合は、Next.js固有の機能との区別が難しくなります。ReactとNext.jsの役割を分けて理解するためにも利用できます。
Node.jsを学びたい人向け
ハンズオンNode.js
『ハンズオンNode.js』は、Node.jsの基本からWebアプリケーションの開発、テスト、デプロイまでを、手を動かしながら学ぶ書籍です。
フロントエンドの経験はあるものの、サーバーサイド開発の経験が少ない人や、別の言語からNode.jsへ移行する人を主な対象としています。
向いている人
- ブラウザ上のJavaScriptしか経験がない
- Node.jsが何を担当しているのか整理したい
- npmやモジュールの仕組みを理解したい
- Node.jsでWebアプリケーションを作りたい
Expressなどの使い方だけを覚えるのではなく、Node.jsの実行環境や非同期処理を含めて理解したい場合に適しています。
Web API設計を学びたい人向け
Web API: The Good Parts
『Web API: The Good Parts』は、Web APIの設計、開発、運用について解説した書籍です。
URI、HTTPメソッド、ステータスコード、レスポンスデータ、エラー、バージョン管理など、Web APIを使いやすく保守しやすい形で設計するための考え方を扱います。
向いている人
- REST APIを実装した経験がある
- エンドポイントの設計方法に迷う
- HTTPステータスコードを感覚で決めている
- フロントエンドとバックエンドの仕様を整理したい
2014年に発行された書籍ですが、特定のフレームワークの操作方法ではなく、Web API設計の基本原則を扱っているため、現在でも参考にできる部分があります。
一方で、認証方式、GraphQL、gRPC、クラウドネイティブなAPI管理など、発行後に一般化した技術については別の資料で補う必要があります。
読みやすいコードを書きたい人向け
リーダブルコード
『リーダブルコード』は、変数名、関数名、コメント、条件分岐、処理の分割など、コードを読みやすくするための実践的な考え方を扱う書籍です。
特定のプログラミング言語に依存した内容が少ないため、JavaScript、TypeScript、PHP、Pythonなど、使用言語にかかわらず読みやすい本です。
向いている人
- 自分のコードを後から読んでも分からなくなる
- 変数名や関数名の付け方に迷う
- 関数が長くなりやすい
- コードレビューで可読性を指摘される
内容を知識として覚えるだけでなく、実際の業務コードと比較しながら読むことで効果が出やすくなります。
すべてのルールを機械的に適用するのではなく、チームの規約や既存コードとの一貫性も考慮する必要があります。
SQLとデータベース設計を学びたい人向け
SQLアンチパターン 第2版
『SQLアンチパターン 第2版』は、データベース設計やSQLで起こりやすい失敗例と、その改善方法を学ぶための書籍です。
単純なSQL構文の入門ではなく、テーブル設計、クエリ、アプリケーションからのデータベース利用など、実務上の問題を中心に扱います。
向いている人
- MySQLやPostgreSQLを業務で使用している
- テーブル設計に自信がない
- 配列のような値を一つのカラムへ保存している
- NULLや外部キーの扱いに迷う
- SQLが複雑化して修正しにくい
アンチパターンは「常に禁止される書き方」という意味ではありません。
どのような条件で問題が発生し、どのような代替案があるのかを理解するために読む本です。
システム設計を深く学びたい人向け
データ指向アプリケーションデザイン
『データ指向アプリケーションデザイン』は、信頼性、拡張性、保守性を考慮したデータシステムの設計原理を扱う書籍です。
データベース、レプリケーション、パーティショニング、トランザクション、分散システムなど、Webアプリケーションの裏側にあるデータ処理を広く扱います。
向いている人
- データベースを利用した開発経験がある
- システム規模が大きくなったときの設計を学びたい
- レプリケーションや分散処理を理解したい
- 技術選定の根拠を説明できるようになりたい
初心者向けの入門書ではなく、ある程度の開発経験を積んだ後に読む方が理解しやすい本です。
すぐに業務へ適用するテクニックを探すというより、システム設計を考えるための土台を作る目的に向いています。