Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GraphQLの社内ドキュメントを作った話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
teppeita
July 06, 2023
Programming
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GraphQLの社内ドキュメントを作った話
2023/07/06 tsukiji.graphqlで発表したLTのスライドです
teppeita
July 06, 2023
More Decks by teppeita
See All by teppeita
React Nativeで運用しているアプリにExpoを導入する - 計画編 -
teppeita
0
220
フロントエンドのディレクトリ設計思想
teppeita
26
37k
Other Decks in Programming
See All in Programming
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
280
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.4k
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
340
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
140
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
420
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
270
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
320
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
220
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
140
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
170
Test your architecture with Archunit
thirion
1
2.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
The Cult of Friendly URLs
andyhume
79
6.9k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.1k
How STYLIGHT went responsive
nonsquared
100
6.2k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
440
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
550
Transcript
GraphQLの社内ドキュメント を作った話 2023-07-06 tsukiji.graphql 株式会社マイベスト 竹尾 哲平(@_teppeita)
• 竹尾 哲平 • @_teppeita • フロントエンドエンジニア • 株式会社マイベスト •
人の選択をサポートするサービス • 商品を自社で検証してランク付け 自己・自社紹介 ドキュメント作成の背景
今日伝えたいこと GraphQLは 社内向けのドキュメントを整えると 運用コストが減るので オススメ
今日話すこと ▶ 作成の背景と解決したかった課題 ▶ ドキュメント作成の進め方 ▶ 成果物(=ドキュメント)の紹介 ▶ 結果どうなったか
GraphQLは2019年に導入 バックエンドはRailsなので、graphql-rubyを使用 クライアントはApolloClientを使用 ここ1年で、 フロントエンドの構成を、Rails/一部Reactから、ほぼ全画面をNext.jsに置き換え それに併せて、GraphQLのAPIも全面的に実装 GraphQLの使用場面が急増した結果、いくつかの課題が顕在化した マイベストとGraphQL 作成の背景と解決したかった課題
• 入社後に初めてGraphQLを触る人が多い • 概念的な説明から具体的な実装方針まで理解が必要 • 毎回誰かが時間をかけて説明しなければならない 課題①:オンボーディング 作成の背景と解決したかった課題
• 設計・実装方針を共有しきれていなかった • コードレビューで都度コメントして共有する必要があり負荷が高 かった • ルールを決められていない箇所で、統一感の無いコードがどんどん 増えていった 課題②:設計方針の共有 作成の背景と解決したかった課題
→結果 「大まかな方針は分かったけど、具体的な実装はどうすれば良い?」 「今回読んだ人と読んでない人の格差が出るのでは?」 まずトライしたこと 作成の背景と解決したかった課題
課題を解決するには、 社内向けのドキュメントが必要 だと判断
今日話すこと ▶ 作成の背景と解決したかった課題 ▶ ドキュメント作成の進め方 ▶ 成果物(=ドキュメント)の紹介 ▶ 結果どうなったか
枠組みを整理 ドキュメント作成の進め方 ページ構成 フォーマット トピック
「手が空いた時に書く」だとなかなか進まないので、 毎週1時間MTGをセットして、その中で作業を進めることに。 議論しながらルールを整理する会を実施(勉強会も兼ねて) ドキュメント整理会を実施 ドキュメント作成の進め方
今日話すこと ▶ 作成の背景と解決したかった課題 ▶ ドキュメント作成の進め方 ▶ 成果物(=ドキュメント)の紹介 ▶ 結果どうなったか
- 全体像 - GraphQLについて学ぶ - マイベストでの使われ方のポイント - 設計思想 - バックエンド
- キャッシュ - ページネーション - N+1 - フロントエンド - ファイルの命名と配置 - 型の自動生成 - Fragment Colocation ページ構成(一部抜粋) 成果物(=ドキュメント)の紹介
ドキュメントの例① 成果物(=ドキュメント)の紹介
ドキュメントの例② 成果物(=ドキュメント)の紹介
ドキュメントの例③ 成果物(=ドキュメント)の紹介
今日話すこと ▶ 作成の背景と解決したかった課題 ▶ ドキュメント作成の進め方 ▶ 成果物(=ドキュメント)の紹介 ▶ 結果どうなったか
オンボーディングでの 個別フォローが 最小限で済むように😃
コードレビューも 方針が明文化されているので 負荷が激減😁
設計で悩んだら 「整理してドキュメントに書きましょう」 という流れができた🤩
結論 社内ドキュメントを整理したら GraphQLの運用がスムーズになった
これからも GraphQLと仲良く🤝 ご清聴ありがとうございました