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
Firebaseを使ってWebサービスを作る 〜 リリースまで取り組みたい10のこと
Search
OH MY GOD Inc
October 27, 2019
Technology
0
560
Firebaseを使ってWebサービスを作る 〜 リリースまで取り組みたい10のこと
Firebase Startup #1 @piece of cake
OH MY GOD Inc
October 27, 2019
Tweet
Share
More Decks by OH MY GOD Inc
See All by OH MY GOD Inc
ザ・クーポン- サービス紹介・実績 資料
fujiyamayuta
0
32k
THE BINGO - サービス紹介・実績 資料
fujiyamayuta
0
690k
ザ・スタンプラリー - サービス紹介・実績 資料
fujiyamayuta
1
41k
困った!よくあるトラブル対処方法
fujiyamayuta
0
19k
レシートパシャパシャ
fujiyamayuta
0
530
LINEミニアプリ・LIFF どちらを提案するのがベストか考えてみる
fujiyamayuta
0
240
マズローの欲求5段階説で考えてみる、なぜ俺たちは個人開発をするのか?
fujiyamayuta
2
140
OH MY GOD inc. 会社概要
fujiyamayuta
0
21k
ザ・クーポン- サービス概要資料
fujiyamayuta
1
150
Other Decks in Technology
See All in Technology
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1k
Four Keysから始める信頼性の改善 - SRE NEXT 2025
ozakikota
0
210
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
1k
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
240
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
260
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
120
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
450
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
360
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
1
390
Getting to Know Your Legacy (System) with AI-Driven Software Archeology (WeAreDevelopers World Congress 2025)
feststelltaste
1
180
SEQUENCE object comparison - db tech showcase 2025 LT2
nori_shinoda
0
280
インフラ寄りSREの生存戦略
sansantech
PRO
9
3.4k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Designing for humans not robots
tammielis
253
25k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Code Reviewing Like a Champion
maltzj
524
40k
Adopting Sorbet at Scale
ufuk
77
9.5k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Transcript
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ !'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ಡॻײจͷݪߘ༻ࢴ ʷ
'JSFCBTF Λͬͯ 8FC αʔϏεΛ࡞Δʙ ϦϦʔε·ͰऔΓΈ͍ͨ ͷ͜ͱ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 'JSFCBTF)BDLBUIPO 'JSFCBTF)BDLBUIPO ϑδϫϥϢλ !'VKJZBNB@:VUB ˙ࣄɿ4PGUXBSF&OHJOFFS ˙झຯɿχονͳαʔϏεΛີ͔ʹӡ༻
8FC ϑϩϯτ͕ಘҙͰ͢ʂ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 㘾㘶㘴㗪㘨㖽㙆㘬ක䜅㗌ሳբ OFFICE CLOCK ΧϯλϯʹϏϯΰେձ͕։࠵Ͱ͖Δ 8FC αʔϏε
THE BINGO ΞΧϯτొෆཁɺΠϯετʔϧෆཁʂ -*/& ͱ 8FC Ͱۈଵཧ͕Ͱ͖ΔαʔϏε RealtimeDatabase Firebase Hosting
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ લճͷ 'JSFCBTF)BDLBUIPO ͔ΒҰϲ݄ܦͪɺ ৽αʔϏεΛϩʔϯν͠·ͨ͠ɻ ϦϦʔε·Ͱ͕ࣗऔΓΜͩ͜ͱΛ͓͠·͢ɻ 1JUDI%FNP%BZ
·ͰͷҰͭͷࢀߟࣄྫ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ৽αʔϏεΛϦϦʔε͠·ͨ͠ʂ 'JSFCBTF ͷϓϥοτϑΥʔϜͰ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ kansobun.jp ಡॻײจ ͷݪߘ༻ࢴ ʷ
ΈΜͳͷײจ ΠϯλʔωοτͰಡॻײจ͕ॻ͚ΔΞϓϦ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 㗩㘓㗪㘨㖽㙆㘬㗋kɓԊ㗧㗄㗆㗨 8FC ϒϥβͰಡॻײจ͕ॻ͚ΔαʔϏεͰ͢ʂ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ Ъ㗣㗟ߠ౻ซ ಡॻײจͷશࠃେձɺ Β͕খֶੜͷࠒ͔ΒมԽ͍ͯ͠ͳ͍ɻ Կ࣌ؒຊΛಡΈɺ จষΛਪᏏͯ͠ॻ͍ͨײจͷ΄ͱΜͲɺ ୭ʹݟΒΕͣهԱʹΒͣফ͍͑ͯΔɻ൵͍͠ɻ
ςΫϊϩδʔͰͲ͏ʹ͔Ͱ͖ͳ͍͔
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ݪߘ༻ࢴͷॎॻ͖ͷྑͭͭ͞͠ɺ ײจͷΞʔΧΠϒΛ͢͜ͱ͕Ͱ͖ɺ ੈքൃ৴Ͱ͖ΔαʔϏε͕ʰΈΜͳͷײจʱͰ͢ɻ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ γεςϜߏ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ !'VKJZBNB@:VUB IUUQTLBOTPCVOKQ KQFH Firestore Cloud Storage
ɾNuxt ɾSemanticUI Firebase Hosting Firebase Functions γεςϜߏ IUUQTMPDBMIPTU Developer Version Control Github Firebase Authentication Product Advertising API ຊͷݕࡧ ೝূ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ /VYUKT > 4FNBOUJD6* 8FC'SPOUFOE #BDLFOE #BB4
'JSFCBTF )PTUJOH 4UPSBHF "VUIFOUJDBUJPO 'JSFTUPSF 'JSFCBTF'VODUJPOT αʔόʔϨεߏ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ۤઓͨ͠ͱ͜Ζ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ VTDFOUSBM ถࠃΞΠΦϫभ ϦʔδϣϯΛબͯ͠͠·ͬͨ 'VODUJPOT ͔Β֎෦ "1*
͕ୟ͚ͳ͔ͬͨ 'VODUJPOT ͷΧελϜυϝΠϯઃఆͷϦʔδϣϯ VTDFOUSBM ͷΈ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ VTDFOUSBM ถࠃΞΠΦϫभ ϦʔδϣϯΛબͯ͠͠·ͬͨɻ ˗ϨΠςϯγ͕͍͢͝ʢޫ͍ʣ ˗ϦʔδϣϯҰઃఆͯ͠͠·͏ͱޙ͔ΒมߋͰ͖ͳ͍ ˗VTDFOUSBM
͔Β BTJBOPSUIFBTUʢ౦ژʣʹҠߦ͢Δͷ݁ߏେม ʢυϝΠϯͷ͚ସ͑ɺ'JSFTUPSF ͷΠϯσοΫεͷ࡞Γ͠ʣ ڭ܇ɿຊ͔ΒͷΞΫηε͕ଟ͍αʔϏεͷ߹ BTJBOPSUIFBTU Λબͨ͠΄͏͕ྑ͍ʂ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 'VODUJPOT ͔Β "NB[PO"1* ͕ୟ͚ͳ͔ͬͨ ֎෦ "1*
ͱଓ͢ΔͨΊʹɺ 'MBNF ݄ PS#MB[Fʢॏྔ՝ۚʣ ͷϓϥϯʹมߋ͕ඞཁɻ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 'VODUJPOT ͷΧελϜυϝΠϯઃఆͷϦʔδϣϯ VTDFOUSBM ͷΈ IUUQTBTJBOPSUIFBTUFYBNQMFDMPVEGVODUJPOTOFULBOTPCVO IUUQTFYBNQMFDPNBQJLBOTPCVO
σϑΥϧτ ΧελϜυϝΠϯ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ͨ͠ͱ͜Ζ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ γΣΞ༻ͷ 0(1 λάͷ 63- Λಈతʹੜ 4JUFNBQ
Λಈతʹੜ͢ΔΈ ݕࡧʢߜΓࠐΈʣ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ γΣΞ༻ͷ 0(1 λάͷ 63- Λಈతʹੜ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ !'VKJZBNB@:VUB 4/4 Ϋϩʔϥʔʢ5XJUUFSʣ ਓྨ IUUQTLBOTPCVOKQTIBSFIPHFIVHBQJZP QPTUIPHFIVHBQJZP
User γΣΞ͠Α͏ͬͱʂ IUUQTLBOTPCVOKQTIBSFIPHFIVHBQJZP ࢀߟɿ ʲ2JJUBʳ/VYUKT 'JSFCBTF Ͱ 0(1 ͷΈΛશʹཧղͨ͠ɹʙആ۟Λ 47( Ͱඳը͢ΔαʔϏεΛϦϦʔεͨ͠ʙ IUUQTLBOTPCVOKQQPTUIPHFIVHBQJZP User ݟΑͬͱʂ γΣΞ༻ 63- ߘ +BWB4DSJQU ͕࣮ߦ͞Εͣ 0(JNBHF ͕දࣔ͞ΕΔ ࣮ߦ͞Εͳ͍ +BWB4DSJQU ͕࣮ߦ͞ΕͯϦμΠϨΫτ͞ΕΔɻ γΣΞ༻ 63- ৄࡉϖʔδ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϨϯμϦϯάΤϯδϯͷਐԽͱͱʹɺ දࣔͰ͖ͳ͍ϒϥβ͋ΔͷͰ ͪΌΜͱ 443 ͨ͠ΓɺଞͷΓํΛݕ౼͢Δ΄͏͕ ྑͦ͞͏
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF)BDLBUIPO !'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 4JUFNBQ Λಈతʹੜ͢ΔΈ
GVODUJPOT Ͱ YNM Λੜ αʔνίϯιʔϧʹ৯ΘͤΔ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ݕࡧʢߜΓࠐΈʣ 'JSFTUPSF ͰϑΟʔϧυͷྻͷݕࡧՄೳɻ ͨͩશҰகͷΈͳͷͰɺ෦ҰகจষͷશݕࡧΛ࣮͍ͨ͠߹ BMHPMJB Ͱ࣮
͢Δ͔͠ͳͦ͞͏ʁʢͦͷͱ͜ΖΈதʣ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϦϦʔε·ͰʹऔΓΜͩ͜ͱ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ᶃຖ ࣌ؒ։ൃ͢Δ ᶄϕʔλ൛ςετ ᶅϦϦʔε ᶆϒϩάɾٕज़هࣄɾϓϨεϦϦʔεΛॻ͘
ᶇଧ্ͪ͛
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ຖ ࣌ؒ։ൃ͢Δ ܾ·ͬͨ࣌ؒʹग़ࣾͯ͠ɺܾΊ͚ͨ࣌ؒͩूதͯ͠։ൃɻ ຖ DPNNJU
͢Δ͜ͱ͕৺͕͚ͨɻ ʢϞνϕʔγϣϯ͕͋ΔͷͰɺͳΔ͘པΒͳ͍ʣ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϕʔλ൛ςετ ͋Δఔͷػೳ͕Ͱ͖ͨΒɺϢʔβʔʢ༑ୡʣʹ৮ͬͯΒͬͯɺ ϑΟʔυόοΫΛΒ͏ʢόάόογϡʣ ɻ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϒϩάɾٕज़هࣄɾϓϨεϦϦʔεΛॻ͘ ˞๏ਓͷ߹ ແྉͰϓϨεϦϦʔεΛଧͯΔ 5XJUUFS 2JJUB
135JNFT OPUF
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ϝσΟΞʹऔΓ্͍͛ͯͨͩ͘ χίχίχϡʔε */5&3/&5/&84 *303*0
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ ·ͱΊ 1JUDI%FNP%BZ ·Ͱʹ ϓϩμΫτຏ͍͖ͯ·͢ʂ
!'VKJZBNB@:VUB +BWB4DSJQU ୄ㘊 'JSFCBTF4UBSUVQ.FFUVQ 'JSFCBTF)BDLBUIPO ɿ!'VKJZBNB@:VUB ɿ!:VUB@'VKJXBSB ϑδϫϥϢλ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ