Anúncio

20221110_ent.について_リゾルバ実装編.pptx

12 de Mar de 2023
Anúncio

Mais conteúdo relacionado

Anúncio

Último(20)

20221110_ent.について_リゾルバ実装編.pptx

  1. ent.について リゾルバ実装編 1/11
  2. 前回のあらすじ ・グラフ構造に特化したORM、ent.の設定を開始 2/11 ・ent.の設定ファイルによって、RDBの全テーブルのフィールドと、 テーブル間の関係性を定義
  3. 今回用意したテーブル構造 ・汎用なSNSを想定 ・アカウントはポストを投稿できる ・ポストには位置情報を追加できる ・ポストには「いいね」とコメントができる ・アカウント同士でフレンド関係を作れる ・特定のアカウントをミュートにできる 3/11
  4. クライアント リゾルバ リゾルバがクエリを受け取り、リゾルバがORMの関数を呼び出し、 ORMがSQLを発行する GraphQLサーバーの流れと実装 4/11 ORM(ent.) DB ent. + gqlgenで実装 .entのデータ モデリングで定義 手動で実装
  5. 5/11 gqlgen ・スキーマを定義することで、クエリ受け取りと レスポンス返却の部分を自動で実装するライブラリ ent.とgqlgenの連携 ent.はデータモデルからスキーマを生成する機能があり、 そのスキーマからリゾルバを生成する流れを自動化できる gqlgenによる自動生成前に 簡単なコードを実行するように仕込む
  6. 6/11 ent.とgqlgenによる自動生成後 リゾルバが自動的に作成された後、panic~ の部分を書き換えていく スキーマを追加で用意すれば、他のリゾルバも 自動で生成してくれる
  7. 7/11 ent.とgormのリゾルバ記述の比較① Golangの代表的なORMであるgormでリゾルバを実装した場合と比較 全ポストを検索する記述 gorm ent.
  8. 8/11 全ポスト+αの検索結果 ポストを投稿した アカウントの名前とそのフレンドの名前 ポストにコメントした アカウントの名前とコメントの内容 ポストにいいねした アカウントの名前 ポストのID ポストのタイトル ポストの内容 クエリ レスポンス
  9. 9/11 ent.とgormのリゾルバ記述の比較② ポストを投稿する記述の比較 gorm ent.
  10. 10/11 ポストの投稿結果 クエリ レスポンス 投稿のデータ レスポンスしてほしいデータ DB
  11. ここまでのまとめ ・ent.のgqlgenの連携によってリゾルバの実装を自動化できる ・データモデリング完了後、次に行うのはリゾルバの実装 ・gormと比べ、ent.のリゾルバ実装は簡単なコードで実装できる 11/11
Anúncio