Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
20221110_ent.について_リゾルバ実装編.pptx
Katsushi21
20210916_正規表現.pptx
Katsushi21
20220602_Dockerイメージサイズの軽減について.pptx
Katsushi21
20220908_グラフ型DBについて.pptx
Katsushi21
20230121_DocumentNodeによる_.pptx
Katsushi21
20220331_gorm_テーブル定義.pptx
Katsushi21
20221215_ent.について_クライアントサイド実装編.pptx
Katsushi21
20211008_配列とメモリ.pptx
Katsushi21
1
of
11
Top clipped slide
20220414GraphQLとORM.pptx
Mar. 12, 2023
•
0 likes
0 likes
×
Be the first to like this
Show More
•
4 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Engineering
GraphQLとORMの連携について
Katsushi21
Follow
Advertisement
Advertisement
Advertisement
Recommended
20211203_ワークスペースについて.pptx
Katsushi21
4 views
•
9 slides
20220416_GraqhQLとORMの連携.pptx
Katsushi21
4 views
•
13 slides
20220723_GraphQLのクライアントサイド実装.pptx
Katsushi21
6 views
•
11 slides
20220113_GraphQLについて.pptx
Katsushi21
3 views
•
7 slides
20220131_テストについて .pptx
Katsushi21
3 views
•
7 slides
20211021_公開鍵暗号方式.pptx
Katsushi21
7 views
•
7 slides
More Related Content
More from Katsushi21
(16)
20221110_ent.について_リゾルバ実装編.pptx
Katsushi21
•
5 views
20210916_正規表現.pptx
Katsushi21
•
6 views
20220602_Dockerイメージサイズの軽減について.pptx
Katsushi21
•
5 views
20220908_グラフ型DBについて.pptx
Katsushi21
•
4 views
20230121_DocumentNodeによる_.pptx
Katsushi21
•
4 views
20220331_gorm_テーブル定義.pptx
Katsushi21
•
5 views
20221215_ent.について_クライアントサイド実装編.pptx
Katsushi21
•
4 views
20211008_配列とメモリ.pptx
Katsushi21
•
3 views
20210709_dockerDEV.pptx
Katsushi21
•
3 views
20210730_コンテナの管理ツールについて.pptx
Katsushi21
•
3 views
20221209_SNSMAツール.pptx
Katsushi21
•
4 views
20210813_dockerfile.pptx
Katsushi21
•
4 views
20211111_ブロックチェーンについて.pptx
Katsushi21
•
5 views
20220218_JWTについて.pptx
Katsushi21
•
17 views
DocumentNodeとGraphql
Katsushi21
•
30 views
20220416_GraqhQLとORMの連携.pptx
Katsushi21
•
89 views
Recently uploaded
(20)
174-田纳西大学.pdf
LorettaPrice2
•
2 views
★可查可存档〖制作温尼伯大学文凭证书毕业证〗
mmmm282537
•
3 views
134-休斯敦大学.pdf
fdhrtf
•
2 views
ChatGPTをもっと使いたい.pptx
TokioMiyaoka
•
410 views
#买美国学历毕业证书代办普林斯顿大学文凭证书
JhhhfGffh
•
2 views
★可查可存档〖制作巴黎第十二大大学文凭证书毕业证〗
tujjj
•
3 views
★可查可存档〖制作布克大学文凭证书毕业证〗
mmmm282537
•
2 views
☀️《Ohio毕业证仿真》
DFFFFG
•
2 views
EchoyaGinhanazeSu_inoka.pptx
keink
•
2 views
☀️《SLC毕业证仿真》
hjhgg1
•
2 views
SPECIALIZED heavy racks.pdf
FernandoRivasCortes1
•
2 views
法国:蒙彼利埃大学毕业证办理流程
cyvyvgk
•
3 views
AI予約サービスのMLOps事例紹介
Takashi Suzuki
•
4 views
#国外留学文凭购买Trent假毕业证书
fc2c0f2b1mymailol
•
2 views
美国:伦斯勒理工学院毕业证办理流程
amdfot
•
2 views
103卡内基梅隆大学.pdf
LorettaPrice2
•
2 views
☀️《UMCP毕业证仿真》
DFFFFG
•
2 views
★可查可存档〖制作奥克兰商学院文凭证书毕业证〗
tujjj
•
2 views
56.桑德兰大学.pdf
dsadasd17
•
2 views
230216_AI技術共有会_園部.pdf
RyosukeSonobe
•
2 views
Advertisement
20220414GraphQLとORM.pptx
GraphQLとORMの連携について 1/11
gqlgenによるGraphQLと、GORMによるDB操作 ・gqlgen ・GORM スキーマを定義することで、クエリ受け取りと レスポンス返却の部分を自動で実装する 受け取ったクエリの値を用いてデータベースの 操作を行い、その結果をgraphqlに返す 2/11
クエリによるuserの新規登録① Userのデータ型 Userにデータを 入れるときの型 レスポンスに記載したい 新規登録したUserのデータ 新規に登録する Userのデータ 新規にUserを作るための 関数名 スキーマ定義 クエリ 3/11
クエリによるuserの新規登録② レスポンス データベース内のデータ クエリをエンドポイント「/query」にPOSTするのみで 簡単にUserの登録ができた 4/11
/queryにPOSTすると、 graphqlハンドラに DB接続が渡される DB接続とルーティング DB接続処理 gqlgenが用いるResolver型に GORMのDBを渡す 5/11
DB操作のコード(CREATE) VALUESに入る値を inputから取得 スキーマ 関数 SQLログ INSERT文作成 6/11
DB操作のコード(UPDATE) VALUESに入る値を inputから取得 スキーマ 関数 SQLログ First()でIDに合致するUserを探し、 そのUserに対してUpdates()する クエリ 7/11
DB操作のコード(DELETE) ID指定でUserをDELETEする。 Clausesを呼び出して消去した Userの取得も行う スキーマ 関数 SQLログ 8/11
DB操作のコード(READ)① スキーマ 全Userを取得する関数 関連テーブルを Eager Load GraphQLは関連テーブルのデータも同時に取得できるが、 そのまま検索するだけではN +
1問題が発生する 関連テーブル GraphQLは関連テーブル同士に双方向性を持たせることが ベストプラクティスと言われる。 これに従い、typeには関連テーブルのtypeも含めると、 Eager Loadが行いやすくなる 9/11
DB操作のコード(READ)② 2人のUserと 合計13つのPost 全Userを、投稿したPostも含めて取得する User Post Postが13つあるため、14つのSELECT文が 作成されるところ、 Eager Load により6つまで減らすことができた 10/11
GraphQLとORMを組み合わせるメリット ・データベース処理の最適化とレスポンス絞り込みにより、 大きなパフォーマンス向上が狙える ・後からデータ定義を変更しても、容易に対応ができる ・N+1問題やエラーハンドリングなど、GraphQLの苦手分野に 対応がしやすくなる ・DDDやCQRSなど、モダンな設計パターンと相性が良い 11/11
Advertisement