Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2024.05.13 ࣄҎ֎Ͱ࡞ͨ͠ϓϩμΫτͷࣗຫେձ ʙEQMonitorͷ͝հʙ YUMEMI Inc. Flutter Engineer - Ryotaro Onoue גࣜձࣾ ΏΊΈ LTFes #6 (ࣾ)
Slide 2
Slide 2 text
whoami 23ଔ FlutterΤϯδχΞ
Slide 3
Slide 3 text
Today’s topic ݸਓ։ൃ͍ͯ͠ΔΞϓϦέʔγϣϯͷ͓
Slide 4
Slide 4 text
Today’s Topic 1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ - 1-1. ػೳͷ֓ཁ - 1-2. EQMonitorΛࢧ͑Δٕज़ͷ͓ - 1-3. োى͜͠·ͨ͠ & ڭ܇ - 1-4. ࠓޙͷల ͱ ·ͱΊ
Slide 5
Slide 5 text
1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ EQMonitor(iOS/Android) - EQMonitorͱ͍͏ؔ࿈ͷΞϓϦέʔγϣϯΛ੍࡞
Slide 6
Slide 6 text
Today’s Topic 0. Whoami 1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ - 1-1. ػೳͷ֓ཁ - 1-2. EQMonitorΛࢧ͑Δٕज़ͷ͓ - 1-3. োى͜͠·ͨ͠ & ڭ܇ - 1-4. ࠓޙͷల ͱ ·ͱΊ
Slide 7
Slide 7 text
1-1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ EQMonitor - Earthquake Monitoring Application (iOS/Android) - EQMonitorͱ͍͏ؔ࿈ͷΞϓϦέʔγϣϯΛ੍࡞ - ΞϓϦέʔγϣϯࣗମFlutterͰ੍࡞
Slide 8
Slide 8 text
1-1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ EQMonitor - Earthquake Monitoring Application (iOS/Android) - EQMonitorͱ͍͏ؔ࿈ͷΞϓϦέʔγϣϯΛ੍࡞ - ΞϓϦέʔγϣϯࣗମFlutterͰ੍࡞ ڧϞχλ ࠃཱݚڀ։ൃ๏ਓࡂՊֶٕज़ݚڀॴ͕ ఏڙ͢Δ8FCαʔϏε IUUQXXXLNPOJCPTBJHPKQ ຊશࠃͷ༳Εͷঢ়گΛϦΞϧλΠϜͰදࣔ ը૾ղੳΛߦ͍ɺਤ্ʹදࣔ
Slide 9
Slide 9 text
1-1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ EQMonitor - Earthquake Monitoring Application (iOS/Android) - EQMonitorͱ͍͏ؔ࿈ͷΞϓϦέʔγϣϯΛ੍࡞ - ΞϓϦέʔγϣϯࣗମFlutterͰ੍࡞ ۓٸใ ؾிʹΑΓൃද͞ΕͨۓٸใΛ ϦΞϧλΠϜͰදࣔ ओཁಈ 4 ॳظඍಈ 1 ۓٸใͷσʔλΛࣗલ+40/ม͠ɺ)5518FC4PDLFU"1*Ͱ৴
Slide 10
Slide 10 text
1-1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ EQMonitor - Earthquake Monitoring Application (iOS/Android) - EQMonitorͱ͍͏ؔ࿈ͷΞϓϦέʔγϣϯΛ੍࡞ - ΞϓϦέʔγϣϯࣗମFlutterͰ੍࡞ ཤྺ աڈͷΛḪͬͯݕࡧ - ࠷େɾͷن(Ϛάχνϡʔυ)ɾ ݯͷਂ͞ͰߜΓࠐΈՄೳ - 202011݄Ҏ߱ͷใΛݕࡧՄೳ (ࠓޙ֦ு༧ఆ)
Slide 11
Slide 11 text
1-1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ EQMonitor - Earthquake Monitoring Application (iOS/Android) - EQMonitorͱ͍͏ؔ࿈ͷΞϓϦέʔγϣϯΛ੍࡞ - ΞϓϦέʔγϣϯࣗମFlutterͰ੍࡞ ཤྺͷৄࡉ ཤྺͰબͨ͠ใͷৄࡉΛදࣔ - ݯͷҐஔɾ؍ଌͷ - ֤ҬͷΛృΓͭͿ͠Ͱදࣔ - ֤ͷ͔ΒɺಛఆͷΛ؍ଌͨ͠ಓݝɾࢢ۠ொଜɾ ؍ଌΛදࣔ
Slide 12
Slide 12 text
1-1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ EQMonitor - Earthquake Monitoring Application (iOS/Android) - EQMonitorͱ͍͏ؔ࿈ͷΞϓϦέʔγϣϯΛ੍࡞ - ΞϓϦέʔγϣϯࣗମFlutterͰ੍࡞
Slide 13
Slide 13 text
Today’s Topic 0. Whoami 1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ - 1-1. ػೳͷ֓ཁ - 1-2. EQMonitorΛࢧ͑Δٕज़ͷ͓ - 1-3. োى͜͠·ͨ͠ & ڭ܇ - 1-4. ࠓޙͷల ͱ ·ͱΊ
Slide 14
Slide 14 text
1-2. EQMonitorΛࢧ͑Δٕज़ͷ͓ ΞϓϦέʔγϣϯαΠυ: Flutter - ϚϧνϓϥοτϑΥʔϜͳϑϨʔϜϫʔΫ Flutter Λ༻͍ͯ։ൃ - ਤඳըʹ Maplibre ͱ͍͏OSSΛར༻ - ϞϊϨϙߏʹ͠ɺ࠶ར༻ՄೳͳύοέʔδΛ࡞ - ಈ࡞ݕূ༻ͷΞϓϦέʔγϣϯɾαʔόଆ࣮ͰҰ෦࠶ར༻
Slide 15
Slide 15 text
1-2. EQMonitorΛࢧ͑Δٕज़ͷ͓ αʔόαΠυαʔϏε܈ - αʔόଆͰΒͳ͍ͱ͍͚ͳ͍͜ͱ͕৭ʑ͋Δ - ใɾۓٸใͷੵɾ࠶৴ - ߜΓࠐΈػೳͷͨΊʹɺࣗલσʔλϕʔεΛ༻ҙ͢Δඞཁ͕͋Δ - ϦΞϧλΠϜͰۓٸใΛ৴͢ΔͨΊͷWebSocket APIαʔό - ใΛ৴͢ΔͨΊͷHTTP APIαʔό - ਤσʔλΛ৴͢ΔͨΊͷ ϑΝΠϧϗεςΟϯάαʔό - ௨ͷ৴ - ↑αʔϏε܈ͷࢹ
Slide 16
Slide 16 text
αʔόؔ࿈ͷߏ ৭ʑಈ͔͍ͯ͠·͢
Slide 17
Slide 17 text
αʔόؔ࿈ͷߏ ৭ʑಈ͔͍ͯ͠·͢ Project DM-D.S.S - ؾி͔Βͷใ(XMLిจ)Λѻ͍͍͢ܗ (JSON)ʹͯ͠ɺϦΞϧλΠϜͰೖखͰ͖Δαʔ Ϗε - ൺֱత҆ՁͰݸਓ։ൃऀͷ͓αΠϑʹ͍͞͠ (¥2,530/݄) - ͪͳΈʹɺؾி͔Β(ਖ਼֬ʹJMBSCܦ༝Ͱ) ೖख͠ Α͏ͱ͢Δͱ ॳظඅ༻6ܻ, ֹ݄5ܻޙ΄ Ͳඞཁ
Slide 18
Slide 18 text
αʔόؔ࿈ͷߏ ৭ʑಈ͔͍ͯ͠·͢ - Oracle Cloud Infrastructure (arm64 Compute Instance)্ͷίϯςφͰ DM-D.S.S͔ΒͷใΛड͚औΓ
Slide 19
Slide 19 text
αʔόؔ࿈ͷߏ ৭ʑಈ͔͍ͯ͠·͢ - eqservice͕ɺdmdata-proxy͔ΒใΛड͚औΓ - Firebase Cloud MessagingΛ௨ͯ͡Ϣʔβ௨৴ - Supabase CloudͰ༻ҙͨ͠PostgreSQL Databaseೖ
Slide 20
Slide 20 text
αʔόؔ࿈ͷߏ ৭ʑಈ͔͍ͯ͠·͢ - SupabaseͰड͚औͬͨใɺؔ࿈ͨ͠ใͱ݁߹͞Εอଘ - Supabaseͷػೳͷ1ͭɺSupabase RealtimeΛ௨ͯ͡ Postgres ChangesΛड৴
Slide 21
Slide 21 text
αʔόؔ࿈ͷߏ ৭ʑಈ͔͍ͯ͠·͢ - ԼهใΛWebSocket APIͰ৴ - DM-D.S.S͔Βड৴ͨ͠ใ - PostgresͰؔ࿈ใΛ݁߹ͨ͠ͷ - Cloudflare TunnelΛ௨ͯ͡ Πϯ λʔωοτ࿐ग़ - ΞϓϦέʔγϣϯ͔ΒΞΫηε
Slide 22
Slide 22 text
αʔόؔ࿈ͷߏ ৭ʑಈ͔͍ͯ͠·͢ - ΞϓϦέʔγϣϯ͔Βɺཤྺɾ࠷৽ͷۓٸใΛཁٻ͢Δ࣌ɺCloudflare Workers(ΤοδͷJavaScript࣮ߦڥ)Λ௨ͯ͡SupabaseΞΫηε - Cloudflare WorkersଆͰɺඞཁʹԠͯ͡ΩϟογϡΞΫηε੍ޚΛߦ͏
Slide 23
Slide 23 text
αʔόؔ࿈ͷߏ ৭ʑಈ͔͍ͯ͠·͢
Slide 24
Slide 24 text
αʔόؔ࿈ͷߏ ৭ʑಈ͔͍ͯ͠·͢ ࢹମ੍ - αʔϏεΛ҆ఆͯ͠ಈ͔ͨ͢Ίʹɺࢹ͕ඞཁ - ࣗͷMac MiniͰ Metrics ͷऩू - baselime ͱ͍͏SaaSͰ Cloudflare Workers ͷ Log, Trace Λऩू
Slide 25
Slide 25 text
- Supabase CloudͷMetrics
Slide 26
Slide 26 text
- Docker ContainerͷMetrics
Slide 27
Slide 27 text
- WebSocket ServerͷMetrics
Slide 28
Slide 28 text
- ֤छLog͙֬͢ೝͰ͖ΔΑ͏ʹ - SSHͰ౿Έαʔόଓ͠ byobu(Window manager)Λىಈ͢Ε ͲʔΜ
Slide 29
Slide 29 text
ࢹମ੍Λ͑ΔͱԿ͕خ͍͔͠ Grafana, Prometheus, ֤छExporter - Χοί͍͍μογϡϘʔυΛ࡞ͬͯɺώϚͳ࣌ʹ͖ʹߦ͘ͱ χϠοͱͰ͖Δ - ͳʹ͔͕ى͖ͨ࣌(Ex. ίϯςφ͕ҟৗऴྃͨ͠)ʹSlackͰ௨͕ඈͿͷͰ ਝʹରԠͰ͖Δ - Ͱͳ͘ͱɺҟৗͳϦΫΤετ͕ඈΜͰ͖ͨ࣌ʹ͙͢ؾͮ͘͜ͱ͕Ͱ͖Δ
Slide 30
Slide 30 text
Today’s Topic 0. Whoami 1. ݸਓ։ൃͰ੍࡞͖ͯͨ͠ΞϓϦέʔγϣϯͷ͓ - 1-1. ػೳͷ֓ཁ - 1-2. EQMonitorΛࢧ͑Δٕज़ͷ͓ - 1-3. োى͜͠·ͨ͠ & ڭ܇ - 1-4. ࠓޙͷల ͱ ·ͱΊ
Slide 31
Slide 31 text
1-3. োى͜͠·ͨ͠ ͔ͳ͍͠ - ৭ʑ৽ػೳΛ٧ΊࠐΜͩ େ͖ΊͳΞοϓσʔτͷެ։ޙʹൃੜ (v2.4)
Slide 32
Slide 32 text
1-3. োى͜͠·ͨ͠ ͭΒ͍ - ׂͱେ͖ΊͳΞοϓσʔτΛެ։ޙʹൃੜ (v2.4) - ϦϦʔεલʹߦͬͨAndroidͷGradle(ϏϧυγεςϜ)ͷߋ৽Ͱϛε͍ͯͨ͠ - AndroidͰಈ࡞νΣοΫΛ͍ͯ͠ͳ͔ͬͨ - ʮ·͋ɺAndroidͷϏϧυ௨Δ͠ͳ͍ͩΖʙʯͱָ͔؍తʹߟ͍͑ͯͨ (ͱ͍͏͔ɺGradleͷߋ৽͕͏·͘ߦ͍ͬͯΔ͔ɺϏϧυ͕௨Δ͔௨Βͳ͍͔ͷ2ͩͱࢥ͍ͬͯͨ) - Play Storeͷ৹ࠪ͋Δ͠ɺ·͔͞ىಈ͠ͳ͍ͳΜͯ͜ͱͳ͍ͱࢥ͍ͬͯͨ (͔͠Α͔͘Βͳ͍͚Ͳɺ৹ࠪʹ3͘Β͍ͬͨ)
Slide 33
Slide 33 text
1-3. োى͜͠·ͨ͠ ͭΒ͍ - ׂͱେ͖ΊͳΞοϓσʔτΛެ։ޙʹൃੜ (v2.4) - ϦϦʔεલʹߦͬͨAndroidͷGradle(ϏϧυγεςϜ)ͷߋ৽Ͱϛε͍ͯͨ͠ - AndroidͰಈ࡞νΣοΫΛ͍ͯ͠ͳ͔ͬͨ - ʮ·͋ɺAndroidͷϏϧυ௨Δ͠ͳ͍ͩΖʙʯͱָ͔؍తʹߟ͍͑ͯͨ (ͱ͍͏͔ɺGradleͷߋ৽͕͏·͘ߦ͍ͬͯΔ͔ɺϏϧυ͕௨Δ͔௨Βͳ͍͔ͷ2ͩͱࢥ͍ͬͯͨ) - Play Storeͷ৹ࠪ͋Δ͠ɺ·͔͞ىಈ͠ͳ͍ͳΜͯ͜ͱͳ͍ͱࢥ͍ͬͯͨ (͔͠Α͔͘Βͳ͍͚Ͳɺ৹ࠪʹ3͘Β͍ͬͨ) 2024/04/20 19 : 07: ৹ࠪ௨ͬͯ Ξοϓσʔτެ։!
Slide 34
Slide 34 text
1-3. োى͜͠·ͨ͠ ͭΒ͍ - ׂͱେ͖ΊͳΞοϓσʔτΛެ։ޙʹൃੜ (v2.4) - ϦϦʔεલʹߦͬͨAndroidͷGradle(ϏϧυγεςϜ)ͷߋ৽Ͱϛε͍ͯͨ͠ - AndroidͰಈ࡞νΣοΫΛ͍ͯ͠ͳ͔ͬͨ - ʮ·͋ɺAndroidͷϏϧυ௨Δ͠ͳ͍ͩΖʙʯͱָ͔؍తʹߟ͍͑ͯͨ (ͱ͍͏͔ɺGradleͷߋ৽͕͏·͘ߦ͍ͬͯΔ͔ɺϏϧυ͕௨Δ͔௨Βͳ͍͔ͷ2ͩͱࢥ͍ͬͯͨ) - Play Storeͷ৹ࠪ͋Δ͠ɺ·͔͞ىಈ͠ͳ͍ͳΜͯ͜ͱͳ͍ͱࢥ͍ͬͯͨ (͔͠Α͔͘Βͳ͍͚Ͳɺ৹ࠪʹ3͘Β͍ͬͨ) 2024/04/20 20 : 12 1௨ͷϝʔϧ͕ .. .
Slide 35
Slide 35 text
1-3. োى͜͠·ͨ͠ ͭΒ͍ - ׂͱେ͖ΊͳΞοϓσʔτΛެ։ޙʹൃੜ (v2.4) - ϦϦʔεલʹߦͬͨAndroidͷGradle(ϏϧυγεςϜ)ͷߋ৽Ͱϛε͍ͯͨ͠ - AndroidͰಈ࡞νΣοΫΛ͍ͯ͠ͳ͔ͬͨ - ʮ·͋ɺAndroidͷϏϧυ௨Δ͠ͳ͍ͩΖʙʯͱָ͔؍తʹߟ͍͑ͯͨ (ͱ͍͏͔ɺGradleͷߋ৽͕͏·͘ߦ͍ͬͯΔ͔ɺϏϧυ͕௨Δ͔௨Βͳ͍͔ͷ2ͩͱࢥ͍ͬͯͨ) - Play Storeͷ৹ࠪ͋Δ͠ɺ·͔͞ىಈ͠ͳ͍ͳΜͯ͜ͱͳ͍ͱࢥ͍ͬͯͨ (͔͠Α͔͘Βͳ͍͚Ͳɺ৹ࠪʹ3͘Β͍ͬͨ) 2024/04/20 20 : 12 1௨ͷϝʔϧ͕ .. . ͋ ... ͜Ε·͍ͣ (ͪͳΈʹɺ༑ਓͱͷւཱྀߦ ผΕͨޙͷؼத)
Slide 36
Slide 36 text
1-3. োى͜͠·ͨ͠ ͭΒ͍ - ׂͱେ͖ΊͳΞοϓσʔτΛެ։ޙʹൃੜ (v2.4) - ϦϦʔεલʹߦͬͨAndroidͷGradle(ϏϧυγεςϜ)ͷߋ৽Ͱϛε͍ͯͨ͠ - AndroidͰಈ࡞νΣοΫΛ͍ͯ͠ͳ͔ͬͨ - ʮ·͋ɺAndroidͷϏϧυ௨Δ͠ͳ͍ͩΖʙʯͱָ͔؍తʹߟ͍͑ͯͨ (ͱ͍͏͔ɺGradleͷߋ৽͕͏·͘ߦ͍ͬͯΔ͔ɺϏϧυ͕௨Δ͔௨Βͳ͍͔ͷ2ͩͱࢥ͍ͬͯͨ) - Play Storeͷ৹ࠪ͋Δ͠ɺ·͔͞ىಈ͠ͳ͍ͳΜͯ͜ͱͳ͍ͱࢥ͍ͬͯͨ (͔͠Α͔͘Βͳ͍͚Ͳɺ৹ࠪʹ3͘Β͍ͬͨ) TwitterݟͯΈͨΒ طʹո͛͠ͳงғؾ
Slide 37
Slide 37 text
1-3. োى͜͠·ͨ͠ ͭΒ͍ - ׂͱେ͖ΊͳΞοϓσʔτΛެ։ޙʹൃੜ (v2.4) - ϦϦʔεલʹߦͬͨAndroidͷGradle(ϏϧυγεςϜ)ͷߋ৽Ͱϛε͍ͯͨ͠ - AndroidͰಈ࡞νΣοΫΛ͍ͯ͠ͳ͔ͬͨ - ʮ·͋ɺAndroidͷϏϧυ௨Δ͠ͳ͍ͩΖʙʯͱָ͔؍తʹߟ͍͑ͯͨ (ͱ͍͏͔ɺGradleͷߋ৽͕͏·͘ߦ͍ͬͯΔ͔ɺϏϧυ͕௨Δ͔௨Βͳ͍͔ͷ2ͩͱࢥ͍ͬͯͨ) - Play Storeͷ৹ࠪ͋Δ͠ɺ·͔͞ىಈ͠ͳ͍ͳΜͯ͜ͱͳ͍ͱࢥ͍ͬͯͨ (͔͠Α͔͘Βͳ͍͚Ͳɺ৹ࠪʹ3͘Β͍ͬͨ) 2024/04/20 20 : 51 ؼޙٸ͍Ͱमਖ਼
Slide 38
Slide 38 text
1-3. োى͜͠·ͨ͠ ͭΒ͍ - ׂͱେ͖ΊͳΞοϓσʔτΛެ։ޙʹൃੜ (v2.4) - ϦϦʔεલʹߦͬͨAndroidͷGradle(ϏϧυγεςϜ)ͷߋ৽Ͱϛε͍ͯͨ͠ - AndroidͰಈ࡞νΣοΫΛ͍ͯ͠ͳ͔ͬͨ - ʮ·͋ɺAndroidͷϏϧυ௨Δ͠ͳ͍ͩΖʙʯͱָ͔؍తʹߟ͍͑ͯͨ (ͱ͍͏͔ɺGradleͷߋ৽͕͏·͘ߦ͍ͬͯΔ͔ɺϏϧυ͕௨Δ͔௨Βͳ͍͔ͷ2ͩͱࢥ͍ͬͯͨ) - Play Storeͷ৹ࠪ͋Δ͠ɺ·͔͞ىಈ͠ͳ͍ͳΜͯ͜ͱͳ͍ͱࢥ͍ͬͯͨ (͔͠Α͔͘Βͳ͍͚Ͳɺ৹ࠪʹ3͘Β͍ͬͨ) 2024/04/20 22 : 36 मਖ਼൛ϦϦʔε - ͳΜ͔Α͔͘Βͳ͍͚ͲɺരͰ৹ࠪ௨ͬͨ - Ұ୴ඇެ։ʹ͍͔ͯͨ͠Β͔?
Slide 39
Slide 39 text
1-3. োى͜͠·ͨ͠ ͷڭ܇ ͍ͨΜͩͬͨ .. . - ϦϦʔεલʹख࣋ͪσόΠεͰಈ࡞ݕূ͢Δ͖ - PlayStoreͳΒɺ෦ϦϦʔε͢ΔͱϦϦʔεલϨϙʔτΈ ͍ͨͳͷ͕ಧ͘ͷͰͦΕ֬ೝ͢Δͱྑͦ͞͏ ͍ͭͰʹɺFirebase Test Labճͦ͏ - ΞϓϦετΞͷ৹ࠪա৴ͪ͠ΌͩΊ - ͳΜͰىಈ͠ͳ͍ΞϓϦ͕৹ࠪ௨ΔΜͩ…GoogleԿΛͯ͠ ͍ΔΜͩ - ৗʹPCΞΫηεͰ͖Δ४උΛ͢Δ͠ - PCৗ͍͔࣌࣋ͬͯͳͯ͘ྑ͍͚Ͳ iPadͰࣗMacΞΫ ηεͰ͖ΔΑ͏ʹ͓ͯ͘͠ͱ ͳʹ͔ͱ҆৺
Slide 40
Slide 40 text
·ͱΊ ݸਓ։ൃͷεεϝ - ࣗFlutterΤϯδχΞ - ݸਓ։ൃͰΞϓϦέʔγϣϯ~αʔόαΠυ~Πϯϑϥ·Ͱશ෦ࣗͰΔͱࢹ ͕͕Δ - ࣗҰਓͰ։ൃɾӡ༻͍ͯ͠ΔͷͰɺ৽ػೳͷ࣮͖ͳΑ͏ʹͰ͖Δ - ීஈۀͰͳ͔ͳ͔Βͳ͍CI/CDɾίʔυϕʔεͷ࡞ࣗͰΰϦοͱ - વɺʮେ͍ͳΔྗʹେ͍ͳΔ͕͏ʯ - ݸਓ։ൃɺ͕ࣗϢʔβ & & ։ൃऀͩͱָ͍͠
Slide 41
Slide 41 text
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠! ࣭ɾؾʹͳΔ͜ͱ͕͋Ε ͍ͭͰ࿈བྷ͍ͩ͘͞! Follow me on X: @YumNumm ιʔείʔυ (YumNumm/EQMonitor) PlayStore App Store