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
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
Search
Yutorin
January 19, 2023
Programming
0
660
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
https://hasura-tokyo.connpass.com/event/268144/
で発表したものです。
Yutorin
January 19, 2023
Tweet
Share
More Decks by Yutorin
See All by Yutorin
読みやすいコードを書こう
yutorin
0
950
Other Decks in Programming
See All in Programming
複数アプリケーションを育てていくための共通化戦略
irof
10
3.7k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
280
Blueskyのプラグインを作ってみた
hakkadaikon
1
470
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
TypeScript LSP の今までとこれから
quramy
1
480
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
740
無関心の谷
kanayannet
0
160
Using AI Tools Around Software Development
inouehi
0
1.1k
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
650
GoのWebAssembly活用パターン紹介
syumai
3
9.5k
Gleamという選択肢
comamoca
6
660
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Facilitating Awesome Meetings
lara
54
6.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Bash Introduction
62gerente
614
210k
Into the Great Unknown - MozCon
thekraken
39
1.8k
Raft: Consensus for Rubyists
vanstee
138
7k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
2023/01/19 Development Division / Lead Engineer Seiya Ishikawa (@yutorinD) 新卒でサービス立ち上げから
Hasuraを使って3年経った振り返り Hasura User Group Tokyo Meetup #2
2 - WASD Inc. Lead Engineer - 創業と同時に最初のエンジニアとして新卒でジョインした - 趣味:
PCゲーム、ピアノ、ウイスキー、甘いもの - 中2の頃にPC自作してから洋ゲーばかりやってます - 初めての登壇です 自己紹介 Seiya Ishikawa ( Yutorin : @yutorinD )
3 Hasuraのすごい使い方の話とかは 話しません 話さないこと
4 自分語りします 話すこと
5 もくじ • Hasura is 何 • 弊社・サービスの紹介 • 運用について
• 開発の歴史 • Hasuraのよさみ • 苦労していること
6 - Hasura GraphQL Engineのこと - DBからGraphQL APIを自動生成してくれるGraphQLサーバー - フロントエンドから色々データを扱える
- DB操作がHasura上で出来る Hasura is 何
7 弊社・弊サービスについて
8 弊社について Mission 意思疎通をもっと便利に
9 サービス紹介 どこからでもかんたん呼び出し お困りごとがすぐ伝わる
10 使い方 スマホで二次元コード を読込み呼び出し かけつけ、遠隔等 適切な手段で接客 ブラウザやアプリで 呼び出しを受信 接客を評価 お客様の行動
スタッフの行動 スタッフの行動 お客様の行動 1 2 3 4
全国の様々なゲームセンターや 小売店などに 導入されています 11 使ってみてね
12 実際の画面 呼び出し画面
13 実際の画面 管理画面 端末
14 伸びてます
15 運用
16 運用方法 TypeScriptを主軸にフロントは Next.js サーバーサイドは Node.js でやっています 組織戦略と GraphQL、Hasura https://speakerdeck.com/shinnoki/zu-zhi-zhan-lue-to-graphql-hasura?slide=9
17 main / develop にマージされると Allow List が更新されたり migration や
metadata が反映されます CI / CD
18 開発の歴史
19 • Apexをしていたら現CEOに誘われた • ちょうどReact, TypeScriptやGraphQLを触っていた • 2020/1にジョインして開発開始 始まり
20 - Firebase上にあげてモックを用意していた - DBはFirestoreでやる?とか悩んでいた 開発開始 管理画面 呼び出し画面
メンターだった@shinnoki(現CTO)がHasuraを紹介 21 ここで登場 NoSQLで開発してしまうとDB設計が複雑 化してきたときにツールや知見が世の中に 転がっていなくて大変。 Hasuraを使えば開発効率もいいし、SQLも 使えるし、仮にHasuraをやめてバックエ ンドを書くことになってもDBはそのまま 使えるからリスクが少ないよ。
環境整備もラクだし 運用もすごく簡単 22 Hasura👍
23 1ヶ月しないうちに基本的な機能が揃って PoC予定のお客様に見せることができた ほめられた🎉
24 店舗従業員向けのアプリを作る話になり React-Native / Expoで ゼロから2週間弱でストアリリース🎉 アプリも作った
25 半年経って二人エンジニアがジョイン🎉 コーディング経験はあるが弊社の技術スタックはほぼ未経験 人が増えた
26 2週間ほどで本番に Pull-Requestが出せるように 初学者にもいい
27 Hasuraは 学習コストが低く 初めての人に教えるのも良い 初学者にもいい
28 そして現在・・・
29 人も増えました
30 追加サービスも増えてます
31 ベータリリースから導入店舗数700店舗に至るまで 長時間の障害もなく Hasuraで運用し続けられています
32 Hasuraのよさ
33 爆速で開発できた Hasuraのよさ
34 docker compose upだけ デジちゃいむリポジトリ内のREADME
35 爆速で開発できた2 - code-generatorで型安全につなぎ込める - 学習コストが低いため、GraphQL経験がない人でもす ぐに開発に貢献できる - みんなフルスタックにできるようになる -
外部委託の方のキャッチアップも爆速で終わる - Migrationのおかげで環境を簡単に合わせられる
36 Hasura-Consoleが見るだけですぐ使える とりあえず使える Hasura - Quick Start with Docker https://hasura.io/docs/latest/getting-started/docker-simple/#try-out-a-query
37 よしなにやってくれる - n+1問題とかSQLインジェクション対策とか - Production Checklistに従えばより安全に - https://hasura.io/docs/latest/deployment/production-checklist/
38 苦労していること
39 ビジネスロジックについて - ビジネスロジックや状態管理が複雑になってくると辛い - ActionやRemote Schemaを使わないとフロントエンドに処 理がばらけてしまい大変になる - デジちゃいむの場合、順番待ち機能の実装が思ったより
も大変 - 呼び出し機能はビジネスロジックとしては簡単
40 - Hasuraが便利すぎる - バックエンドの知見が深まりづらいかも? う~ん
41 Hasura使ってよかった~ おわりに
42