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、Hasura
Search
Yudai Shinnoki
April 21, 2021
Programming
4.9k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
組織戦略と GraphQL、Hasura
Yudai Shinnoki
April 21, 2021
More Decks by Yudai Shinnoki
See All by Yudai Shinnoki
AWS “““触って””” みた
shinnoki
0
150
体に馴染む開発環境 ~ghqはいいぞ~
shinnoki
0
1.9k
Hasura とは何者か メリット・デメリット
shinnoki
10
3k
TypeScript と React Hooks と GraphQL のステキな関係性
shinnoki
2
520
リリース前に知りたいネイティブのあれこれ
shinnoki
0
1.6k
外部委託の立場から半ば強引にLaravelを導入した話
shinnoki
0
740
Other Decks in Programming
See All in Programming
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
980
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
350
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
210
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
250
FDEとは、何者なのか?
masapyon1212
0
140
自分的「カンファレンスの楽しみ方」
syumai
0
190
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
440
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
130
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
120
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
730
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
120
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
380
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
Navigating Weather and Climate Data
rabernat
0
510
Ruling the World: When Life Gets Gamed
codingconduct
0
320
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
KATA
mclloyd
PRO
35
15k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
Prompt Engineering for Job Search
mfonobong
0
440
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Transcript
組織戦略と GraphQL、Hasura 2021/04/21 iCARE Dev Meetup #20 shinnoki (@konoki_nannoki)
今日話すこと - スタートアップで1年間GraphQL、Hasuraを採用してみてわかったこと - CTOという立場でやっているのでちょっとメタな視点から話してみます - ...準備してみたらGraphQL成分少なかったので補うためにデモします
- しんのき (Yudai Shinnoki) - https://twitter.com/konoki_nannoki - https://github.com/shinnoki - WASD
Inc. CTO - React / React Native / GraphQL / Hasura - GraphQL Asia 2021 でスピーカーやりました 自己紹介
会社紹介 店舗接客のオペレーションを効率化 売り上げアップ・人件費を削減 https://digichime.com
技術スタック React React Native Learn once, write anywhere GraphQL TypeScript
Hasura GraphQL Engine Generate types from GraphQL schema Generate GraphQL API from PostgreSQL tables
システム構成図
Hasura概要 - Hasura Inc. が作っている Hasura GraphQL Engine というツール -
PostgreSQL テーブルから CRUD の GraphQL API を自動生成してくれる - 使い勝手はAppSync、Firestoreなどに近い https://speakerdeck.com/shinnoki/hasura-tohahe-zhe-ka-meritutodemerituto user テーブル query { user } mutation { insert_user update_user delete_user } subscription { user }
Hasuraの便利な機能 - リッチなダッシュボード - JWTベースの認証、認可 - リアルタイム通信(GraphQL Subscription) - Serverless
Functionを使ったビジネスロジック(Hasura Actions) - GraphQLクエリのホワイトリスト(Allow List)
Hasura + GraphQL Codegen - Hasura と GraphQL Codegen を組み合わせて
TypeScript コードまで生成 - 自分で書くコードが少ない → バグを生む可能性が少ない - デモします - 補完がきく、テーブルを消すと Codegenがコケる
スタートアップのジレンマ - とにかくスピード! - 作る → 触ってもらう → 改善 の繰り返し
- プロトタイプでもいいが、動くものはもっといい - テックリードがガガッと作ることも
スタートアップのジレンマ - とにかくスピード! - 作る → 触ってもらう → 改善 の繰り返し
- プロトタイプでもいいが、動くものはもっといい - テックリードがガガッと作ることも - テックリードがボトルネックになる - 運用やセキュリティ診断などに時間を取られる - 採用しようにも結局はテックリードの時間が取られる - 日々共有が行われる仕組みが重要(スクラム、ペアプロ、コードレビュー) 数カ月後...
「ソフトウェアの構造は開発組織の構造を反映する」 コンウェイの法則
「ソフトウェアの構造は開発組織の構造を反映する」 コンウェイの法則 - 組織をスケールさせるにはマイクロサービス化が有用 - GraphQLスキーマを共有することでチーム間のやりとりがスムーズに - 逆にモノリスな構成にすることで密なコミュニケーションを 取る戦略は初期のスタートアップにおいては有用 -
そのために Rails などの Web フレームワークがとても良い - ネイティブアプリやリッチな SPA を作るのがスコープに入っていれば、 最初からフロントエンドの作りやすさを前提に技術選定したほうがよい
- 専門領域が分かる人が1人だと、そもそもペアプロやレビューができない - React、React Native、Hasuraの学習コストであれば全員が触れる - 学習コストは低ければ低いほどよい - AppSync や
Firestore などでもよい - No Code ツールが成熟すればそっちのほうが理想 React + Hasura Frontend Backend iOS Android 全員がフルスタックエンジニア React + Hasura React + Hasura React + Hasura
国内事例 https://note.com/dinii/n/n9be778bd7da3 (2020/09/20)
- ピンポイントでGraphQL経験者を採用するのは難しい - 経験がないと、まず最初にスキーマ設計について 勉強しなければいけないのがハードルが高い 採用、教育、キャリア
- ピンポイントでGraphQL経験者を採用するのは難しい - 経験がないと、まず最初にスキーマ設計について 勉強しなければいけないのがハードルが高い - バックエンドエンジニアがRDB設計のノウハウを活かし活躍できる - フロントエンドエンジニアもRDBの設計を学ぶことができる 採用、教育、キャリアの観点
Hasuraを使うと
- 自動生成のAPIで本当に使えるの? - 複雑になってくると辛いこともあるけど大体の場合これで十分 - 枯れてない技術を使って大丈夫? - DBとGraphQLスキーマがあれば、バックエンドは再実装も不可能じゃない - どんな技術も辛くなったら
- Hasuraやめる場合はまたどこかで情報発信していきます - 情報が少ない - がんばる Hasura Q&A
- 立ち上げ期のスタートアップと GraphQL の親和性は高い - 特に立ち上げ期は Hasura がオススメ! - ただしドキュメントを読んで頑張ることは必要
- やっていきましょう 💪 まとめ
この発表に興味を持たれたらご連絡ください!