Understand the mechanism! Let's do screenshots tests of Compose Previews with various variations / 仕組みから理解する!Composeプレビューを様々なバリエーションでスクリーンショットテストしよう

こんにちは、エンジニアの柿木です。 今回は、スキーマ駆動のAPI開発について投稿します。 スキーマ駆動のAPI開発とは? スキーマ駆動のAPI開発とは、「最初にスキーマの設計をし、APIの開発者と利用者がそのスキーマを中心に開発を進めていく手法」と言えるかと思います。 スペースマーケットで最初に私が取り入れてみようと思ったきっかけは、昨年12月に発行されたWEB+DB PRESS Vol.108|技術評論社の特集を読んだことがきっかけでした。 スキーマ駆動開発導入のモチベーション 以前のブログや勉強会でも紹介されていた通り、弊社では、GraphQLを採用しています。 RailsでGraphQL APIを作る時に悩んだ5つのこと 検索のMicroservices化 with Apollo Server – Speaker Deck GraphQL GatewayをNode.jsで作ってる話
scalar型を新しく定義するためにはscalarキーワードを使います。例えば、Date型を新しく定義するには次のようにします。 scalar Date スキーマではこれだけですが、実際に使う際はGraphQL処理系に対してさらにシリアライズとデシリアライズを定義することになります。 GraphQL組み込みのscalar型は先にあげたものだけなので、例えばバイナリ、日付と時刻、HTML/XML、BigIntなどを必要に応じて追加することになるでしょう。ただしその場合、サーバーサイドとクライアントサイドでシリアライズ・デシリアライズの実装を一致させる必要があります。 Enum enum(イナム)はscalar型の一種で、特定の値のみを持つ型です。例えば、組み込みscalar型であるBooleanをenumで宣言すると次のようになるでしょう。 enum Boolean { true false
DroidKaigi 2019 にスポンサー枠で参加しました。 弊社では Android アプリエンジニアをはじめとして各分野のソフトウェアエンジニアを募集しております。 人生を豊かにするプロダクトの開発や、大きな企業でのソフトウェア開発をいかに改善していくかといったところに興味がある方はぜひお声がけください! いっしょにやっていきましょう! DroidKaigi 2019 それはともかく DroidKaigi、様々なセッションがあって素晴らしかったですね。 運営、スピーカー、スポンサー、そして参加者の皆様、ありがとうございました。 私個人としては、GraphQL についての知見を得られたのが大きな収穫でした。 本記事について 本記事は、GraphQL サーバーを Kotlin で立てるにあたって、仕組みを学んだ軌跡を残すものです。 GraphQL 自体の初心者が、Kotlin で Gra
SOELU[ソエル] はオンラインのライブヨガスタジオです。空いた時間におうちでヨガを楽しめ、インストラクターとライブで繋がってレッスン受講できるのでおうちでもヨガが続きます。ヨガ初心者の方も歓迎!まずは無料体験から! GraphQLが発表されて3年、日本語の紹介記事が出回りはじめてから約1年ほど経過しました。プロダクション採用例もカンファレンスやブログでちょこちょこ見かけます。 私たちSOELU開発チームもGraphQLをサービス開発に採用し、使い勝手などを探ってきました。このエントリーでは、採用してみた所感をまとめます。 本題に入る前に、先日GraphQLの入門勉強会を行いました。そのときの資料と、GraphQLを使った簡単なアプリケーション実装例を公開します。GraphQLをまだキャッチアップできていない人はまずこの資料に目を通していただくと理解が深まるかと思います。 資料
ワールドカップ2018の2次予選が始まった後で、私たちは、参加チームについての人々のあらゆる問いに答える 簡単な手段 を作りたいと思いました。 要約 ワールドカップ2018のために、グラフデータベースNeo4jを使ったGraphQL APIを作成しました。試してみたい人は、 ここをクリック してください。 グラフデータベースNeo4jを使ったGraphQL APIの作成 既に私たちは、 ワールドカップについての全てのデータのデータベース を作成して、人々がクエリに使えるようにしましたが、これを、Neo4jのクエリ言語、Cypherを知らない人でもアクセスできるようにしたいと思いました。 GraphQLに助けてもらおう GraphQLの話をする前に、まず、私たちが作ったNeo4jグラフモデルを見てください。 グラフの中央に WorldCup ノードがあって、その周りにモデルの他のパーツが散ら
この記事は go Advent Calendar 2017 の15日目の記事です。 introduction goでapiを書いている皆さんは、apiのインターフェースとして何を使用していますか? json形式でレスポンスを返すのが一般的だと思いますが、grpcやGraphQLなど様々な技術が最近登場しています。 今回は、GraphQLの概要とgoでの実装について解説したいと思います。 GraphQLの概要 GraphQLはFacebookが開発したクエリ言語です。2015年のReact.js Confで発表されました。 国内での流行りはそれほどではありませんがgithubが採用したりいくつかの企業が採用したことによって知名度が上がりつつあります。 GraphQLの大まかな特徴として、クライアントが欲しい情報を指定することが可能ということと、1度のリクエストで多く(任意)のリソースの取得が
本記事は Livesense Advent Calendar 2016 - Qiita の24日目の記事になります。 公開から1年ほどたち、当初はRESTの次の潮流か!?みたいな感じになったものの、イマイチ盛り上がってる気配のないGraphQL。 ただ、気になっていた技術だったので、気にせず2016年が終わる前にざっと調べてみました。 ここ2日ほどでざっと調べたもののまとめなので、理解や解釈に誤りや言ってる意味がわからないところがあればご指摘いただければ幸いです。 TL;DR 内容をコンパクトにしきれず(Queryにばかり集中して、Mutationについては全然触れてないのに!)かなり長くなってしまいました。実際は、 GraphQL | A query language for your API のTOPページを読んで雰囲気を掴み、 The GitHub GraphQL API | Git
ここ最近とてもGraphQLが盛り上がってますね! イベントも続々と開催されていたりするので、勢いを感じています。 そんなGraphQLを遅まきながら勉強してみました。 GraphQLとは? 既に様々な記事で論じられている内容なので割愛します。 この記事が個人的に一番分かりやすかったです。 qiita.com 実装してみよう! それでは早速実装してみます。 今回はGolangを使い、サーバサイド側の実装を行います。 ライブラリ ライブラリとしては以下を使いました。 github.com こちらとも迷ったのですが、今回はStar数の多い方を使いました。 github.com あとは、簡単にDBを使いたかったためSQLXを使用しました。 github.com コード 実装してみたものは以下になります。 github.com 慌てて作ったものになるので、汚いですが一応動きます! コード内でキモと
golangでGraphQLの素振りを行ったので,詰まったところ実装周りを書いていきます. GraphQLとは 一つのエンドポイントに独自のクエリ言語を投げることで,多くのリソースを一回のリクエストで大量にゲットできるすごいもの. RESTだと一つのエンドポイントごとにリソースを取得するのが,普通だと思うのでどうしてもエンドポイントが増えていきます.他にもリソースが増えてくると,複数リクエストを送らないといけなかったりいろいろきついです. そんな問題を解決するために,GraphQLは出てきました. こちらの記事👇にすごく詳しく書かれているので,ぜひ読んでください. GraphQL入門 - 使いたくなるGraphQL golangでのGraphQL実装 ライブラリがあるので,それを使用します. 今回使用したライブラリ👇 graphql-go/graphql 書いたもの 実際に書いたコード
これは 6/28 に開催される GraphQL ナイト のための資料です ここまでで分かること クエリは独自言語みたい クエリを変えることで柔軟にデータをとってこれそう クエリと結果の見た目が似てるのは分かりやすそう(主観) でも facebook はなんで作ったの? facebook の事情 数十億ユーザから膨大なリクエストがくる 新興国の低速なネットワークからのモバイル接続も多い アップデートされないモバイルアプリもサポートする つまり リクエスト回数は可能な限り減らしたい 後方互換を維持しながら API を開発したい 無駄なデータを送りたくない (大規模開発なので型安全も欲しい) 規模は違えど我々も同じような問題を抱えているのでは? なぜ既存のものではダメだったのか? より詳しくは昔の graphql.org のページを参照(internet archive) v.s. REST 複
注:単純なデータモデルでさえ、今後の維持や説明が必要になる6つものエンドポイントが含まれています。 あなたがクライアント側の開発者で、movies APIを使い、HTMLとjQueryで単純なWebページを作るとします。そのためには、映画と出演俳優・女優の情報が必要です。APIに必要な機能は揃っているので、データを取得します。 新しくターミナルを開いて以下を実行します。 curl localhost:3000/movies 以下の応答が返ってきます。 [ { "href": "http://localhost:3000/movie/1" }, { "href": "http://localhost:3000/movie/2" }, { "href": "http://localhost:3000/movie/3" }, { "href": "http://localhost:3000/mo
この記事について この記事は、DroidKaigi2018の以下の発表に刺激を受けて書いた記事です。 まだAPI定義管理で消耗してるの?〜Swaggerを用いた大規模アプリ時代のAPI定義管理とコードジェネレート〜 すばらしきGraphQLのSEKAIへようこそ gRPCとProtocol Buffersで一味違うAndroid通信 上記の発表では、Swagger、GraphQL、gRPCとProtocol Buffersという言葉が出てきました。これらはサーバー/クライアント間のAPI通信を実現するために役立つものです。しかし、Swaggerはツール、GraphQLはクエリ言語、gRPCとProtocol Buffersは設計指針(を実装したライブラリ)とデータフォーマットというように同格に扱えるものではないので、ちょっと混乱してしまいます。 そこで、この記事ではサーバー/クライアント間
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに DroidKaigi2018に、スポンサーであるWantedly様の協賛のもとスカラーシッププログラムに採択され、参加させていただきました。 その際に聴講したセッション、特に興味を持ったセッション(Androidの通信周りの環境の話がメイン、Swagger、gRPC、GraphQL)について書きたいと思います。 参加したSession 各セッションの簡易紹介と、その発表スライド等へのリンクを添付しております。 Androidとかにも詳しくない人でもざっくりと内容がわかるようにキーワードの意味なども一部引用して載せています。 ま
最近公開されたGitHubのAPIは、GraphQLという形式に対応しました。今後はこちらが主流になっていくようで、既存のREST APIからGraphQLへのマイグレーションガイドも提供されています。 今回は、このGraphQLについて、実際にGitHubのAPIを叩きながらその仕組みを解説していきたいと思います。 GraphQLとは 歴史 GraphQLは、Facebookの中で2012年ごろから使われ始めたそうです。その後2015年のReact.js Confで紹介されたところ話題となり、同年"technical preview"のステータスでオープンソースとして公開されました。その後仕様が詰められ、2016年9月に晴れて"preview"を脱し公式実装として公開されました。これと同じタイミングで、GitHubからGraphQLバージョンのAPIが公開されています。 このあたりの経緯
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く