並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 795件

新着順 人気順

graphqlの検索結果201 - 240 件 / 795件

  • Why, after 8 years, I still like GraphQL sometimes in the right context

    A recent post, Why, after 6 years, I’m over GraphQL, made the rounds in the tech circle. The author argues that they would not recommend GraphQL anymore due to concerns like security, performance, and maintainability. In this post, I want to go over some interesting points made, and some points I think don't hold up to scrutiny. Always be Persistin' Ok, first of all, let's start with something may

      Why, after 8 years, I still like GraphQL sometimes in the right context
    • GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection

      tsukiji.graphql x ハッカー鮨 https://tsukiji-graphql.connpass.com/event/314173/

        GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
      • NestJS製GraphQLサーバの起動が遅かったので調査した話 - もうずっといなかぐらし

        こんにちは、かたいなかです。 最近、NestJS製のGraphQLサーバでのSchemaからのTypescriptファイルの生成が遅い問題を調査する機会がありました。 今回の記事では、ツールの使い方等の自分への備忘録を兼ねて、どのように問題に取り組んだかを記事にして紹介します。 TL;DR 高速化するならまずは計測から。計測によるボトルネック特定が最優先。 フレームグラフが遅い処理を特定するのに超便利。Node.jsなら0xがフレームグラフ生成に便利。 @nestjs/graphql でGraphQLのスキーマからTypescriptのファイルを生成する処理が速くなった。 経緯 最近関わった案件では、BFFとしてNestJS製のGraphQLサーバをスキーマファーストで使用していました。GraphQLによるスキーマファーストな開発の恩恵は日々感じているものの、サーバの起動時や再コンパイルの

          NestJS製GraphQLサーバの起動が遅かったので調査した話 - もうずっといなかぐらし
        • GraphQLをServer Componentsで使いたい

          BARフロントえんどう #1 「フロントエンドリアーキテクト」で使用した資料です! https://cybozu.connpass.com/event/297123/

            GraphQLをServer Componentsで使いたい
          • とあるプロジェクトにGraphQLを導入してみた話|NISSAN NAKAME BLOG | 日産ナカメブログ

            こんにちは。日産のルークスルークです。 バックエンド&Webチームで、PoC (Proof of Concept) プロジェクトのバックエンド(Go言語)を担当しています。 この技術noteでは、GraphQLを使ったことのない私のチームが、PoCプロジェクトで初めてGraphQLを採用してみた経験、その中でエンジニア個人として面白かったこと、良かったこと、大変だったことなどを話していきたいと思います。 GraphQLとは API向けに作られたクエリ言語Webのサーバとクライアント間のやり取りとして、RESTがよく用いられると思いますが、GraphQLはそのRESTの代わりとなるものです。 1つのエンドポイントに対してquery(データ取得リクエスト)やmutation(データ変更リクエスト)を投げて、知りたい情報の取得や、データの変更ができる仕組みです。 自分の所有している車の情報を取得

              とあるプロジェクトにGraphQLを導入してみた話|NISSAN NAKAME BLOG | 日産ナカメブログ
            • 自作マークダウンパーサーとNext13+Prisma+GraphQL+Supabaseでブログを自作した

              はじめに 以前RustとWASMでマークダウンパーサーを自作したので、これを使ってブログを作ってみました。 ソースコードは以下にあります。 技術構成 技術構成は以下のようになっています。 全体構成 フロントエンド Next.js / Type Script Apollo Client(状態管理ライブラリ) styled-components emotion mantine ミドルウェア Prisma BFF GraphQL Yoga(GraphQLサーバー) Pothos GraphQL(GraphQL スキーマビルダー) バックエンド Rust+WebAssembly(マークダウンパーサー) (Vercel Postgress(サーバレスストレージ)) Supabase デプロイ先 Vercel(FE/BF共通ホスティング先) 認証・認可 NextAuth ドメイン取得 Cloudfla

                自作マークダウンパーサーとNext13+Prisma+GraphQL+Supabaseでブログを自作した
              • GraphQLとは何か? イメージを掴む

                はじめに 今回の記事ではGraphQLについて、公式などを参考にしながら基本的なことをまとめてみました。 自分自身GraphQLのキャッチアップを始めるときに こんなこと知っときたかったなあ、ということをまとめたので これからGraphQLの勉強を始める方や興味のある方はよかったら読んでみてください。 大枠を掴むことをイメージして書いており、深い部分の説明を省いている箇所もあるので その点はご了承ください。 そもそもGraphQLとは? GraphQLはAPIのクエリ言語です。 クエリ言語というとSQLが有名ですが、SQLがデータベースに対してクエリを実行するのに対し、 GraphQLはAPIに対してクエリを実行します。 ちなみに、プログラミングにおけるクエリとは データに対する問い合わせや要求などを一定の形式で文字に表現すること、 要は所定の形式で対象のデータにやりたいことを伝えること、

                  GraphQLとは何か? イメージを掴む
                • Amplify for Androidでより直感的になったGraphQLを試した - 怠惰を求めて勤勉に行き着く

                  TL;DR 本エントリはAWS Amplify Advent Calendar 2019の24日目です! 今回は新しくリリースされたAmplify for Androidを使って、前回と同じく下のようなチャットアプリを作るので、興味のある方は前口上を飛ばして後半をお読みください🎄 Amplifyとは 本題に入る前に、Amplifyを最近よく耳にするようになったけど何かよく分かっていないという人向けの説明をします。 Amplifyはモバイルバックエンドを爆速で作るためのサービスです。 https://aws.amazon.com/jp/amplify/ 他のいわゆるモバイルバックエンドとの際立った違いのうち、個人的に強調したいのは以下2点です。 バックエンドはAWSのサービスであり、真の意味でスケールする GraphQLのマネージドサービスを利用できる本日時点で唯一のプラットフォームである

                    Amplify for Androidでより直感的になったGraphQLを試した - 怠惰を求めて勤勉に行き着く
                  • graphql-codegen は validation 用の schema も自動で生成できる (yup と zod)

                    GraphQL Code Generator (a.k.a. graphql-codegen) のプラグインとして graphql-codegen-typescript-validation-schema (Star ください!) を利用すると yup や zod といったフロントエンド validation 用の schema も自動で生成できます。 例えばこのような GraphQL Schema を与えます。ここで記述している constraint directive は confuser/graphql-constraint-directive で提供されているものを想定してます。 input ExampleInput { email: String! @required(msg: "Hello, World!") @constraint(minLength: 50, format:

                      graphql-codegen は validation 用の schema も自動で生成できる (yup と zod)
                    • GraphQLとマイクロサービスは相性が良さそうな件 〜Apollo Federationを用いたスキーママージについて〜 | スペースマーケットブログ

                      GraphQLとマイクロサービスは相性が良さそうな件 〜Apollo Federationを用いたスキーママージについて〜 こんにちは バックエンドエンジニアの西尾です。 スペースマーケットではバックエンド側は長らく単一のアプリケーションで構成されていましたが、去年くらいからマイクロサービスアーキテクチャーへの移行を進め始めました。 すでに本体(Main)と検索機能(Search)(※1)は分離されていますが、現在は本体から予約部分を切り出すことを行なっています。 (※1: 元の本体のバックエンドAPIのことをMainまたはv2, Mainから部屋の検索などを担う部分だけを切り出したサービスをSearchと記載しています。) 切り出すにあたり、考えなければならないことはたくさんあるのですが、今回はその中で 複数サービスに分離されているデータを合成し、クライアントに単一システムだった時と同じ

                      • GraphQL のレスポンスのモックデータの作成を補助する TypeScript ライブラリを作った - mizdra's blog

                        GraphQL を使って Web アプリケーションを実装していると、GraphQL API のリクエストをモックしたいことがあると思います。 ユニットテストのために、ダミーレスポンスに差し替えたい ビジュアルリグレッションテストのために、ダミーレスポンスに差し替えたい Storybook で story を書くために、ダミーレスポンスに差し替えたい バックエンドの resolver 実装を待たずにフロントエンド側の開発を始めるために、ダミーレスポンスに差し替えたい 一般には GraphQL Client にモックするための機能が実装されてるので、そうしたものを使うことが多いと思います。 zenn.dev また最近は Client よりも外側のレイヤーでリクエストを interrupt してモックする「msw」を使うケースも増えてきてます *1。 blog.engineer.adways.n

                          GraphQL のレスポンスのモックデータの作成を補助する TypeScript ライブラリを作った - mizdra's blog
                        • GraphQLで極力GET Requestを使いつつRequest-URI Too Largeを回避したい - スタディサプリ Product Team Blog

                          こんにちは、 Web フロントエンドエンジニアの @progfay です。 今回はプロジェクトで遭遇した URL 長による GraphQL Request の失敗と Apollo Link による解決方法を紹介します。 引数に配列を受け取る GraphQL field 私の所属するスタディサプリ中学講座の開発プロジェクト (通称: tara) では通信に GraphQL を採用しています。 その中で、以下のような field を実装しています。 type Query { entities(ids: [ID!]!): [Entity!]! } これに対して、以下のような Query を叩きます。 query specificEntities($ids: [ID!]!) { entities(ids: $ids) { name } } Request-URI Too Large ある日、この

                            GraphQLで極力GET Requestを使いつつRequest-URI Too Largeを回避したい - スタディサプリ Product Team Blog
                          • GitHub - graphql-nexus/nexus: Code-First, Type-Safe, GraphQL Schema Construction

                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                              GitHub - graphql-nexus/nexus: Code-First, Type-Safe, GraphQL Schema Construction
                            • GraphQL Scalars便利だなぁ🚀

                              こんにちは、yunbooです。 今回はThe Guildという組織が開発しているGraphQLエコシステムのGraphQL Scalarsについての記事です。 余談なんですが、The Guildは今回紹介するGraphQL Scalars以外にも様々なエコシステムを提供しており、その代表格としてはGraphQL Code Generatorがあると思います。 他にも、たくさん便利なものを提供しているので、もろもろ見てみると役に立つ情報が得られたり、面白いと思います。 さて、本題ですがGraphQL Scalarsについて説明する前の前提知識として、GraphQLのScalar型について軽く説明します。 Scalar型とは GraphQLにはスキーマを定義する際に型が存在しますが、Scalar型とは プリミティブな値を表すもの フィールドが最終的に変換される、それ以上に分割出来ない型 Gra

                                GraphQL Scalars便利だなぁ🚀
                              • GraphQL Server on Edge

                                Workers Teck Tolks #1

                                  GraphQL Server on Edge
                                • Prisma2 with Graphql

                                  GraphqlTokyo #10 LT 資料

                                    Prisma2 with Graphql
                                  • GraphQL(gqlgen) の directive で事前条件、事後条件を実装する

                                    こんにちは。久しぶりに趣味でタイピングゲームに関するライブラリを開発している typer です。 テラーノベルでも遅まきながらバックエンド API を GraphQL に移行することになったので、GraphQL の表現力を活かしてドメインの関心事をスキーマに落とし込むことに四苦八苦している毎日です。今回は、こんな directive 作ってみたら解決したい問題にジャストフィットしたよ、というのを紹介していきます。 GraphQL 移行開始 2023年春現在、テラーノベルではバックエンド API を protocol buffer (protobuf) で定義しています。protobuf = gRPC みたいなイメージがありますが、Google App Engine(GAE) が gRPC 通信に非対応だったことやランタイムの Go のバージョンが低かったこともあって、twirp というフレ

                                      GraphQL(gqlgen) の directive で事前条件、事後条件を実装する
                                    • Compute@Edge は GraphQL Server の夢を見るか — HACK The Nikkei

                                      この記事はNikkei Advent Calendar 2021の6日目の記事です。 こんにちは、長期インターン生の林(Shinyaigeek)です。 fastly の提供する Compute@Edge という Edge Computing 基盤があります。 まだベータという形でですが、このランタイムで JavaScript の対応が始まったことをうけ、 Compute@Edge で何ができるのか、そのために何が必要なのか、というのを実際に Compute@Edge で Apollo Server を用いて GraphQL Server を建てることを通して考察します。 Compute@Edge とは 本題に入る前に Compute@Edge とはどのような技術なのか、何ができるのか、という説明から入りたいと思います。 Compute@Edge とは fastly が提供している Edge

                                        Compute@Edge は GraphQL Server の夢を見るか — HACK The Nikkei
                                      • TypeScript + Apollo ClientでGraphQLのデータに型を付ける - $shibayu36->blog;

                                        TypeScript + Apollo Clientで、useQueryなどを用いてGraphQLのクエリを発行する際に、クエリのvariablesやレスポンスのデータに型を付けたい。やり方が少々分かりづらかったのでメモを残す。 型をつけるためにやることは以下の通り。 apollo.config.jsを定義する graphql-tagでGraphQLのクエリを書く apollo client:codegenで型情報を生成する クエリを書いた場所で型をimportし、useQueryの型パラメータに指定する shibayu36/go-Intern-Diaryのレポジトリで試している。 apollo.config.jsを定義する まずApolloのコードジェネレータが適切に動作するために、apollo.config.jsを作る。Configuring Apollo projects - Apo

                                          TypeScript + Apollo ClientでGraphQLのデータに型を付ける - $shibayu36->blog;
                                        • Rust で GraphQL server を書いてみた

                                          こんにちは どうも、僕です。 みなさん、Rust 書いていますか。自分は最近入門しました。 今回は、元々 Go で書いていた個人ブログのサーバサイドを Rust で書いてみたのでそれについて書きます。 ソースコードはこちら。 ※ 筆者がこのコードを書き始めた段階での Rust 力は Tour of Rust を1周流し読みしたくらいの力量です。 どうして Rust なのか 個人的に入門してみたかったから。これに尽きます。 自分はフロントエンドの技術が好きで、普段からブラウザに近い部分のコードを書く機会が多いです。 そこでどうして Rust かというと、最近のフロントエンドはアプリケーションのランタイムの部分は従来通り JavaScript で動作している状態ではありますが、ビルド周りであったりのツールチェイン周りは他言語に置き換わるケースをしばしば見かけます。具体的な例で言うと、esbui

                                            Rust で GraphQL server を書いてみた
                                          • GraphQL SubscriptionsとRedis PubSubを使ってリアルタイムチャットサーバーを作る - Qiita

                                            はじめに 今まで触ってみたいと思っていたGraphQLとRedisを使って、リアルタイムチャットサーバーを作ってみました。 この記事では、主にGraphQLに重点を置いて実装を紹介していきます。 ソースコードはGitHubに上がっているので、そちらも合わせてご覧ください。 README.mdを見ればすぐにサーバーを建てることができるので、先に試してみるのも良いかもしれません。 アーキテクチャ 今回は以下のような構成になっています。 フロントエンドとサーバー間はGraphQLを用いた通信を行っています。 メッセージの送信やユーザーの作成は通常のGraphQLのMutationを、メッセージの受信は Websocket上で動作するGraphQL Subscriptionsを使用しています。 また、メッセージの配信にはRedisのPubSub機能を使っています。 これは、GraphQLサーバーが

                                              GraphQL SubscriptionsとRedis PubSubを使ってリアルタイムチャットサーバーを作る - Qiita
                                            • フロントエンドに型の秩序を与えるGraphQLとTypeScript | Wantedly Engineer Blog

                                              こんにちは。Wantedly Visit の Product Squad で Frontend Engineer をしている原 (chloe463)です。 Product Squad では主に Wantedly Visit の Web 版の新規機能開発やリニューアルを行っています。 本記事では、つい先日リリースされた募集作成画面の開発で導入したGraphQLサーバーの開発について紹介します。 ・より集中して作成しやすく:作成ステップを分割・より完成形をイメージしながら作成しやすく:ステップごとにモバイル版プレビュー画面が表示・カバー画像設定をより手軽に:アップロード後にガイドラインに合うようにトリミング可能に。また、モバイルアプリ、デスクトップ、ソーシャルで表示された際のプレビューが可能に・募集作成のTipsが閲覧可能に:一部作成ステップに対応したサポートコンテンツへのリンクが表示 TL;

                                                フロントエンドに型の秩序を与えるGraphQLとTypeScript | Wantedly Engineer Blog
                                              • GraphQLのクエリについて学んだ - $shibayu36->blog;

                                                Apollo Clientについて学ぼうと思い、Introduction - Apollo Basics - Apollo GraphQL Docsをやっていた。しかし、これをやる中でGraphQLのクエリ言語についてあまり分かってないことに気づいたので、Queries and Mutations | GraphQLを見て、クエリについて学習した。 Fragment、queryの命名、変数を使ってRDBのプレースホルダー的なことをする方法、ifの利用などが分かってよかった。以下メモ書き。 Fragmentを用いてクエリの再利用ができる 引数名を用いてFragmentに変数を引き継ぐこともできる query HeroComparison($first: Int = 3) { leftComparison: hero(episode: EMPIRE) { ...comparisonFields

                                                  GraphQLのクエリについて学んだ - $shibayu36->blog;
                                                • GraphQL入門

                                                  はじめに 対象読者 GraphQLについてざっくり学びたい人 公式ドキュメント読むのがしんどい人 Apollo/Relayどっちを使うか迷っている人 GraphQL概論編 RESTful API 代表的なWeb APIである、REST APIについて、簡単にまとめつつ、 GraphQLでできることについて、書いていこうと思います。 RESTful API(REST API)とは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、RESTと呼ばれる設計原則に従って策定されたものです。RESTそのものは適用範囲の広い抽象的なモデルだが、一般的にはRESTの考え方をWeb APIに適用したものをRESTful APIと呼んでいます。 RESTful APIでは、URL/URIですべてのリソースを一意に識別し、クライアントがHTTP(あるいはHTTPS)で要求

                                                    GraphQL入門
                                                  • GraphQL Error、下から見るか?横から見るか?

                                                    As you may have noticed, we mentioned that using usePreloadedQuery will render data from a query that was (or is) being… If you wish to access error information in your application to display user friendly messages, the recommended approach is to model and expose the error information as part of your GraphQL schema. 要するに、ユーザーにわかりやすいエラー情報を表示したければ、Schema の Model 情報としてエラー設計しなさいよ、ということだ。 そのまま Relay のド

                                                    • 【Go】GraphQL(gqlgen) + Go(gin) + runn でテストをしてみる

                                                      はじめに サーバーサイドの八木です。 娘が生まれてからアゴヒゲを一回もそっていなかったようでモサモサになってしまいました。 娘は喜んで引っ張っているので一旦はヨシとします(怒られたら謝ります) 先日、なんとなく Zenn を眺めていると以下の記事が目に入りました。 そういえばAPIのシナリオテストしたいけど、丁度いいツールが見当たらず長らく手つかずになっていたプロジェクトがあり、導入する価値がありそうだなぁと思い試してみました。 結果から言うと現在使用しています。導入して良かったと感じています 🎉 良かった点 go test で完結出来ること API の呼び出し結果を取り回すことが出来る テストケースだけYAMLに逃がすことが出来るのでメンテすべきファイルが明確になる 機能がシンプルなので学習コストが低い データベースへのクエリ発行も対応している 上記がポイントかと思います。 特に 「g

                                                        【Go】GraphQL(gqlgen) + Go(gin) + runn でテストをしてみる
                                                      • Migrating Netflix to GraphQL Safely

                                                        By Jennifer Shin, Tejas Shikhare, Will Emmanuel In 2022, a major change was made to Netflix’s iOS and Android applications. We migrated Netflix’s mobile apps to GraphQL with zero downtime, which involved a total overhaul from the client to the API layer. Until recently, an internal API framework, Falcor, powered our mobile apps. They are now backed by Federated GraphQL, a distributed approach to A

                                                          Migrating Netflix to GraphQL Safely
                                                        • GoでGraphQLの静的解析ツールを作る

                                                          はじめに Appify Technologiesでは以下のGraphQLの静的解析ツールをGoで実装しました。 Yamashou/gqlgenc - GraphQLクライアントコードの生成 gqlgo/lackid - idの指定を忘れているQueryを検出 gqlgo/nodecheck - Nodeを実装していないtypeを検出 gqlgo/deprecatedquery - deprecatedなqueryを検出 gqlgo/optionalschema - optionalなfieldをSchemaから検出 gqlgo/querystring - ソースコードの中からGraphQL Queryを抽出 忘れないうちにGraphQLの静的解析ツールの実装方法をまとめておこうと思います。 前提知識 Goの .go ファイルの静的解析ツールの作成にはanalysis を利用しますが、Gra

                                                            GoでGraphQLの静的解析ツールを作る
                                                          • GraphQL Rubyで起きたエラーをSentryにいい感じに通知する - pockestrap

                                                            GraphQL Rubyで定義したスキーマの実行中に起きたエラーをいい感じに通知するようにしたので、それを紹介します。 Problem GraphQL Rubyで定義したスキーマのフィールドのresolve中にエラーが起きた場合、Rubyレベルのバックトレースはあまり当てになりません。 Rubyレベルのバックトレースには、リクエストされたクエリのフィールド名などは出てきません。 そのためどのようなクエリが実行された結果エラーが起きたのか、という情報は見えません。 Solution これを解決するためにGraphQL RubyのTracerを使い、Sentryのextra contextとしてGraphQL RubyレベルでのバックトレースをSentryに送るようにしました。 これによって、次のクエリに対して、次のバックトレースがSentryに送られるようになりました。 GraphQL Qu

                                                              GraphQL Rubyで起きたエラーをSentryにいい感じに通知する - pockestrap
                                                            • GitHub GraphQL のノードIDフォーマットが変わるらしい

                                                              弊社では Terraform GitHub Provider を使って GitHub のレポジトリ管理・権限管理などを行っているのですが、 プロバイダーが repository_id を認識してくれない問題に遭遇しました。 原因を探ってみると GitHub GraphQL API に かなり大きな変更が入ること を知ったので、メモとして残しておきます。 グローバルノードID GraphQL API から扱えるすべてのオブジェクト (レポジトリ、ユーザー、etc) にはIDが振ってあります。 Using global node IDs 例えば僕 (@shogo82148) のノードIDは MDQ6VXNlcjExNTczNDQ= です。 $ curl https://api.github.com/users/shogo82148 | jq .node_id "MDQ6VXNlcjExNTcz

                                                              • Open Sourcing the Netflix Domain Graph Service Framework: GraphQL for Spring Boot

                                                                Netflix has developed a Domain Graph Service (DGS) framework and it is now open source. The DGS framework simplifies the implementation of GraphQL, both for standalone and federated GraphQL services. Our framework is battle-hardened by our use at scale. By open-sourcing the project, we hope to contribute to the Java and GraphQL communities and learn from and collaborate with everyone who will be u

                                                                  Open Sourcing the Netflix Domain Graph Service Framework: GraphQL for Spring Boot
                                                                • AWS AppSyncキャッシングとAmazon DynamoDBトランザクションのサポートによりGraphQL APIのパフォーマンスと一貫性が更に向上します | Amazon Web Services

                                                                  Amazon Web Services ブログ AWS AppSyncキャッシングとAmazon DynamoDBトランザクションのサポートによりGraphQL APIのパフォーマンスと一貫性が更に向上します AWS AppSyncはGraphQLのマネージドサービスで、単一または複数のデータソースのデータに安全にアクセスしたり、操作したり、結合するための柔軟なAPIを作成でき、アプリケーション開発をシンプルにすることができます。多くの場合、異なったデータソースは異なったユースケースに合わせて最適化され、データが配信されるスピードも異なっていることでしょう。その基になるGraphQLスキーマで定義されているデータフィールドもかなり多様です。 たとえば、eコマースアプリケーションでは、在庫量を表すデータフィールドは頻繁に更新されますが、顧客プロフィールの更新は時々です。トランザクションIDに

                                                                    AWS AppSyncキャッシングとAmazon DynamoDBトランザクションのサポートによりGraphQL APIのパフォーマンスと一貫性が更に向上します | Amazon Web Services
                                                                  • genqlient: A truly type-safe Go GraphQL client

                                                                    by Ben Kraft Kevin has written about our multi-year project to replace our Python 2.7 monolith with services written in Go. As part of the transition to a service-oriented architecture, we decided to migrate all our REST APIs to GraphQL—including new APIs for service-to-service communication. Even with Apollo Federation handling much of our fan-out, we have over 300 distinct GraphQL requests from

                                                                      genqlient: A truly type-safe Go GraphQL client
                                                                    • 開発者フレンドリーは“ハッカーにとってもフレンドリー” 「GraphQL」の機能を使った悪用事例と究極の対策

                                                                      「攻撃者の視点から見たGraphQLのセキュリティ」というタイトルで登壇したのは、kuzushiki氏。「おもしろかった脆弱性」について解説し合い、脆弱性に関する知識を深めるためのイベント「Security․Tokyo #2」で、「GraphQL」の機能による悪用と、対策について発表しました。 登壇者の自己紹介 kuzushiki氏:それでは、発表を始めていきたいと思います。 まず簡単に自己紹介をさせてください。私は、kuzushikiと申します。現在、とあるセキュリティベンダーで診断員をやっていて、主にWebアプリケーションの脆弱性診断をしています。最近、バグバウンティに興味を持って、そういうものをちょっとやってみています。 “開発者フレンドリー”という特徴を持つ「GraphQL」 今回は「GraphQL」について話しますが、その前に、もうGraphQLを知っているよという方は、どのぐら

                                                                        開発者フレンドリーは“ハッカーにとってもフレンドリー” 「GraphQL」の機能を使った悪用事例と究極の対策
                                                                      • Gaudiyのプロダクト戦略とGraphQLの活用 - Gaudiy Tech Blog

                                                                        こんにちは!Gaudiyのエンジニアの永井(@sho0910K)です。 Gaudiyでは昨年からGraphQLを導入し、スキーマ駆動開発に取り組んできました。導入からまもなく1年を迎えようとしていますが、良かったところや、改めて浮き彫りになった課題や気づきがあったので、今回はGraphQLの取り組みについてまとめてみたいと思います。 GraphQLの導入を検討しているチームや、実際に活用しているチームのご参考になれば嬉しいです。 1. GraphQL導入の背景 2. GraphQLをプロダクトでどのように活用しているのか 3. GraphQLを実践する上での工夫 3-1. クライアントもサーバーもApolloを利用 3-2. Apollo Datasourceを使ったFirestore設計とテスト 3-3. ドメイン駆動によるスキーマ設計 3-4. GraphQLのナレッジをチームで貯める

                                                                          Gaudiyのプロダクト戦略とGraphQLの活用 - Gaudiy Tech Blog
                                                                        • GraphQLクライアントの技術選定 2023冬

                                                                          Kaggle Tokyo Meetup2023 CommonLit Solutionの紹介と考え方 - Fulltrain戦略と(Seed/Model)Ensembleの可視化 -

                                                                            GraphQLクライアントの技術選定 2023冬
                                                                          • GraphQL Schemaの破壊的変更をCIで検知する

                                                                            ここ数年、私はGraphQL APIサーバーの開発を行っています。GraphQLは柔軟かつ強力なAPIクエリ言語で、Webフロントエンドからモバイルアプリなどいくつかのクライアントがそれぞれ画面に必要なデータをフェッチしており、フロントエンドの開発パフォーマンスが向上しました。 破壊的変更の問題 私のチームではGraphQLサーバーはRailsとGraphQL Rubyを用いてCode First[1]で開発しています。 しかし、複雑性が増すにつれてクライアントやクエリの全体像を把握できずに破壊的変更を引き起こすこともあり、その変更が既存のクライアントに影響を与えないように注意深くSchemaを管理する必要があります。 実際に最近、fieldやmutationの引数の変更がクライアントに不具合をもたらす事態に発生しました。 破壊的変更の検知 そもそもGraphQLは仕様が網羅されているSc

                                                                              GraphQL Schemaの破壊的変更をCIで検知する
                                                                            • GraphQL Vulnerabilities | Application Security Cheat Sheet

                                                                              GraphQL is a query language designed to build client applications by providing an intuitive and flexible syntax and system for describing their data requirements and interactions. GraphQL uses a declarative approach to fetching data, clients can specify exactly what data they need from the API. As a result, GraphQL provides a single endpoint, which allows clients to get the necessary data, instead

                                                                                GraphQL Vulnerabilities | Application Security Cheat Sheet
                                                                              • Announcing the Release of Apollo Client 3.0 | Apollo GraphQL Blog

                                                                                July 14, 2020Announcing the Release of Apollo Client 3.0 Today we’re thrilled to announce the official release of Apollo Client 3.0! This release is the culmination of 55 betas, 14 release candidates, and hundreds of resolved issues and merged pull requests over the past eleven months. Phew! To everyone who’s tried out AC3 during this extended beta period, thank you. We couldn’t have reached this

                                                                                  Announcing the Release of Apollo Client 3.0 | Apollo GraphQL Blog
                                                                                • RustのSchema First GraphQLライブラリrusty-gqlを作りました

                                                                                  なぜ作ったのか これまでRustのGraphQLライブラリはjuniperとasync-graphqlがありました。 これら2つはCode Firstで設計されており、GraphQLのスキーマ定義をRustのマクロを使用して定義します。 以下はasync-graphqlの例です。 use async_graphql::*; struct MyObject { value: i32, } #[Object] impl MyObject { async fn value(&self) -> String { self.value.to_string() } async fn value_from_db( &self, ctx: &Context<'_>, #[graphql(desc = "Id of object")] id: i64 ) -> Result<String> { let co

                                                                                    RustのSchema First GraphQLライブラリrusty-gqlを作りました