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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
株式会社ビットキー / Bitkey Inc.
PRO
April 06, 2022
Technology
0
300
ビットキーのプロダクトの根幹スマートアクセスをよりスケールするための破壊と創造
株式会社ビットキー / Bitkey Inc.
PRO
April 06, 2022
Tweet
Share
More Decks by 株式会社ビットキー / Bitkey Inc.
See All by 株式会社ビットキー / Bitkey Inc.
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
280
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
920
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
17
18k
Dev Containers と Skaffold で実現する クラウドネイティブ開発環境 ローカルのみという制約に挑む / Cloud-Native Development with Dev Containers and Skaffold: Tackling the Local-Only Constraint
bitkey
PRO
0
320
待つ、歩く、そして祈る -モバイルアプリの厄介なテスト奮闘記-/Wait, Walk, and Pray -The Troublesome Struggle of Mobile App Testing-
bitkey
PRO
1
130
見栄えと使いやすさの先にある 特別感 をデザインする / Designing a Sense of Specialness Beyond Aesthetics and Usability
bitkey
PRO
0
250
フレームワーク探しはもう終わり! チームに「ジャストフィット」するワークショップの作り方 / No More Framework Searching: How to Build a 'Just-Fit' Workshop for Your Team
bitkey
PRO
0
140
一次体験を起点にしたUX改善の取り組み / Direct Experience Driven UX Improvements
bitkey
PRO
0
380
ユーザー体験は細部に宿る -ウィジェットQAの挑戦と気づき- / UX is in the details: Challenges and Learnings from Widget QA
bitkey
PRO
0
150
Other Decks in Technology
See All in Technology
旅先で iPad + Neovim で iOS 開発・執筆した話
zozotech
PRO
0
100
コンテナセキュリティの最新事情 ~ 2026年版 ~
kyohmizu
7
2.4k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
340
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
340
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
120
プレビュー版のDevOpsエージェントを現段階で触ってみた
ad_motsu
1
100
AI駆動開発を事業のコアに置く
tasukuonizawa
1
400
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
410
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
680
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1.1k
Red Hat OpenStack Services on OpenShift
tamemiya
0
140
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
170
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
First, design no harm
axbom
PRO
2
1.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
430
Context Engineering - Making Every Token Count
addyosmani
9
670
Marketing to machines
jonoalderson
1
4.7k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
Building AI with AI
inesmontani
PRO
1
710
Deep Space Network (abreviated)
tonyrice
0
67
The World Runs on Bad Software
bkeepers
PRO
72
12k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
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