Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
Search
Yutorin
January 19, 2023
Programming
770
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新卒でサービス立ち上げから Hasuraを使って3年経った振り返り
https://hasura-tokyo.connpass.com/event/268144/
で発表したものです。
Yutorin
January 19, 2023
More Decks by Yutorin
See All by Yutorin
読みやすいコードを書こう
yutorin
0
1.1k
Other Decks in Programming
See All in Programming
FreeBSDでZabbixを動かす
kenkino
0
340
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
170
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
300
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
520
Verilogで学ぶCPU自作入門.pdf
uyuki234
7
3.9k
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
220
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
270
AHC070解法紹介
eijirou
0
150
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
250
Simple Storage Service(S3) is not simple
iwatsukayura
0
120
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
The agentic SEO stack - context over prompts
schlessera
0
950
How STYLIGHT went responsive
nonsquared
100
6.3k
Facilitating Awesome Meetings
lara
57
7.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
Everyday Curiosity
cassininazir
0
340
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Color Theory Basics | Prateek | Gurzu
gurzu
1
480
KATA
mclloyd
PRO
35
16k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
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