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
57
おれたちはいつDXできるのか
commander_aipa
1
36
ウンケーニオキタコワイハナシ
commander_aipa
0
85
Nuxt3 Deeeeeeeeeeeeeeeeeeeeeploy
commander_aipa
0
110
Meilisearchでハイブリッドベクトル検索
commander_aipa
0
64
Honoの導入を検討していたが、Honoの人が来沖するらしいので、急いでHonoを導入した話
commander_aipa
0
150
Dの意思は神を殺す
commander_aipa
0
75
ファインチューニングがしたい
commander_aipa
0
150
サクッと検索サーバを用意する
commander_aipa
0
160
Other Decks in Technology
See All in Technology
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
430
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
AGIについてChatGPTに聞いてみた
blueb
0
130
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
170
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
170
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
Terraform Stacks入門 #HashiTalks
msato
0
360
The Rise of LLMOps
asei
7
1.7k
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Practical Orchestrator
shlominoach
186
10k
Writing Fast Ruby
sferik
627
61k
A designer walks into a library…
pauljervisheath
204
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
How to train your dragon (web standard)
notwaldorf
88
5.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Site-Speed That Sticks
csswizardry
0
28
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
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