2021年6月第3週レポート

インプット

📝 GraphQLを調べ始めた

先週までCosmosDBやデータモデリング周りを調べていました。ここまででAzure Functionsを使ってとあるデータを吸い上げて格納する、というデモを作ったので、今度は貯めたデータを取り出すAPIのデモを作ろうとしています。今やっていることは技術調査と習得が一番の目的なので、自分が触ったことがないものをどんどん取り込む方針で動いています。なのでAPIのインタフェースはRESTではなく、これまで使ったことがないGraphQLを使うことにしました。

まず最初に読んだ記事はこちら。

GraphQL 入門ガイド | CircleCI

なんとなーくふんいきをはあく。要は必要十分なデータを取得するためのクエリインタフェースってかんじかな?利用者側で必要ないデータは取得しない済むし、しかも1回のリクエストで完結させることができるよ、ということですかね。

あと、あくまでもGraphQLはサーバ-クライアント間のインタフェースがターゲットなので、DB接続まわりのパフォーマンスについては考慮しないよ、ってのはそりゃそうだって感じですね。まだ、使う側の視点でしか理解できていないのですが、GraphQLのクエリの自由度が高そうなので、それを考慮した上でのDB側のデータモデリングやテーブル設計が重要になってきそうという感想を得ました。

もう少し実装よりのはなしも把握しておきたいので、今は以下のドキュメントを追っています。

the-road-to-graphql/the-road-to-graphql: 📓The Road to GraphQL: Your journey to master pragmatic GraphQL in JavaScript (github.com)

こちらの書籍のGitHubリポジトリですね。

まだ読み始めたばかりですが、サーバサイドはNode.js、フロントはReactを使ったハンズオン形式の内容っぽいので自分にとって都合が良さそうです。

よりリッチなコンテンツが欲しい場合はこちらを見るのがよさそう(React版は買った)

Road to GraphQL

アウトプット

🛠️ PromiseベースのTable Storage SDKについて記事を書いた

PromiseベースのTable Storage SDK (d-yama7.com)

先日Azure Table Storageの新しいSDKがリリースされたようなので、JavaScript版SDKの使い方をざっくりまとめました。旧来のSDKはコールバックベースの実装になっていたので、promisifyなどで頑張ってPromise化したりしていたのですが、もうそういった煩わしさから解放されます。インタフェースも見直しが入っており、だいぶ抽象化され直感的に扱いやすくなった気がします。自分が関わっているプロダクトでもAzure Table Storageはよく使っているのでどんどん置き換えていきたい所存。

Profile
d_yama
元Microsoft MVP for Windows Development(2018-2020)
Sub-category : Windows Mixed Reality
Search