Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Firestoreを知る旅

Aipa
April 03, 2023

 Firestoreを知る旅

このイベントでLTしました。
https://flutter-okinawa.connpass.com/event/273193/

Aipa

April 03, 2023
Tweet

More Decks by Aipa

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ • ΞΠύʔୂ௕ͱ͍͍·͢ (@aipacommander) • CBcloudגࣜձࣾͰಇ͍͍ͯ·͢ • ࠺ͱࢠೋਓͱݘ1ඖͱೣ1ඖͰ΄΅ຖ೔Welcome to Α͏ͦ͜͡ΌͺΓͺʔ͘ࠓ೔΋

    υολϯόολϯେ૽͍͗ͯ͠·͢ • ʢࠓ͸ʣϑϩϯτΤϯδχΞͰ͢ʂ • GitHub CopilotʹڵຯΛ࣋ͪ࢝Ί·ͨ͠ • VTuberʹͳͬͯ5000ສՔ͍ͩΒ൒೥͙Β͍ٳ৬͍ͨ͠
  2. ਌ࢦոզ͓ͨ͠͡͞Μͷڭ͑ͷ1ྫ • Ϩετϥϯ → ϨϏϡʔ → ϨϏϡʔΛ౤ߘͨ͠Ϣʔβʔ৘ใͱ͍͏ؔ܎ͨ͠σʔλΛϞ σϦϯά͢Δ৔߹ • Ϩετϥϯͷதʹ഑ྻͰϨϏϡʔΛ΋ͨͤΔɺϨετϥϯͱϢʔβʔ͸τοϓϨϕϧ

    ͰσʔλΛ࣋ͭʢ؆୯ʹઆ໌͢Δͱอଘ͢Δςʔϒϧʢҧ͏͚Ͳʣ͕ผʣ • ϨϏϡʔͷதʹMapʢJSONʣͰϢʔβʔ৘ใΛ΋ͨͤΔʢʁʂʣ • σʔλ͕ॏෳ͍ͯ͠ΔΜͰ͕͢ɾɾɾ • Cloud FunctionΛ࢖ͬͯ੔߹ੑ͋ΘͤΔͱ͔Ͱ͖Δ͔Βྑ͍ʢʁʂʣ • ͋ͱϢʔβʔϓϩϑΟʔϧͱ͔ͦΜͳ͔ΘΒͳ͍Ͱ͠ΐʁʢʁʂʣ
  3. FirestoreΛ஌Δཱྀ • ྉۚϓϥϯ • Ϋϥ΢υαʔϏεैྔ՝੍ۚ͸ഁ࢈͕ා͍ • Ωϟογϡ • ຖճΞΫηε͢Δͱͦͷ౓՝ۚ͞ΕΔͷͰΩϟογϡΛ࢖͍͍ͨ •

    ςετ • CI/CD૸ΒͤΔͨͼʹ՝ۚ͞ΕΔͷʁͳΜ͔ݏ • ݕࡧ • ͍͋·͍ݕࡧ(LIKE)͸Ͱ͖ͳ͍ → !? • ू໿ؔ਺͕଍Γͳ͍ • ORݕࡧͰ͖ͳ͍ → !?
  4. Ωϟογϡ • Firebase SDKͳΔ΋ͷ͕͋Δɻ͍ͦͭΛ࢖͏ͱΩϟογϡΛѻ͑Δ ʢJavaScript Onlyʣ • த਎͸IndexedDB • IndexedDB

    API • ಉ͡ΫΤϦ͸1౓ୟ͘ͱΩϟογϡ͞ΕΔ • ϦΞϧλΠϜͷ৔߹͸ɺ௥Ճɾߋ৽ɾ࡟আ෼͸push͞ΕΔʢͱΜͰ͘Δʣ
  5. ςετ • CIͷͨͼʹΫϥ΢υୟ͘ͷ͸Α͘ͳ͍ʢ՝ۚ͞ΕΔʣ • Firebase Local Emulator Suite ͕͋Δ •

    JavaʢʁʂʣΛೖΕͨΒϩʔΧϧͰFirestoreͳͲ্ཱ͕͕ͪΔ • ͍ͭ͜Λ࢖ͬͯςετΛॻ͘ • ΋ͪΖΜϩʔΧϧͰͷಈ࡞ݕূ΋ར༻Ͱ͖·͢ • ؀ڥม਺ͱ࿈ܞͯ͠ɺΤϛϡϨʔλʔʹ੾Γସ͑ΔΑ͏ʹ͢Δͱ͔΋Ͱ͖Δ
  6. ݕࡧ • ͍͋·͍ݕࡧ͕Ͱ͖ͳ͍ • ݫີʹ͸લํҰக͸Ͱ͖Δ͚ͲɺจࣈίʔυΛߟ্ྀͨ͠ͷݕࡧʹͳΔͷͰΊΜͲͦ͘͞͏ • ू໿ؔ਺͕ऑ͍ • Count͸Ͱ͖ͨ •

    Maxͱ͔Minͱ͔ͳ͍ • ϑϩϯτΤϯυͰ͕Μ͹Δ • ORݕࡧ͕Ͱ͖ͳ͍ • ·͔͡Α • TipsΛ࢖͏ͱ͍͚Δʢin, array-contains-anyʣ • Ͱ΋ɺOR৚݅ͷΩʔϫʔυ10ݸ·Ͱͱ͍͏੍ݶ͕͋Δ • ݕࡧ͸RDBͰΑ͋͘ΔϕʔγοΫͳݕࡧ΋ؚΊͯɺElasticSearchͳͲͷ֎෦ͷݕࡧΤϯδϯΛར༻͢Δͷ͕٢ͩͱࢥ͍·͢
  7. ݁࿦ • Firestore͕ͪΐͬͱΘ͔ͬͨ • NoSQLͱ͍͏͔σʔλϕʔεͷΤϯδϯपΓͷ 
 ΞʔΩςΫνϟΛ΋ͬͱ஌Γͨ͘ͳͬͨ • σʔλϞσϦϯάʹ͍ͭͯ΋ͬͱษڧ 


    ͨ͘͠ͳͬͨ • ؾʹͳΔ͜ͱ͕ଟ͗ͯ͢VTuber΁ͷ 
 ເ͕ԕ͘ɾɾɾɾɾ https://seiga.nicovideo.jp/seiga/im2331760