Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スポーツ×GraphQL

Cb88f765dd38cd942c39aacb5abbea06?s=47 ufoo68
April 11, 2020

 スポーツ×GraphQL

Cb88f765dd38cd942c39aacb5abbea06?s=128

ufoo68

April 11, 2020
Tweet

More Decks by ufoo68

Other Decks in Programming

Transcript

  1. スポーツ×GraphQL とりあえずネタがなかった

  2. 自己紹介 • 名前 ◦ ufoo68 • やってること ◦ AWSを使った開発 ◦

    スポーツIoTLTの主催 • 最近とった資格 ◦ ソリューションアーキテクトアソシエイト ◦ Alexaスキルビルダー
  3. 宣伝

  4. ときは二日前

  5. 最初に 毎度のことながら ネタがなかった

  6. 最初に考えたこと MiBand4を買ったのでハックしてみよう

  7. しかし 前回のスポーツIoTLTとIoTLT60回目にて 流石に同じネタをやるのは面白くない。。。

  8. 次に考えたこと 最近勉強してるGraphQLでスポーツネタできないかな

  9. 探したらなんかあった

  10. 順を追って説明

  11. TheSportsDB スポーツ選手・チーム・イベントに関するデータを取得できるAPI

  12. やろうと思ったこと 公式のGraphQL wrapperを使ってSportsDBのデータを取得してみる

  13. ここからGraphQLについての話

  14. まずGraphQLとは? • サーバとクライアント間の通信のための使用言語 • FaceBookの研究チームが提唱 • REST APIに変わる新たな技術(?)

  15. 誤解してたこと 既存のAPIサーバとクライアント間の通信の仕様が変わるのか? クライアント API サーバ クエリを投げる クエリを解釈 レスポンスを返す

  16. 本当は違った GraphQLというものが両者を仲介するようになる クライアント API サーバ クエリを投げる クエリを解釈してリクエストを投げる GraphQLサーバ リクエストを受け取る

  17. 実際にやってみた

  18. ローカルでGraphQLサーバを実行

  19. Postmanでクエリを実行

  20. スキーマのタイプを調べるクエリ query { __schema { types { name description }

    } } 試しにこのPlayerってやつを とってみよう
  21. Playerでとれる情報を調べる query { __type(name:"Player") { name fields { name }

    } }
  22. 適当な選手の情報を取得 query { player(id:34145937) { name sportType nationality } }

  23. 以上

  24. まとめ • MiBand4の話は前回のスポーツIoTLTと本家IoTLT vol.60のn0bisukeさんの資 料を見よう • スポーツIoTLTのIoTはInternet or Thingsなのでこんな話もしていい •

    GraphQLはREST APIとはまた立ち位置が違う • スポーツ関係ない話でごめんなさい