もふもふ技術部

IT技術系mofmofメディア

graphql-ruby

GraphQL RubyでバリデーションエラーをUnion Typeで返す

graphqlでエラーを返す方法はいくつかあり、それぞれメリデメありますが、Unionで返すのが好みです。 例えば、以下のようにmutationで実行時のバリデーションエラーを共通のフォーマットで返すことを考えてみました。 mutation createPost($input: CreatePos…

graphql-rubyでRSpec実装してみた

はじめに graphql-rubyでは大きく分けてスキーマ構造テストと統合テストの2種類がありますが、今回は統合テストのmutationスペックについて紹介していきます。 記事について graphql-ruby初学者向けの記事を書いています。 関連記事 graphql-batchでN+1を解…

ファイルアップロード機能を実装してみた(graphql-ruby+ActiveStorage+React)

はじめに graphql-rubyでファイルをアップロードするにはBase64にエンコードしてGraphQL側に渡す必要があります。 しかし、この方法だとファイルサイズが3割程度大きくなり下記のデメリットが発生します。 - 通信が遅くなる - ファイルサイズによってリソー…

個人開発のcodegen.ymlの設定について考えてみた(GraphQL+Rails+React)

はじめに GraphQL+Rails+Reactという技術スタックの入門をした際、こちらの記事がとてもわかりやすかったです。 その中で、GraphQLCodeGeneratorの設定ファイルcodegen.ymlについて、特に解説がなかったので学習のために調べてみました。 公式はこちら https…

(GraphQL+Rails+React)無限ページネーション

はじめに UserとPostが1対多で結びついているような状況で、userとpostを一度 に取得することを想定しています。 記事について graphql-ruby初学者向けの記事を書いています。 関連記事 graphql-batchでN+1を解消してみた 無限ページネーション(現在の記事…

(Rails7 + GraphQL)graphql-batchでN+1を解消してみた

はじめに UserとPostが1対多で結びついているような状況で、userとpostを一度 に取得することを想定しています。 記事について graphql-ruby初学者向けの記事を書いていきます。 関連記事 graphql-batchでN+1を解消してみた(現在の記事) 無限ページネーシ…

新規サービスを作るときに使う技術選定

mofmofでは新規サービスをゼロから開発することが多くあります。 その際にshwldがどのように技術選定をしているのかを書いてみます。 こちらの記事がとても参考になる内容で、私なりにも書いてみようと思いこの記事を書いています。 https://zenn.dev/moga/a…

【Rails】GraphQL爆速入門 サンプルアプリでgraphql-rubyのCRUDをちゃんと理解する

以前は純Railsで開発を行うことが多かったんですが、最近はgraphql-ruby + SPAを採用することも増えています。 フロントの表現力がやっぱり違いますね。最近はリッチな要望をいただくことも多く、うまいこと対応するには都合が良いです。あと作ってて楽しい…