Garage の検索結果:

開発を快適にするiOSアプリ内ログ確認ツール

…ュメントを提供する「Garage Playground*12」 ソースコードやタスク、プロジェクトの管理をしている「GitHub Enterprise」 例えば 「実装箇所を GitHub Enterprise(GHE)で表示する」ボタンは、レポジトリ内のSwiftコードの検索結果のURLを開くだけですが、秒で利用箇所が見つかるのは思っている以上に便利です。 小ネタですが、次のような工夫も入れています。 // recipeID, userID などを含むURLは、GHE検索時…

クックパッドの基盤をフル活用して新卒が新規アプリケーションを作った話

…。 RESTful Garage なる Restful API をサポートする gem がある。 認証を設定すればクライアントから直接叩くことができる。 gRPC Griffin なる自前の gRPC サーバー実装がある。 Schema を BFF 層などと共有できる。 それぞれ、Garage や Griffin といった社内資産があり、1から自分で構築をする必要もなく Rails の手軽さと合わせてシュッと API サーバーを作ることができました。 今回は BFF 層の裏に…

Redshiftのデータをサービス改善に役立てるデータ転送システム Queuery

…($stdout) GarageClient.configure do |config| config.name = "queuery-example" end QueueryClient.configure do |config| config.endpoint = 'queuery_api_server_host' config.token = 'XXXXXXXXXXXXXXXXXXXXX' config.token_secret = '*****************…

レシピサービスのフロントエンドを Next.js と GraphQL のシステムに置き換えている話

… Pantry は Garage というフレームワークを用いて実装されている API サーバーです。Garage には fields というクエリストリングで取得するリソースのフィールドを絞り込めるという機能があります。 /v1/recipes/:id?fields=id,title,user[id,name] このような感じです。カンマ区切りで取得したいフィールドを指定し、user[id,name] のようにネストしたリソースのフィールドも絞り込めます。これは GraphQ…

Android版クックパッドアプリで採用している技術の現状確認 2018年版

…okpad APIはGarageで作られているため、Garageのリクエスト方式に沿ったものがあったほうが良いだろうという判断をして、社内ライブラリとしてgarage-client-androidを作成して使っています。 以降の展望としては、API側の変化を伴うものになっていくのではないかなと予想しています。 現在の問題点として、Kotlin, SwiftなどのNull安全な型制約を持った言語とRESTFullなAPIは相性が悪く、返ってくる値が Nullable であるかど…

最近のサービス間のデータとイベントの連携について

…ます。 アプローチ Garage と GarageClient の導入による RESTful Hypermedia API の社内標準化 まず、データ連携の第一歩としてウェブ API によるデータの作成・閲覧・更新・削除についてです。 クックパッドではウェブ API の開発・利用には Garage とそのクライアントである GarageClient を用いています。 Garage は RESTful Hypermedia API を Ruby on Rails 上で開発するた…

この gem を使っているアプリケーションを探す

…しています。実際に GarageClient をすべてのアプリケーションで更新したいときがあり、GemCollector を見ることで GarageClient を利用しているアプリケーションを把握することができました。 またこの利用シーンを拡張する形で、ある gem をバージョン X 以下で使っているリポジトリにバージョンアップのお知らせ issue を立てる機能が @taiki45 によって追加されました。 バージョンでフィルタした上で、作成する issue のタイトルと…

API クライアントを書きつつ Swift らしいコードを考える

…。 クックパッドは Garage という RESTful Web API 開発を楽にする Rails のためのライブラリを作り、内部通信やモバイルアプリケーションのためのAPIサーバの開発に利用しています。 過去の Garage の紹介記事はこちらです。 RESTful Web API 開発をささえる Garage - http://techlife.cookpad.com/entry/2014/11/06/100000 RESTful Web API 開発をささえる Gar…

クックパッドにおける最近のMicroservices事例

…社内ライブラリだったGarageはその後オープンソースとして公開され、また社内のシステムも当時と比べ飛躍的な進化を遂げています。 そういったクックパッドにおける最近のMicroservices事例を先日Microservices Casual Talksで紹介しました。 Microservicesの抽象的な話は一切割愛し、具体的な事例に終始した内容となっています。 Microservicesの基本となる考え方はわかったものの、実践方法で悩んでいる方へ少しでも助けになればという…

RESTful Web API 開発をささえる Garage (client 編)

…I 開発をささえる Garage」で紹介した RESTful Web API を開発する Garage のクライアント側のライブラリを公開しました。この記事ではその使い方を紹介したいと思います。Garage の設計思想やサーバ側の実装については上記記事を御覧ください。 今回は簡単にクライアント側の挙動を知っていただくために pry を使って説明したいと思います。 アクセスするサーバは先程の記事で作成したアプリケーションを使用してみます。 サーバの準備 https://gith…

RESTful Web API 開発をささえる Garage

…しているライブラリのGarage の紹介と Garage を使った RESTful Web API の開発をご紹介したいと思います。 Garage は RESTful Web API を開発するための、 Rails gemified plugins です。Rails プログラマは Garage を使って Rails を拡張することで素早く Web API を開発することができます。Garage は新しくアプリケーションを開発する場合にも、既存の Rails アプリケーションに…

クックパッドとマイクロサービス

…ポイントになるのが、Garageとよばれる社内ライブラリです。Garageは「RESTfulであり、Hypermediaに現実的なレベルで対応する」(Miyagawa 2013)という思想で設計された、RESTful APIをRails上で実装するためのライブラリです。 Garageの特徴は、次の2点です。 リソース概念の導入 OAuth 2.0と統合されたアクセス制御 Garageを採用することで、RESTfulやHATEOASといった設計思想と、JSONやOAuth 2.…