iOS GraphQL クライアントのデバッグツールを作った話

こんにちは、今年の4月から Quipper の iOS エンジニアになった @manicmaniac です。

ちょっと話題としてはニッチかもしれないのですが、今日は Apollo iOS client を利用したアプリで GraphQL のデバッグに苦労し、そしてコードを書いてそれを克服した話をします。

そもそも GraphQL とか Apollo ってなに?

GraphQL とは Web API のクエリ言語であり、またそのランタイム自体を指す言葉です[^1]。

対して、Apollo は GraphQL のサーバー・クライアント用のライブラリで、Meteor の開発元でもある Meteor Development Group 社が開発しています。 ApolloiOS 向けクライアントである Apollo iOS は単なる API クライアントを超えて、以下のような機能を備えています。

  • GraphQL スキーマに対応する Swift ソースコードを自動生成するため、型安全に API レスポンスを取り扱える
  • インメモリもしくは SQLite をバックエンドとするキャッシュ機構を備えており、オフライン環境でもクエリを発行できる

今携わっているプロジェクトでは Apollo iOS を介してほぼ全ての API と通信しています。

続きを読む

ドメイン知識を使いこなせ!

こんにちは。

今回は筆者のロールであるPMとして企画領域における要件定義と、開発領域における基本設計に対して

  • 筆者が日々どのように進めているのか
  • どのようなことがうまくいってるのか
  • ダメな点はなにか

について書きたいと思います。

PMとして、と書きましたが広義の意味でのPMを指しており、それぞれの組織においてPdM、PjM、PgM等と適宜置き換えていただいて構いません。

続きを読む

スタディサプリ/Quipper Product Meetup #3 を開催しました!

こんにちは! 採用担当の haruka です。

2019-7-18(木)に「スタディサプリ/Quipper Product Meetup #3 〜SREチームが取り組むマイクロサービス化に向けたDevOps開発事例〜」を開催いたしました。

f:id:quipper-ja:20190719104721j:plain

techplay.jp

昨年7月に同イベントの第1弾、今年2月に第2弾を開催していまして、今回は第3弾となりました。

前回イベントの登壇資料はこちらで公開しています。

第一弾 https://quipper.hatenablog.com/entry/2018/07/20/172946

第二弾 https://quipper.hatenablog.com/entry/2019/02/12/180000

今回も多くの方よりご応募、ご参加いただき、大変感謝しております。

本エントリーでは、当日いらしていただいた方だけでなく、当日いらっしゃることのできなかった方にもご覧いただくために、各登壇者の発表資料をご紹介します。

講演内容

1.Observability in StudySapuri

〇登壇者:Yuya Takeyama

〇概要:それぞれの開発チームが Ownership を持ち、独立して高速に開発サイクルを回していく上で、DevOps 化・セルフサービス化の推進が大きな課題となっています。そんな中で何故 Observability が大事なのか、そしてそれを担保するためにどういった取り組みを行っているのかご紹介しました。

2.Canary release - フレームワークのアップグレードを安心して進めるためのリリース戦略

〇登壇者:Fumiaki Matsushima

〇概要:フレームワークのアップデートはユーザや機能が増えれば増えるほど影響範囲が多く、腰が重くなっていきます。自動テストは書かれているものの、それが通れば100%安心できるとも言えません。スタディサプリ小中高では Ruby on Rails を使っていますが、これのアップグレードにあたって漸進的リリースが可能になるような仕組み (Canary release) を Kubernetes 上に整備したので、この取り組みについて発表しました。

3.gRPC in スタディサプリ ENGLISH

〇登壇者:Yuta Kimura

〇概要:スタディサプリENGLISHがgRPC活用に至った過程、運用方法、Envoyを使ったgRPCの負荷分散、gRPCの良さ、つらみなどをお話ししました。

4.CQRS + ESをKinesis, Spark, RDB, S3でやってみた

〇登壇者:Tsubasa Matsukawa

〇概要:ある程度の規模までスケールしたプロダクトではデータ量の問題に向き合う必要がでてきます。スタディサプリENGLISHではこの問題にKinesis,Spark,RDB,S3を使ったCQRS+ESで対応したので、その事例をご紹介しました。

当日の様子

Twitterハッシュタグ#sapurimeetupにて当日の様子をご確認ください!

講演の後の懇親会にも多くの方に参加いただき、登壇者および弊社社員と交流いただきました。

f:id:quipper-ja:20190719104951j:plain

f:id:quipper-ja:20190719104919j:plain

イベント中にもお知らせしたとおり、Quipperではエンジニア、デザイナーを中心に積極採用しております!

詳細はこちらをご覧ください。

career.quipper.com

Wantedlyページでも、弊社の様子を公開しています。

www.wantedly.com

今後も定期的にプロダクトミートアップを開催していく予定ですので、是非また次回をお楽しみに・・!