happiness (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) happiness

英語苦手な人がGraphQL-RubyのSubscriptionを読解した思考過程1(OverViewの最初)

概要

高校生の時に英検2級200点合格ラインで、199点取った人の読解レベルで、

Broadcasts

を読み込みます。思考過程です。

第一段階の理解

量が多くてしんどいと思い、最初の概要っぽいところを読み込みます。

f:id:masanolinks:20210308105942p:plain

Subscription typeがエントリーポイントとなるとは?

The Subscription type is the entry point for subscription queries

つまりは、endpoint?→/graphqlとは別にエンドポイントができるってことではなく、 graphqlのendopointに対して、subscription { } 見たいのができるってことかしら

つまり下記のような概念としてまとめられる? (おそらくentry pointという概念が下記のようなやつを指しているんでしょう(類推))

query {
}

mutation {
}

subscription {
}

Subscription classes

Subscription classes are resolvers for handing initial subscription requests and subsequent updates

初回のsubscriptionのrequestとその後の更新を解決する

つまり、

  • 一回目request受け取ったときの処理
  • その後request受け取ったときの処理

この2つを記述する

例えば、チャットでいうと、

  • あるチャットルームに参加したときの処理
  • その後、そのチャットルームの情報を更新する処理

Triggers

Triggers begin the update process

トリガーが、更新処理を始める

先述のSubscription classesの出でてくるのかな?? (わからん)

The Implementation

The Implementation provides application-specific methods for executing & delivering updates.

実装には、更新ごとにそのアプリ固有の処理を追加できる。  例 - チャットの更新とともにログ取る - チャットに対して、ポイントを付与する(?意味不明)など

とにかく、更新時をフックとして好きな実装をいれられるよーってわけですかね。

Broadcasts

Broadcasts can send the same GraphQL result to any number of subscribers.

例 - 同じチャットルームのメンバーそれぞれに、最新のメッセージを送れる