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
Firestoreを知る旅
Search
Aipa
April 03, 2023
Technology
0
1.9k
Firestoreを知る旅
このイベントでLTしました。
https://flutter-okinawa.connpass.com/event/273193/
Aipa
April 03, 2023
Tweet
Share
More Decks by Aipa
See All by Aipa
ピンチヒッターです。なにか話します
commander_aipa
0
75
おれたちはいつDXできるのか
commander_aipa
1
43
ウンケーニオキタコワイハナシ
commander_aipa
0
93
Nuxt3 Deeeeeeeeeeeeeeeeeeeeeploy
commander_aipa
0
140
Meilisearchでハイブリッドベクトル検索
commander_aipa
0
91
Honoの導入を検討していたが、Honoの人が来沖するらしいので、急いでHonoを導入した話
commander_aipa
0
170
Dの意思は神を殺す
commander_aipa
0
82
ファインチューニングがしたい
commander_aipa
0
170
サクッと検索サーバを用意する
commander_aipa
0
180
Other Decks in Technology
See All in Technology
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.8k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
2k
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
130
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
710
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
170
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.1k
The Future of SEO: The Impact of AI on Search
badams
0
190
Building Products in the LLM Era
ymatsuwitter
10
5.4k
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
700
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
120
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
110
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
A designer walks into a library…
pauljervisheath
205
24k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Thoughts on Productivity
jonyablonski
69
4.5k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Music & Morning Musume
bryan
46
6.3k
4 Signs Your Business is Dying
shpigford
182
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Transcript
Flutter Okinawa LT #1 ͋ͭ·Εʔʂ 2023/03/25 aipacommander@ఱٱʹ͋Δձࣾ
ࣗݾհ • ΞΠύʔୂͱ͍͍·͢ (@aipacommander) • CBcloudגࣜձࣾͰಇ͍͍ͯ·͢ • ࠺ͱࢠೋਓͱݘ1ඖͱೣ1ඖͰ΄΅ຖWelcome to Α͏ͦ͜͡ΌͺΓͺʔ͘ࠓ
υολϯόολϯେ૽͍͗ͯ͠·͢ • ʢࠓʣϑϩϯτΤϯδχΞͰ͢ʂ • GitHub CopilotʹڵຯΛ࣋ͪ࢝Ί·ͨ͠ • VTuberʹͳͬͯ5000ສՔ͍ͩΒ͙Β͍ٳ৬͍ͨ͠
ࠓ͢͜ͱ
ྩ5͔Β࢝Ί ΔNoSQL Firestoreͷ
ઌʹͷ͜Ε·Ͱͷܦݧ • RDB͔ͬͨ͜͠ͱͳ͍ • Redis͕গʑɻɻɻηογϣϯΩʔͱ͔JobQueueΛ٧ΊΔ͙Β͍ • DynamoDBʁΫΤϦୟ͚ΔΑɻԿΘ͔Βͳ͍͚Ͳ • ਖ਼نԽʂਖ਼نԽʂʂਖ਼نԽʂʂʂʢͦΜͳܦݧ͕͋ΔΘ͚Ͱͳ͍͕ʣ •
JSONܕʁΞϯνύλʔϯͩʂʢʣ • ࣮ࡍͦ͏Ͱͳ͘ɺ·͡Ͱਖ਼نԽ͢Δͷ͕Ή͍ͣʂʂͬͯͳͬͨΒར༻͢Δ
ྩ5͔Β࢝ΊΔNoSQL • ࠷ۙFirebaseʢFirestoreʣΛϓϩδΣΫτʹಋೖ͠·ͨ͠ • ΧδϡΞϧ͗ͯ͢ා͍ • ࢦոզ͓ͨ͠͡͞Μͷڭ͕͑ා͍ • NoSQLΛͬͨ݁Ռɺӡ༻Ͱࢮͳͳ͍Α͏ʹզʑϠϯόϧͷԞ ͱาΈͩͨ͠ʂ
ࢦոզ͓ͨ͠͡͞Μͷڭ͑ https://www.youtube.com/watch?v=v_hR4K4auoQ
ࢦոզ͓ͨ͠͡͞Μͷڭ͑ͷ1ྫ • Ϩετϥϯ → ϨϏϡʔ → ϨϏϡʔΛߘͨ͠Ϣʔβʔใͱ͍͏ؔͨ͠σʔλΛϞ σϦϯά͢Δ߹ • ϨετϥϯͷதʹྻͰϨϏϡʔΛͨͤΔɺϨετϥϯͱϢʔβʔτοϓϨϕϧ
ͰσʔλΛ࣋ͭʢ؆୯ʹઆ໌͢Δͱอଘ͢Δςʔϒϧʢҧ͏͚Ͳʣ͕ผʣ • ϨϏϡʔͷதʹMapʢJSONʣͰϢʔβʔใΛͨͤΔʢʁʂʣ • σʔλ͕ॏෳ͍ͯ͠ΔΜͰ͕͢ɾɾɾ • Cloud FunctionΛͬͯ߹ੑ͋ΘͤΔͱ͔Ͱ͖Δ͔Βྑ͍ʢʁʂʣ • ͋ͱϢʔβʔϓϩϑΟʔϧͱ͔ͦΜͳ͔ΘΒͳ͍Ͱ͠ΐʁʢʁʂʣ
͋Β͔ͨใΛݟऴΘͬͨ͋ͱͷͷؾ࣋ͪ ࣗ༝͗͢Δ
ͦͦɾɾɾ • NoSQLͬͯͳʹʁ • Firestoreͬͯͳʹʁ • FirestoreͰͰ͖Δ͜ͱɾͰ͖ͳ͍͜ͱͬͯ͋Δͷʁ • FirestoreͰσʔλϞσϦϯάͨ͠߹ɺϕετϓϥΫςΟεूతͳ͜ ͱ͕Γ͍ͨ
FirestoreΛΔཱྀ
FirestoreΛΔཱྀ • ྉۚϓϥϯ • ΫϥυαʔϏεैྔ՝੍ۚഁ࢈͕ා͍ • Ωϟογϡ • ຖճΞΫηε͢Δͱͦͷ՝ۚ͞ΕΔͷͰΩϟογϡΛ͍͍ͨ •
ςετ • CI/CDΒͤΔͨͼʹ՝ۚ͞ΕΔͷʁͳΜ͔ݏ • ݕࡧ • ͍͋·͍ݕࡧ(LIKE)Ͱ͖ͳ͍ → !? • ू͕ؔΓͳ͍ • ORݕࡧͰ͖ͳ͍ → !?
ྉۚϓϥϯ • ࢥ͍ͷ֎͍҆ɻԼه;ͨͭͷϖʔδͰ֓ͶࢼࢉͰ͖Δ • ྉۚϓϥϯ • ՝ۚͷྫ • Firestoreอଘ͢Δσʔλྔͷແྉ1GBͳͷͰɺ͙͢౸ୡͦ͠͏ •
ಡΈࠐΈ̑ສ݅/ɺॻ͖ࠐΈ2ສ݅/ແྉͱͯྑ͍
Ωϟογϡ • Firebase SDKͳΔͷ͕͋Δɻ͍ͦͭΛ͏ͱΩϟογϡΛѻ͑Δ ʢJavaScript Onlyʣ • தIndexedDB • IndexedDB
API • ಉ͡ΫΤϦ1ୟ͘ͱΩϟογϡ͞ΕΔ • ϦΞϧλΠϜͷ߹ɺՃɾߋ৽ɾআpush͞ΕΔʢͱΜͰ͘Δʣ
ςετ • CIͷͨͼʹΫϥυୟ͘ͷΑ͘ͳ͍ʢ՝ۚ͞ΕΔʣ • Firebase Local Emulator Suite ͕͋Δ •
JavaʢʁʂʣΛೖΕͨΒϩʔΧϧͰFirestoreͳͲ্ཱ͕͕ͪΔ • ͍ͭ͜ΛͬͯςετΛॻ͘ • ͪΖΜϩʔΧϧͰͷಈ࡞ݕূར༻Ͱ͖·͢ • ڥมͱ࿈ܞͯ͠ɺΤϛϡϨʔλʔʹΓସ͑ΔΑ͏ʹ͢Δͱ͔Ͱ͖Δ
ݕࡧ • ͍͋·͍ݕࡧ͕Ͱ͖ͳ͍ • ݫີʹલํҰகͰ͖Δ͚ͲɺจࣈίʔυΛߟ্ྀͨ͠ͷݕࡧʹͳΔͷͰΊΜͲͦ͘͞͏ • ू͕ؔऑ͍ • CountͰ͖ͨ •
Maxͱ͔Minͱ͔ͳ͍ • ϑϩϯτΤϯυͰ͕ΜΔ • ORݕࡧ͕Ͱ͖ͳ͍ • ·͔͡Α • TipsΛ͏ͱ͍͚Δʢin, array-contains-anyʣ • ͰɺOR݅ͷΩʔϫʔυ10ݸ·Ͱͱ͍͏੍ݶ͕͋Δ • ݕࡧRDBͰΑ͋͘ΔϕʔγοΫͳݕࡧؚΊͯɺElasticSearchͳͲͷ֎෦ͷݕࡧΤϯδϯΛར༻͢Δͷ͕٢ͩͱࢥ͍·͢
݁ • Firestore͕ͪΐͬͱΘ͔ͬͨ • NoSQLͱ͍͏͔σʔλϕʔεͷΤϯδϯपΓͷ ΞʔΩςΫνϟΛͬͱΓͨ͘ͳͬͨ • σʔλϞσϦϯάʹ͍ͭͯͬͱษڧ
ͨ͘͠ͳͬͨ • ؾʹͳΔ͜ͱ͕ଟ͗ͯ͢VTuberͷ ເ͕ԕ͘ɾɾɾɾɾ https://seiga.nicovideo.jp/seiga/im2331760
ࢀߟURL&ࢀߟॻ੶ • FirestoreυΩϡϝϯτ • matope/NoSQLσʔλϞσϦϯάٕ๏.markdown • NOSQLͷجૅࣝ (ϏοάσʔλΛ׆͔͢σʔλϕʔεٕज़) • ΠϛϡʔλϒϧσʔλϞσϦϯά
• WEB+DB PRESS Vol.130