『初めてのGraphQL』
https://gyazo.com/53e509c07ee172a374198baf8b917d56
2019/11
原著
2018/9/11
著者
読もうと思った動機
業務で使いそうだから
オライリーのサブスクにあったから
miyamonz.iconが読んでるのを見て、日本語のやつが存在することを知った
本について
GraphQL全く知らない人が想定読者だと思う
だいぶ読みやすい
250ページぐらい
言語はJavaScript(Node.js/React)
この本が書かれた当時は、Schema Firstが流行っていた時期であったことに注意
この本の中で「コードファースト」という単語は出てこない
GraphQLの概要
GraphQLの誕生の背景
おもろそうだけど、いったんスルーmrsekut.icon
2.1 グラフ理論の用語
2.2 グラフ理論の歴史
2.3 木というグラフ
2.4 実世界でのグラフ
3章 GraphQLの問い合わせ言語
3.2.2.1 ユニオン型から
3.2 GraphQLのクエリ
3.2.1 エッジと接続
3.2.2 フラグメント
3.3 ミューテーション
3.3.1 クエリ変数
3.4 サブスクリプション
3.5 イントロスペクション
3.6 抽象構文木
4章 スキーマの設計
4.1.3 Enum
4.2 コネクションとリスト
4.2.1 一対一の接続
4.2.2 一対多の接続
4.2.3 多対多の接続
4.2.4 異なる型のリスト
4.3 引数
4.3.1 データのフィルタリング
4.4 ミューテーション
4.5 入力型
4.6 返却型
4.7 サブスクリプション
4.8 スキーマのドキュメント化
5章 GraphQLサーバーの実装
Node.jsを使う
5.2.3 InputとEnumの使用
5.2.4 エッジと接続
5.2.5 カスタムスカラー型
5.4 コンテキスト
5.4.1 MongoDBのインストール
5.4.2 コンテキストへのデータベースの追加
5.5 GitHub認可
5.5.1 GitHub OAuthのセットアップ
5.5.2 認可プロセス
5.5.3 githubAuthミューテーション
5.5.4 ユーザーの認証
5.6 まとめ
6章 GraphQLクライアントの実装
Reactを使う
6.1 GraphQL APIの利用
6.1.1 フェッチリクエスト
6.1.2 graphql-request
6.2 Apollo Client
6.3 Apollo ClientとReact
6.3.1 プロジェクトの準備
6.3.2 Apollo Clientの設定
6.3.3 Queryコンポーネント
6.3.4 Mutationコンポーネント
6.4 認可
6.4.1 ユーザー認可
6.4.2 ユーザー識別
6.5 キャッシュ
6.5.1 フェッチポリシー
6.5.2 キャッシュの永続化
6.5.3 キャッシュの更新
7章 GraphQLの実戦投入にあたって
5,6章の続き
プッシュ通知を作る?
7.1 サブスクリプション
7.1.1 サブスクリプションの利用
7.1.2 サブスクリプションの処理
7.2 ファイルアップロード
7.2.1 サーバーでアップロードを処理する
7.2.2 Apollo Clientを使用した写真の新規投稿
7.3 セキュリティ
7.3.1 リクエストタイムアウト
7.3.2 データの制限
7.3.3 クエリ深さの制限
7.3.4 クエリの複雑さ制限
7.3.5 Apollo Engine
7.4 次の段階にすすむ
7.4.1 漸進的なマイグレーション
7.4.2 スキーマファースト開発
7.4.3 GraphQLイベント
7.4.4 コミュニティ
7.4.5 コミュニティのSlackチャンネル
A.1 Global Object Identification
A.3 Input Object Mutations
A.4 Mutations updater