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
600
新卒でサービス立ち上げから 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
910
Other Decks in Programming
See All in Programming
From Translations to Multi Dimension Entities
alexanderschranz
2
130
42 best practices for Symfony, a decade later
tucksaun
1
180
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
260
Jakarta EE meets AI
ivargrimstad
0
240
Security_for_introducing_eBPF
kentatada
0
110
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
340
useSyncExternalStoreを使いまくる
ssssota
6
1k
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
120
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
200
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Building Applications with DynamoDB
mza
91
6.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Writing Fast Ruby
sferik
628
61k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Fireside Chat
paigeccino
34
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Documentation Writing (for coders)
carmenintech
66
4.5k
Typedesign – Prime Four
hannesfritz
40
2.4k
Producing Creativity
orderedlist
PRO
341
39k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
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