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
670
新卒でサービス立ち上げから 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
960
Other Decks in Programming
See All in Programming
Select API from Kotlin Coroutine
jmatsu
1
190
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
570
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
810
NPOでのDevinの活用
codeforeveryone
0
420
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
150
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
700
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
980
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.6k
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
240
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
500
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Pragmatic Product Professional
lauravandoore
35
6.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
4 Signs Your Business is Dying
shpigford
184
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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