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
ビットキーのプロダクトの根幹スマートアクセスをよりスケールするための破壊と創造
Search
株式会社ビットキー / Bitkey Inc.
PRO
April 06, 2022
Technology
0
270
ビットキーのプロダクトの根幹スマートアクセスをよりスケールするための破壊と創造
株式会社ビットキー / Bitkey Inc.
PRO
April 06, 2022
Tweet
Share
More Decks by 株式会社ビットキー / Bitkey Inc.
See All by 株式会社ビットキー / Bitkey Inc.
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
130
チームビルドのためのワークショップ設計/Workshop design for team building
bitkey
PRO
0
52
「職種に名前が付く、ということ」 / When a Role Gets a Name
bitkey
PRO
0
25
ゼロから始めるEnabling SRE〜Datadogへの戸惑いや敬遠を無くすためにやったこと〜
bitkey
PRO
0
18
「書く」より「任せる」! 生成AIでローコード自動テストの属人化を防ぐ! / Delegate, Don't Write! Preventing Silos in Low-Code Auto-Testing with Gen AI
bitkey
PRO
0
65
オフィスビルを監視しよう:フィジカル×デジタルにまたがるSLI/SLO設計と運用の難しさ / Monitoring Office Buildings: The Challenge of Physical-Digital SLI/SLO Design & Operation
bitkey
PRO
3
570
事例で学ぶ!B2B SaaSにおけるSREの実践例/SRE for B2B SaaS: A Real-World Case Study
bitkey
PRO
1
570
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
PRO
3
24k
遠隔で同時に4人教育!? 〜リモート新人の「孤立」を防ぐオンボーディング事例〜/Educating 4 people at the same time remotely!〜Onboarding Case Studies to Prevent “Isolation” of Remote Newcomers〜
bitkey
PRO
0
89
Other Decks in Technology
See All in Technology
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
330
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.5k
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
120
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
100
roppongirb_20250911
igaiga
1
220
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
370
エラーとアクセシビリティ
schktjm
1
1.2k
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
140
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
170
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Context Engineering - Making Every Token Count
addyosmani
2
41
Facilitating Awesome Meetings
lara
55
6.5k
GraphQLとの向き合い方2022年版
quramy
49
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
The World Runs on Bad Software
bkeepers
PRO
70
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Faster Mobile Websites
deanohume
309
31k
Building Adaptive Systems
keathley
43
2.7k
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