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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yudai Shinnoki
April 21, 2021
Programming
4.8k
2
Share
組織戦略と GraphQL、Hasura
Yudai Shinnoki
April 21, 2021
More Decks by Yudai Shinnoki
See All by Yudai Shinnoki
AWS “““触って””” みた
shinnoki
0
140
体に馴染む開発環境 ~ghqはいいぞ~
shinnoki
0
1.9k
Hasura とは何者か メリット・デメリット
shinnoki
10
2.9k
TypeScript と React Hooks と GraphQL のステキな関係性
shinnoki
2
520
リリース前に知りたいネイティブのあれこれ
shinnoki
0
1.5k
外部委託の立場から半ば強引にLaravelを導入した話
shinnoki
0
730
Other Decks in Programming
See All in Programming
エージェンティックRAGにAWSで入門しよう!
har1101
7
670
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
230
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
110
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
240
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
260
AIとRubyの静的型付け
ukin0k0
0
530
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.6k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
610
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
140
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
930
Code Review Best Practice
trishagee
74
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
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 がオススメ! - ただしドキュメントを読んで頑張ることは必要
- やっていきましょう 💪 まとめ
この発表に興味を持たれたらご連絡ください!