2024/02/08 に「LayerX、スタディサプリ、SHEと考える GraphQLが向いている現場とは?運用実践LT」で、内山高広( @highwide )が発表した資料です。 #Offers_GraphQL実践LT
![GraphQL「良さ」・「難しさ」再探訪 〜スタディサプリにおける実例〜 / StudySapuri with GraphQL](https://cdn-ak-scissors.b.st-hatena.com/image/square/48234d15c7aedcbc2cb01c77ca6f05f705360e83/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F51c38ce02b834696be813b262ab25fd2%2Fslide_0.jpg%3F28863753)
皆さんこんにちは。株式会社バベルでエンジニアをしている uhyo です。バベルが提供しているaileadというプロダクトではフロントエンドとバックエンドの通信にGraphQLが使用されています。 実は、当初のaileadにおけるGraphQLの使い方は望ましいものではありませんでした。そこで、筆者はGraphQLの使い方を改善し、最終的に他では類を見ないくらい型安全にGraphQLを利用する仕組みを構築しました。この記事では、従来のGraphQLの使い方がどのように良くなかったのかを紹介し、それを克服するために行ったことを解説します。 GraphQLの良くない使い方 まず、従来の良くないGraphQLの使い方を例を挙げて紹介します。ただし、以降に出てくるコードは例であって実際のサービスで使われているものではありません。その点はご了承ください。 例えば、自分の組織の中のユーザーを全部取得でき
Pagination Different pagination models enable different client capabilities A common use case in GraphQL is traversing the relationship between sets of objects. There are a number of different ways that these relationships can be exposed in GraphQL, giving a varying set of capabilities to the client developer. Plurals The simplest way to expose a connection between objects is with a field that ret
本記事は、QiitaのGraphQL Advent Calendar 2018の3日目の記事になります。 Self-Intro / 自己紹介 まずは、自己紹介をさせて頂きますと私はウェブ系の受託業務をやっている普通のプログラマですが、週末はUdemyのコース作成やサポート、あるいはYouTuber活動をやっていたりします。今年は私にとってはUdemy元年でした。有り難いことに、ReactとGraphQLの2つのコースをリリースさせて頂き多くの方に受講頂いております。(皆様もUdemyの講師を始めてみませんか?と調子に乗って宣伝してみたり。。。)また、このQiitaさまにも掲載されている広告等からもご購入頂いた事例もあり、そういう意味ではQiitaさまにも大変お世話になった有り難い1年となりました。そして、2019年もどうぞ宜しくおねがい致します。 Format and Assumption
This specification aims to provide an option for GraphQL clients to consistently handle pagination best practices with support for related metadata via a GraphQL server. This spec proposes calling this pattern “Connections” and exposing them in a standardized way. In the query, the connection model provides a standard mechanism for slicing and paginating the result set. In the response, the connec
Front-End Web & Mobile AWS AppSync and the GraphQL Info Object This article was written by Brice Pellé, Principal Specialist Solutions Architect, AWS AWS AppSync is a fully managed service that allows to deploy Serverless GraphQL backends in the AWS cloud. GraphQL is a data language for your API that makes it easy and straight forward to interact with multiple data sources. One of the advantages o
この記事はUnity Advent Calendar 2021の11日目の記事です。 概要 今回はNuGetからインストールできるGraphQL.Clientを利用して、AWSのAppSyncを利用する手順を書いていこうと思います。 特にSubscriptionを行うには手順が必要でこれを知るのにかなり苦戦しました。 今回のサンプルはGitHubにアップしてあります。 github.com 概要 GraphQLとは AWS AppSyncの設定 APIを作成 スキーマを見てみる クエリを見てみる スキーマを定義しそれを呼び出す Unityによる実装 NuGetをインストール queryを実行する GraphQLHttpClientを作成 GraphQLRequestを作成 リクエストを投げてレスポンスを得る レスポンスを受け取る型の定義 mutationを実行する subscription
top > 開発ブログ > AWS > AWS AppSyncのGraphQL Subscriptionsのクライアントを作って裏側の仕組みを学ぶ こんにちは、ナカエです。 マネージドなGraphQLサーバを手軽に作れるAWS AppSyncがじわじわと人気を集めてきているようですね。 AppSync APIのクライアントとしては公式のSDKたるAmplifyを利用すると楽ちんです。 が、しかし今回はAppSyncのGraphQL Subscriptions実装の仕組みを確認するため、Node.jsとWebSocketクライアントを使ってリアルタイム通信のクライアントを実装しました。 GraphQLのスキーマとAppSync API の認証モード 本記事のサンプルはトピックごとにメッセージを投稿/受信する簡易なチャットルームアプリを想定しています。 Mutationはメッセージの投稿に、S
今回はデモアプリで AppSync (GraphQL) の Subscription を使ってみたときに、なぜか購読しているオブジェクトがうまく取得できずハマったので、リゾルバーが必要な場合の設定方法なども併せてご紹介します。 AWS AppSync で GraphQL を “試してみた” 系の記事は多いのですが、なかなか実用的なアプリになりそうな例は少ないのが現状です。 AWS のドキュメントやチュートリアルにもあまり詳しいことは載っていない上、英語の情報もイマイチ少ないので、ハマったときは結構ツライです。公式で使えるリソースは下記の 2 ページぐらいでしょうか。 Real-Time Data - AWS AppSync AWS AppSync を使用して、外部データベースの更新をサブスクライバーにリアルタイムで通知する 前提条件 AWS AppSync GraphQL について基本的な
今回伝えたいこと Hasuraの有効性を伝える 開発工数の削減効果 柔軟性の高さ セキュア 「開発工数の削減」という課題 昨今のエンジニアの不足や単価の上昇により、開発工数を十分に確保できない課題がある。どこの会社も開発工数を減らすために色々な策を講じているのではないか。 新技術の活用 慣れた技術の利用 プロセスの見直し 徹底した自動化 スコープの見直し 過剰品質をやめる などなど。今回は一番上の「新技術の活用」によって開発工数を削減できる可能性があるのではないかということを提案する。 こんなアプリを作ることになったとする 仮にあなたがこんなアプリを作ることになったとする。 シンプルなオンラインホワイトボードツールで以下のような機能があることが必要 付箋に文字を書ける 付箋を動かせる 付箋の色がユーザ固有の色になる 付箋を消せる(自分の作った付箋だけ) 付箋の位置、内容などをリアルタイムに
はじめに こちらは バイセルテクノロジーズ Advent Calendar 2021 の 9 日目の記事です。 前日の記事は 飯島さん の「新規プロジェクトにインフラ監視ツールを導入した話」でした。 こんにちは。2021 年に新卒で入社した開発 2 部の小松山です。 私は今年の 6 月末までバックエンドは Ruby on Rails がメインのプロダクトの保守開発業務を行っていたのですが、7 月から新しいプロジェクトへ配属され、新規プロダクトの開発に携わることになりました。そこではバックエンドに Hasura を採用しています。この記事では、その Hasura を実際にプロダクト開発に利用して見えてきた、メリット・デメリットを紹介できればと思います 目次 はじめに 目次 前提 Hasura の概要 プロジェクトでの運用 良かったところ テーブル作成が完了すればフロントエンドの開発を始めるこ
はじめに 目的 本記事の目的は、オープンソースで開発されているGraphQLサーバーHasura GraphQL Engine(以下、特別な文脈がない限りHasuraと表記)の概要について紹介することです。 筆者はここ半年ほど、業務・プライベートの開発でHasuraを使用しています。Hasuraを一通り触った段階で、自分の知識の整理と、まだまだ少ない日本語情報の充実の一助になればという動機で本記事を公開しました。 本記事を通して 「聞いたことはあるけど、日本語情報が少なくてよく分かっていない」 「技術選定の判断軸として、他事例を元に便利/つらみポイントを把握しておきたい」 という方の参考になれば幸いです。 構成 本記事は、以下のように構成されています。 前半:Hasura公式ドキュメントの内容を交えて、Hasuraの概要について簡単に述べた内容 後半:筆者の開発・運用体験に基づいてメリット
https://hasura.io/ が使ってみたらめちゃくちゃ便利なのですがあまり使ってる人が多くないようなので、hasura のいいところを挙げていきます。 hasura って何? hasura は PostgreSQL サーバーから自動的に GraphQL サーバーを建てられるツールです。 Docker イメージとして配布されていて、対象となる PostgreSQL サーバーのアドレスや PW を設定して起動すればすぐに GraphQL サーバーとして使えます。(実際は hasura コンソールから公開するテーブルを選択したりします。詳しくはdoc) ローカルで起動するならこういう感じです。 docker run -d -p 8080:8080 \ -e HASURA_GRAPHQL_DATABASE_URL=postgres://username:password@hostname
Hasuraとは、 自身の持っているデータに対して、即座にGraphQLとREST APIを提供してくれるサービスです。 Hasura Cloud上でのフルマネージド、またはセルフホスト型のサービスを選択できます。 サーバーレスアーキテクチャを採用している場合、DBへのアクセスには何かしらのAPIを別途用意することが多いと思いますが、Hasuraを使用することによりAPIの開発や保守にかかっている時間を短縮を図れると言われています。 ※ データにアクセスするときのイメージ サポートされているDBとAPI 現在は、DBでは PostgreSQL, MS SQL Server, BigQuery, Citusがサポートされているようです。 MySQLはベータ版として提供されていました。 APIは GraphQLとRESTがサポートされています。 料金 上記リンクに値段と機能比較が掲載されていま
This guide explains how to avoid common issues when deploying a project using Prisma ORM to AWS Lambda. While a deployment framework is not required to deploy to AWS Lambda, this guide covers deploying with: AWS Serverless Application Model (SAM) is an open-source framework from AWS that can be used in the creation of serverless applications. AWS SAM includes the AWS SAM CLI, which you can use to
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く