Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ビットキーのプロダクトの根幹スマートアクセスをよりスケールするための破壊と創造
Search
株式会社ビットキー / Bitkey Inc.
PRO
April 06, 2022
Technology
0
290
ビットキーのプロダクトの根幹スマートアクセスをよりスケールするための破壊と創造
株式会社ビットキー / Bitkey Inc.
PRO
April 06, 2022
Tweet
Share
More Decks by 株式会社ビットキー / Bitkey Inc.
See All by 株式会社ビットキー / Bitkey Inc.
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
610
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
16
15k
Dev Containers と Skaffold で実現する クラウドネイティブ開発環境 ローカルのみという制約に挑む / Cloud-Native Development with Dev Containers and Skaffold: Tackling the Local-Only Constraint
bitkey
PRO
0
230
待つ、歩く、そして祈る -モバイルアプリの厄介なテスト奮闘記-/Wait, Walk, and Pray -The Troublesome Struggle of Mobile App Testing-
bitkey
PRO
1
110
見栄えと使いやすさの先にある 特別感 をデザインする / Designing a Sense of Specialness Beyond Aesthetics and Usability
bitkey
PRO
0
210
フレームワーク探しはもう終わり! チームに「ジャストフィット」するワークショップの作り方 / No More Framework Searching: How to Build a 'Just-Fit' Workshop for Your Team
bitkey
PRO
0
130
一次体験を起点にしたUX改善の取り組み / Direct Experience Driven UX Improvements
bitkey
PRO
0
310
ユーザー体験は細部に宿る -ウィジェットQAの挑戦と気づき- / UX is in the details: Challenges and Learnings from Widget QA
bitkey
PRO
0
120
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
470
Other Decks in Technology
See All in Technology
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
150
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
240
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
120
生成AI時代におけるグローバル戦略思考
taka_aki
0
160
RAG/Agent開発のアップデートまとめ
taka0709
0
170
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
5.3k
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
4
1k
.NET 10の概要
tomokusaba
0
100
学習データって増やせばいいんですか?
ftakahashi
2
320
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
350
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
140
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
180
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Faster Mobile Websites
deanohume
310
31k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Site-Speed That Sticks
csswizardry
13
1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Making Projects Easy
brettharned
120
6.5k
RailsConf 2023
tenderlove
30
1.3k
Producing Creativity
orderedlist
PRO
348
40k
Mobile First: as difficult as doing things right
swwweet
225
10k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Transcript
ϏοτΩʔͷϓϩμΫτͷࠜװ εϚʔτΞΫηεΛΑΓεέʔϧ͢ ΔͨΊͷʮഁյͱʯ
Outline 1. എܠͱ՝ 2. ݁Ռ 3. ͨ͜͠ͱ 4. ޮՌͱ·ͱΊ 2
നయ Takanori Shiraki 2014 2016 2018 גࣜձࣾϫʔΫεΞϓϦέʔγϣϯζʹೖࣾ ձܭγεςϜͷιϑτΣΞ։ൃऀͱͯ͠ɺཧձ ܭɺಛʹ༧ࢉཧΛओʹ୲ ձܭࣄۀ͔ΒECࣄۀҟಈ
ݕࡧΤϯδϯ࿈ܞɺϓϩϞʔγϣϯػೳͷ։ൃΛ୲ ͨ͠ޙɺେखඦ՟ళ͚αʔϏεͷ։ൃΛ୲ ۀ͔ΒϏοτΩʔδϣΠϯ εϚϗΞϓϦɾΣϒΞϓϦɾόοΫΤϯυͷجૅ ઃܭɺΠϯϑϥબఆɺΞʔΩςΫνϟઃܭɺϑϨʔ ϜϫʔΫϥΠϒϥϦͷܾఆ͔Β࣮·ͰΛ୲͏ 2022 Workspaceࣄۀͷٕज़ऀͱͯ͠ ৽نαʔϏεͷઃܭɾ࣮ɺطଘαʔϏεͷվमɺ ։ൃମݧͷվળɺ৭ʑͬͯ·͢
ΞΫηείϯτϩʔϧ ࠓճͷςʔϚ 4 4
എܠ 5
എܠ 6 ͦͦΞΫηείϯτϩʔϧͱʁ
ΞΫηείϯτϩʔϧͱ 7 ϏοτΩʔͰɺཧతͳσόΠεͷݖརʹͱͮ͘ղৣΛɺ σδλϧΩʔʹΑ࣮ͬͯݱ
ΞΫηείϯτϩʔϧͱ 8 ͦΕ͚ͩͰاۀͷཧ෦ͱैۀһͷؔͷΑ͏ͳɺ ಛఆͷཧऀ͕େਓͷΞΫηεΛ੍ޚ͍ͨ͠έʔεʹ͓͍ͯ རศੑʹ՝͕Δ…
ΞΫηείϯτϩʔϧͱ 9 ΞΫηείϯτϩʔϧ ਓͷ·ͱ·Γɾ伴ͷ·ͱ·Γɾ݅ΛҰݩཧ
ΞΫηείϯτϩʔϧͱ 10 ΞΫηείϯτϩʔϧ ɾࣾһฏɺϏϧͷೖΓޱɾΤϨϕʔλʔɾΦϑΟεʹೖΕΔ ɾͨͩ͠ɺݸผڐՄ͕ͳ͍ͱೖΕͳ͍ ɾݿʹόοΫΦϑΟεͷਓ͚ͩೖΔ͜ͱ͕Ͱ͖Δ ͻͱΓͣͭɺ൶͝ͱʹઃఆ͠ͳ͍͍ͯ͘ɻ
՝ 11
՝ 12 workhubͰओʹFirestoreΛ׆༻͍ͯ͠Δɻ ※ΞΫηείϯτϩʔϧؚΊ εέʔϥϏϦςΟ ߴͳσʔλऔಘ ϦΞϧλΠϜΞοϓσʔτ ॊೈͳσʔλ
՝ ΞΫηείϯτϩʔϧͷ߹ 13 13
՝ 14 FirestoreυΩϡϝϯτࢦɻ ສਓͷैۀһສͷ൶ͷֻ͚ࢉͱͳΔ ԯنͷυΩϡϝϯτΛཧ͢Δ͜ͱʹͳͬͯ͠·͏ɻ × 10,000 × 10,000 100,000,000
՝ ͜͏͍͏Έ߹Θͤരൃ͕՝ʹͳΓ͍͢γʔϯͰɺ εέʔϥϏϦςΟΑΓɺಈతͳ݁߹͕ಘҙͳRDBͷ΄͏͕ڧΈ͕͋ͬͨɻ ͜ͷྖҬΛҰ͔Β࡞Γ͢͜ͱʹʂ Joinʂ Existʂ αϒΫΤϦʂ
ඪ 16 ݅ͱୡඪ
ඪ 17 1. ։ൃظؒ: 2ϲ݄
ඪ 18 2. ։ൃऀ: 1ਓ
ඪ 19 3. είʔϓ: શ෦
ඪ 20 4. ෆ۩߹: 0
ඪ 21 5. ઃఆมߋ͔Βө·Ͱ: 0ඵ
ඪ 22 ݅ͱୡඪ ։ൃظؒ: 2ϲ݄ ։ൃऀ: 1ਓ είʔϓ: શ෦ ෆ۩߹:
0 ଈө
ඪ 23 ݁Ռ ։ൃظؒ: 2ϲ݄ 1ϲ݄ ։ൃऀ: 1ਓ είʔϓ: શ෦
ෆ۩߹: 0 ଈө (◦◦ɺ◦◦࣌ؒ → 0ඵ) COMPLETED
ͬͨ͜ͱ 24
࡞Γͨ͢Ίʹ 25
࡞Γͨ͢Ίʹ 26 ࠓճ͜ͷγεςϜΛ׆͔ͯ͠ɺ ΞΫηείϯτϩʔϧΛ࡞Γ·ͨ͠ɻ
δΣωϨʔλʔʹ͍ͭͯ 27 ൚༻తͳೖྗˠมˠग़ྗͷΠϯλʔϑΣʔεΛఆٛ ERఆ͔ٛΒDBΞΫηεΛࣗಈੜ OpenAPI͔ΒAPIόϦσʔλʔΛࣗಈੜ ER OpenAPI ఆٛ ίʔυ ςετ
etc Work illustrations by Storyset Πϯϓοτ Ξτϓοτ
δΣωϨʔλʔʹ͍ͭͯ 28 ERఆ͔ٛΒ ϦϙδτϦɾΫΤϦɾCRUDϢʔεέʔεɾOpenAPIɾ֤छม Λࣗಈੜ ERਤ OpenAPI ϦϙδτϦ ΫΤϦ Ϣʔεέʔε
DBϚΠάϨʔγϣϯ Work illustrations by Storyset Πϯϓοτ Ξτϓοτ
δΣωϨʔλʔʹ͍ͭͯ 29 OpenAPI͔Β APIɾೖྗͷόϦσʔλʔͱมɾAPIݺͼग़͠Ϋϥε Λࣗಈੜ OpenAPI API όϦσʔλ σʔλม APIݺͼग़͠Ϋϥε
Work illustrations by Storyset Πϯϓοτ Ξτϓοτ
݁Ռ… 30 1ςʔϒϧͷCRUDͳΒςʔϒϧఆٛޙɺAPIςετ࣮ߦ·Ͱ ୯७ͳCRUDͰͳ͍߹ɺ த৺ͷϩδοΫΛॻ͍ͯίϯύΠϧΛ௨ͨ͠Βςετ͢Δ͚ͩ OpenAPI ER ࣮ ίϯύΠϧ௨Ε ΘΓͱউͪ
ࠓճͦΕʹՃ͑ͯ 31 APIͱDBຊͷίʔυΛͬͯίϯςφΛϩʔΧϧͰىಈ ࣗಈੜͨ͠APIݺͼग़͠Ϋϥεͷ୯ମςετʢͭ·ΓAPIςετʣΛهड़ APIݺͼग़͠ίʔυ DB API ࣗಈੜ ࣗಈੜ ίʔσΟϯά͋Γ
ࠓճͦΕʹՃ͑ͯ 32 APIͱDBຊͷίʔυΛͬͯίϯςφΛϩʔΧϧͰىಈ ࣗಈੜͨ͠APIݺͼग़͠Ϋϥεͷ୯ମςετʢͭ·ΓAPIςετʣΛهड़ APIݺͼग़͠ίʔυ DB API ίʔσΟϯά͋Γ ࣗಈੜ ࣗಈੜ
͜ΕΛςετʂ େྔσʔλ
݁Ռ 33 ݁Ռ...!
݁Ռ 34 ઃܭɿ2िؒ ςετɿ1िؒ ࣮ɿ1िؒ ઃఆมߋ͔Βө·Ͱ0ඵ!! ݁Ռ...!
͏Ε͍͠ϙΠϯτͦͷ1 35 ͦͷ··ͬͯΒ͑ಈ͘ ςετ͍ͯ͠ͳ͍͍ํΛ͢Δͱ͖·ͣςετՃΛపఈ DBͷΠϯσοΫεޮͳͲɺ୯ମςετʹؚ·Εͳ͍؍ςετࡁΈ ར༻ଆͷίʔυ͕ςετࡁΈ
͏Ε͍͠ϙΠϯτͦͷ2 36 ࣮ʹ͕͔͔࣌ؒΒͳ͍ ςετ΄΅Ұൃ ίʔυ͕શମతʹࣗಈੜ
͏Ε͍͠ϙΠϯτͦͷ3 37 ERఆٛΛม͑ͨ / APIఆٛΛม͑ͨ தͷϩδοΫΛม͑ͨ / ςετΛม͑ͨ →ϨϏϡΞʔͷϙΠϯτ͕໌֬ มߋΛϨϏϡʔ͍͢͠
ࠓޙͷ 38 Work illustrations by Storyset
Fin 39