エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

GraphQL について語る会を開催しました

エンジニアリンググループの松原@ma2geです。一昨日(10/9(水))に CrowdWorks さん *1 のオフィスをお借りして、「GraphQL について語る会」というイベントを開催しました!

m3-engineer.connpass.com

会のテーマはその名の通り、GraphQL について語る場所を作ろうということで、クライアントからサーバサイドまで含めて GraphQL について盛り上がろうという趣旨で行いました。 参加された60名弱の方々も、GraphQL や周辺技術について懇親会でも議論していて盛り上がる会になったかと思います。来てくださりありがとうございました。

f:id:ma2gedev:20191010132535j:plain
たくさんの方にお越しいただきました、司会は星川@oboenikuiさん

この記事では発表内容についてそれぞれ振り返ります。

Apollo Code Generation

最初は弊社堀田(@horita_yuya)による、Apollo CLI*2 による GraphQL クライアントのコード生成の裏側では何が行われているのかについての発表でした。 GraphQL のスキーマをもとにクライアントを作ってくれる Apollo CLI などを使うことで、クライアントが自動で生成される便利さを普段享受しているわけですが、その便利さの背景で何が行われているのかはあまり目にする機会が少ないのではないかと思います。 そこに視点を当てた解説ということで技術欲が満たされる発表でした。

f:id:ma2gedev:20191010132713j:plain
Parser の処理について説明中の堀田さん

English version is here.

GraphQLのステキポイントと悩ましいポイント

次に弊社金丸(@maru333)より、GraphQL の良い点、悩む点についての発表ということで、開発中に起こった議論のポイントなどが共有されました。 特にエラーの扱いについてはベストプラクティスがないことから二転三転していたこともそうですし、 懇親会でも「どうしていますか?」と話が盛り上がっていたところを見るに悩まれている方が多く、良い話題の切り口になったのではないでしょうか。 エラー設計こうしてみたけど、結果こうなったという続きの話も聞いてみたいですね。

f:id:ma2gedev:20191010132859j:plain
自己紹介中の金丸さん

Developer Experience in GraphQL Schema-first Development

私からはスキーマファースト開発を実践してみて Developer Experience はどう変わるのかという話をしました。 最初は慣れていないところもあったのですが、 スクラムのイテレーションを回すごとにスキーマを定義してから開発する流れができてきて、 その中で今までの開発と比べて GraphQL でよかった点、助かった点などを共有しました。

f:id:ma2gedev:20191010133108j:plain
It's me

GraphQL + KotlinでN+1問題を対応する

最後にしらじさん(@shiraj_i)より「GraphQL + KotlinでN+1問題を対応する」について登壇をしていただきました。 Kotlin Fest 2019 で泣く泣く削った話ということで、しらじさんに登壇をお願いできてよかったなと思える話でした。 弊社の技術スタックとほぼ同じで graphql-java と Kotlin を組み合わせてサーバサイドの実装をされているので、 前提知識が揃っていたこともありウンウン頷きつつ、まだ知らない点はなるほどーと聞いていました。 最後にドキュメントなどコミュニティへの貢献を会場に伝えてくれたのは、 Kontributor であるしらじさんらしい姿勢でとてもよかったです。

f:id:ma2gedev:20191010145321j:plain
登壇前に @oboenikui からプロフィール紹介されているしらじさん

おわりに

いつも快く会場提供してくださる CrowdWorks さんに感謝申し上げます。 Ubie のしらじさんもご登壇から懇親会の締めの挨拶まで感謝しています。

懇親会等で話を聞いていると結構本番で GraphQL を使われている方も多かったので、今回の会が今後 GraphQL の盛り上げに少しでも貢献できたら嬉しく思います。 エムスリーからも引き続き得られた知見をコミュニティに還元していきます!

11月にも今回の弊社登壇者が所属するマルチデバイスチームで勉強会を企画中で、10月中旬にconnpassにて公開予定です。 ぜひエムスリーのconnpassをフォローしておいてください。

We are hiring!

VPoE の山崎からも話がありましたが、マルチデバイスチームではサーバサイドエンジニア、Android エンジニア、iOS エンジニアを募集しています。 もちろんそれ以外にもエムスリーでは幅広いポジションでエンジニアを募集していますので、ご興味がありましたら下記よりお問い合わせください。

jobs.m3.com