Slide 1

Slide 1 text

Serverlessͷ͓͞Β͍ͱ IronFunctionsʹ͍ͭͯ

Slide 2

Slide 2 text

໨࣍ • ࣗݾ঺հ • Serverless͓͞Β͍ • IronFunctionsʹ͍ͭͯ

Slide 3

Slide 3 text

ࣗݾ঺հ • ੴᖒ௚ਓ(youyo_) • ΠϯϑϥΤϯδχΞ • ੨৿ݝग़਎ઋ୆ࡏॅ • JAWS-UG੨৿ίΞϝϯόʔ • גࣜձࣾϔϓλΰϯ • http://blog.youyo.info/ • ࠷ۙϋϚ͍ͬͯΔ΋ͷ • golang • GAE • ਏ͍͜ͱ • re:InventͰαʔϏε૿͑͗͢…

Slide 4

Slide 4 text

ձࣾ঺հ • Πϯϑϥશൠͷӡ༻/؂ࢹ/อकۀ຿ • γεςϜઃܭ΍ίετ࡟ݮ͢Δʹ͸Ͳ͏ͨ͠Β͍͍ ͔తͳ૬ஊ΋ͲΜͱ͍͜ • AWSʹݶΒͣͲΜͳΫϥ΢υͰ΋΍Γ·͢ • AzureҊ݅͸͋Δ͚ͲGCPҊ݅·ͩͳ͍ͷͰ୭͔… • ຊࣾ͸੨৿ݝࡾ୔ࢢ • ઋ୆ࢢʹ΋ࣄ຿ॴ͋Γ • ࣾһ3ਓ+Πϯλʔϯ1ਓ

Slide 5

Slide 5 text

Serverless͓͞Β͍

Slide 6

Slide 6 text

Serverless͓͞Β͍ • ๻ͷͨͲ͖ͬͯͨಓͷΓΛৼΓฦΓͳ͕ΒɺվΊͯ Serverlessͱ͸ͳΜͩͬͨͷ͔͓͞Β͍͍ͯ͜͠͏ͱࢥ͍ ·͢ɻ

Slide 7

Slide 7 text

Serverless͓͞Β͍ͷલʹొ৔ਓ෺঺հ • AWS Lambda • ίʔυΛAWS LambdaʹσϓϩΠ͢ΔͱɺԿ͔͠ΒͷΠϕϯτ ΛτϦΨʔʹͯͦ͠ͷίʔυΛ࣮ߦͯ͘͠ΕΔίϯϐϡʔςΟ ϯάαʔϏε • ࣮ߦʹ͔͔ͬͨCPU࣌ؒ୯ҐͰͷैྔ՝ۚ • node.js/Java/python/C#Λαϙʔτ • AWSͷFaaS୲౰ • Amazon API-Gatewayͱ૊Έ߹Θͤͯ࢖͏έʔε͕ଟ͍

Slide 8

Slide 8 text

ServerlessͱݴΘΕͯ࠷ॳʹࢥͬͨ͜ͱ • αʔόʔϨεͬͯ͜ͱ͸αʔόʔͳ͍ͷʁ

Slide 9

Slide 9 text

ServerlessͱݴΘΕͯ࠷ॳʹࢥͬͨ͜ͱ • αʔόʔϨεͬͯ͜ͱ͸αʔόʔͳ͍ͷʁ • ͍΍ɺLambdaͩͬͯawsͷ؅ཧ͢Δαʔόʔ্Ͱಈ͍ͯΔΑͶʁ • AWS Lambda࢖͑͹αʔόʔϨεͳ࢓૊Έ࡞ΕΔΑͬͯݴΘΕͯ ΋αʔόʔ͋ΔΑͶʁ • ͦΕαʔόʔϨεͬͯݴ͍͍ͬͯͷʁ
 ·͊ͬͪ͜Ͱӡ༻؅ཧ͢Δαʔό͸͔֬ʹͳ͍͚Ͳɻ • (ΠϯϑϥΤϯδχΞ໨ઢ)

Slide 10

Slide 10 text

Ͳ͏΍ΒੈؒͷαʔόʔϨε͸ҧ͏Β͍͠

Slide 11

Slide 11 text

ServerlessͳΜ͔ͩΒαʔόʔͳ͍Αʁ • AWS Lambda࢖ͬͯFunction୯ҐͰ࣮ߦͰ͖ΔΑ͏ʹͳΔΜͩΑʁ • ࣗ෼ͰΞϓϦέʔγϣϯαʔόʔͷ؅ཧ͠ͳͯ͘Α͘ͳΔ͡ΌΜʁ • αʔόʔϨε͡ΌΜʁ

Slide 12

Slide 12 text

ΞϓϦέʔγϣϯΤϯδχΞͷ
 ໨ઢ͸͜͏ͩͬͨͷ͔ʂ

Slide 13

Slide 13 text

ΞϓϦέʔγϣϯαʔό͸͔֬ʹͳ͍ • αʔόʔϨεͷαʔόʔ͕ࢦ͢΋ͷ͸ΞϓϦέʔγϣϯαʔόʔ ͩͬͨ • ͔֬ʹͦͷํ͕ࣗવͩ͠ೲಘ͍ͬͨ • αʔόʔϨεͱ͸ΞϓϦέʔγϣϯ࣮ߦ؀ڥͷ͜ͱͩͬͨͷ͔ • ී௨ͦ͏Ͱ͠ΐʁͱࢥ͔ͬͨ΋͠Εͳ͍͚Ͳɺ͖ͬͱ๻ͱಉ͡Α ͏ʹײͨ͡ΠϯϑϥΤϯδχΞͷਓ΋গͳ͔Β͍ͣΔ͸ͣ

Slide 14

Slide 14 text

αʔόʔϨεΞʔΩςΫνϟͱ͸ • Function୯ҐͰίʔυΛ࣮ߦͰ͖ΔϑϧϚωʔδυαʔϏε ʹ৐͔ͬΔ͜ͱͰɺΞϓϦέʔγϣϯαʔόͷ؅ཧΛෆཁʹ ͨ͠ΞϓϦέʔγϣϯ࣮ߦ؀ڥ

Slide 15

Slide 15 text

Ͱ΋αʔόʔϨεʹ͸ผͷଆ໘΋͋ΔΑͶʁ • ΞϓϦέʔγϣϯ࣮ߦ؀ڥͱͯ͠ͷଆ໘͸
 Amazon API Gateway + AWS Lambda ͷ૊Έ߹ΘͤͰ࣮ݱ͞ ΕΔεςʔτϨεͳΞϓϦέʔγϣϯαʔόͱͯ͠ɻ • Ͱ΋AWS Lambda࣮ߦͷτϦΨʔͱͳΔͷ͸HTTPϦΫΤε τ͚ͩ͡Όͳ͍ • S3΁ͷΦϒδΣΫτ഑ஔɺDynamodb΁ͷΠϯαʔτͳͲ ͷΠϕϯτΛτϦΨʔͱ࣮ͯ͠ߦ͢Δ͜ͱ͕Ͱ͖Δ • API-Gatewayܦ༝ͷHTTPϦΫΤετ΋ҰͭͷΠϕϯτͱߟ ͑ΒΕΔ

Slide 16

Slide 16 text

ΠϕϯτυϦϒϯΞʔΩςΫνϟ

Slide 17

Slide 17 text

ΠϕϯτυϦϒϯΞʔΩςΫνϟ • Ϋϥ΢υαʔϏε͔Βൃߦ͞ΕͨΠϕϯτΛτϦΨʔͱͯ͠ ࣍ͷॲཧΛ࣮ߦ͢Δ • ϐλΰϥεΠονతͳ • Πϕϯτ͕ൃੜ͢Δ·Ͱ࣍ͷॲཧ͸࣮ߦ͞Εͳ͍ • ࣮ߦॲཧ࣌ؒ୯ҐͰ՝ۚ͞ΕΔAWS Lambdaͱ૬ੑ͍͍ • ͍ͭى͜Δ͔Θ͔Βͳ͍Πϕϯτʹରͯ͠ΠϯελϯεΛ ىಈ͠ଓ͚͍ͯͨ৔߹ʹൺ΂ͨΒɺѹ౗తʹίετ࡟ݮͰ ͖Δέʔε΋Πϕϯτ͕ൃੜ͢Δ·Ͱ࣍ͷॲཧ͸࣮ߦ͞Ε ͳ͍ • AWS LambdaͷΑ͏ͳFaaSΛɺαʔϏεಉ࢜Λͭͳ͙΋ͷͱ ͯ͠࢖͏

Slide 18

Slide 18 text

αʔόʔϨεΞʔΩςΫνϟͱ͸ • Function୯ҐͰίʔυΛ࣮ߦͰ͖ΔϑϧϚωʔδυαʔϏε ʹ৐͔ͬΔ͜ͱͰɺΞϓϦέʔγϣϯαʔόͷ؅ཧΛෆཁʹ ͨ͠ΞϓϦέʔγϣϯ࣮ߦ؀ڥ • ΠϕϯτυϦϒϯʹϑϧϚωʔδυαʔϏεΛͭͳ͙͜ͱ ͰɺͦΕΒΛͭͳ͙໾ׂΛ͍ͯͨ͠؅ཧαʔόΛͳͨ͘͠ (FaaSʹஔ͖׵͑ͨ)γεςϜΞʔΩςΫνϟ

Slide 19

Slide 19 text

ͳΜͱͳ͘Θ͔͖ͬͯͨ

Slide 20

Slide 20 text

΍ͬͯΈͨࣄྫ όονॲཧΛεέʔϥϒϧ/ΠϕϯτυϦϒϯͳײ͡Ͱॲཧ

Slide 21

Slide 21 text

΍ͬͯΈͨࣄྫ2 EC2ͱ͔RDSͷϝϯςφϯεΠϕϯτΛαʔόʔϨεͳײ͡Ͱ௨஌͍ͨ͠

Slide 22

Slide 22 text

΍ͬͯΈͨࣄྫ3 ϋοΧιϯͰΰϦΰϦͳΠϕϯτυϦϒϯΞʔΩςΫνϟ࠾༻ͯ͠࡞ͬͯΈͨ

Slide 23

Slide 23 text

αʔόʔϨεΞʔΩςΫνϟ΍ͬͯΈͯࢥͬͨ • ָ͍͠ʂ • ϐλΰϥεΠον͕޷͖ͳ͚͔ͩ΋ • αʔόͷ؅ཧ͔Βղ͖์ͨΕͨײɺ࠷ߴ • ͳΜͨͬͯ͋ͷAmazon͞Μ͕؅ཧͯ͘͠ΕͯΔ҆৺ײ • ͓ۚ΋͔͔Βͳ͍͠ • ແྉ࿮ʹ༨༟Ͱऩ·Δ

Slide 24

Slide 24 text

Ͱ΋ͦΕ͚ͩ͡Όͳ͘͜͏΋ײͨ͡ • AWS LambdaͷσϓϩΠͳΜ͔ΊΜͲ͍͘͞ • εςʔτϨεͳ΋ͷ͸͍͍͚Ͳεςʔτϑϧͳ΋ͷΛѻ͏ͷ ͸େมͦ͏ͩͳ͊ɻ͍ͯ͏͔ී௨ʹΞϓϦέʔγϣϯ࡞ͬͨ ΄͏ָ͕ͳ৔໘΋ଟ͍Μ͡Όͳ͍ʁ • ͜Εςετͱ͔Ͳ͏͢Μͷʁ ίʔυॻ͍ͯ΋ϩʔΧϧͰ࣮ߦ Ͱ͖ͳ͘ͳ͍ʁ • AWS Lambdaʹো֐͋ͬͨΒ…

Slide 25

Slide 25 text

σϓϩΠΊΜͲ͍͘͞໰୊ • πʔϧ͕ॆ࣮͖ͯͨ͠ • Serverless framework • Apex • Lamvery • ͢ͰʹΊΜͲ͘͘͞ͳ͘ͳ͍ͬͯͨɻٕज़ͷਐา͸ૣ͍ɻ • ݸਓతʹ͸API-Gatewayͱͷ࿈ܞ·Ͱ͸ͦΕ΄Ͳඞཁͱͯ͠ ͳ͍ͷͰLamvery࢖ͬͯΔɻศརʂ

Slide 26

Slide 26 text

εςʔτϑϧͳΞϓϦ͸େม͡Όͳ͍ʁ ޲͍ͯͳ͍Μ͡Όͳ͍ʁ໰୊ • ѻ͑ͳ͍͜ͱ͸ͳ͍͚Ͳ޲͍ͯͳ͍ͱࢥͬͯΔ • ϑϧϚωʔδυͳσʔλϕʔεʹͰ΋σʔλೖΕΕ͹Ͳ͏ʹ Ͱ΋ͳΔ͠ • Ͱ΋railsͱ͔࢖ͬͯͨ΄͏ָ͕ͳ͜ͱ΋͋ΔΜ͡Όͳ͍ʁ • αʔόʔϨεʹͩ͜Θͬͯແཧͯ͠࢖͏ඞཁ͸ͳ͍Μ͡Όͳ͍ʁ

Slide 27

Slide 27 text

ͦ΋ͦ΋Function୯ҐͰࡉ੾Εʹ͞Ε ͨΞϓϦέʔγϣϯΛ࡞Ε·͔͢ʁ

Slide 28

Slide 28 text

ͦ΋ͦ΋Function୯ҐͰࡉ੾Εʹ͞Ε ͨΞϓϦέʔγϣϯΛ࡞Ε·͔͢ʁ • αʔόʔϨεͷগ͠લʹMicro Services͕ྲྀߦΓ·ͨ͠ΑͶʁ • ϞϊγϦοΫͳαʔϏε͡Όͳͯ͘ɺ΋ͬͱࡉ͔͍ػೳ୯ ҐͰαʔϏεΛ෼͚ͯɺαʔϏεؒ͸REST APIͰૄ݁߹ʹ ͯ͠ʙ • ͦͷྲྀΕʹ৐࣮ͬͯફͨ͠ਓ͕ͲΕ΄Ͳ͍Δͷ͔ • ΋ͪΖΜͦͷޙͷγεςϜઃܭࢥ૝ʹ͸େ͍ʹӨڹΛ༩͑ ͨͩΖ͏ • ͕ͩ෼ׂ͢Δ΄Ͳେ͖ͳγεςϜ͡Όͳ͔ͬͨΓɺ؅ཧ͢ ΂͖γεςϜ͕૿͑Δ͜ͱʹΑΔίετ૿Λݒ೦ͯ͠΍Β ͳ͍ͱ͍͏൑அ΋͋ͬͨ͸ͣ

Slide 29

Slide 29 text

ͦ΋ͦ΋Function୯ҐͰࡉ੾Εʹ͞Ε ͨΞϓϦέʔγϣϯΛ࡞Ε·͔͢ʁ • ҰͭͷαʔϏεΛෳ਺ͷαʔϏεʹ෼͚Δ͜ͱ͢Β೉͍͜͠ͱ΋ ͋Δ • ·ͯ͠΍ͦͷαʔϏεΛϑΝϯΫγϣϯ୯ҐͰ෼͚ͯγεςϜ࡞ ΕΔͷ͔ʁ • MicroServicesͷͱ͖͸؅ཧ͢΂͖γεςϜ͕૿͑ͯਏ͘ͳͬͨ έʔε΋͋ΔͷͰ͸ʁ • ࠓ౓͸ϑΝϯΫγϣϯ୯ҐͰͷ؅ཧ͕ٻΊΒΕΔΑ͏ʹͳΓɺ ΑΓਏ͘ͳΔέʔε΋͋ΔͷͰ͸ʁ • ϑϨʔϜϫʔΫʹ৐͔͓͍ͬͬͯͨํ͕͍͍͜ͱ΋͋ΔͩΖ͏

Slide 30

Slide 30 text

αʔόʔϨεΞʔΩςΫνϟ͸ MicroServicesΛ࣮ݱ͢ΔͨΊͷ Ұͭͷखஈʹ͗͢ͳ͍

Slide 31

Slide 31 text

αʔόʔϨεΞʔΩςΫνϟ͸MicroServices Λ࣮ݱ͢ΔͨΊͷҰͭͷखஈʹ͗͢ͳ͍ • ཻ౓͕ҧ͏͚ͩ • MicroServices͸ΑΓখ͞ͳαʔϏεΛ૊Έ߹ΘͤͯҰͭͷ αʔϏεΛߏ੒ • αʔόʔϨεΞʔΩςΫνϟ͸ϑΝϯΫγϣϯ୯Ґͷίϯϙʔ ωϯτΛ૊Έ߹ΘͤͯαʔϏεΛߏ੒ • αʔόʔϨεΞʔΩςΫνϟͰߏ੒͞ΕͨαʔϏεಉ࢜ΛREST APIͰૄ݁߹ʹͭͳ͍ͩMicroServicesͳαʔϏεɺΈ͍ͨͳ΋ͷ Λߟ͑Δͱ෼͔Γ΍͍͔͢΋

Slide 32

Slide 32 text

αʔόʔϨεΞʔΩςΫνϟ͸MicroServices Λ࣮ݱ͢ΔͨΊͷҰͭͷखஈʹ͗͢ͳ͍ • ΋͠ҎલʹαʔϏεͷMicroServicesԽΛݕ౼ͯ͠அ೦͍ͯ͠Δͱ ͨ͠ΒɺαʔόʔϨεΞʔΩςΫνϟ΋ϋϚΒͳ͍Մೳੑ͕͋Δ • ٕज़Ϩϕϧͷ໰୊Ͱ͸ͳ͘Ϛον͢ΔγεςϜ͔Ͳ͏͔ • εέʔϥϏϦςΟ͕ཉ͍͚ͩ͠Ͱ͋Ε͹ɺطଘͷΞϓϦέʔγϣ ϯΛίϯςφԽͯ͠ίϯςφΫϥελϦϯάܥͷαʔϏεʹ৐ ͤΔ͚ͩͰे෼ͳԸܙΛड͚ΕΔ৔߹΋͋ΔͩΖ͏ͦ͠Ε͕ϕ ετͩͬͯ͜ͱ΋ߟ͑ΒΕΔ

Slide 33

Slide 33 text

αʔόʔϨε·ͱΊ

Slide 34

Slide 34 text

αʔόʔϨεΞʔΩςΫνϟ·ͱΊ • αʔόʔϨεʹ͸2ͭͷଆ໘͕͋Δ • Function୯ҐͰίʔυΛ࣮ߦʹ͢Δ͜ͱͰɺΞϓϦέʔγϣϯ αʔόͷ؅ཧΛෆཁʹͨ͠ϑϧϚωʔδυͷΞϓϦέʔγϣϯ ࣮ߦ؀ڥ • ΠϕϯτυϦϒϯʹϑϧϚωʔδυαʔϏεΛͭͳ͙͜ͱͰɺ ͦΕΒΛͭͳ͙໾ׂΛ͍ͯͨ͠؅ཧαʔόΛͳͨ͘͠(FaaSʹ ஔ͖׵͑ͨ)γεςϜΞʔΩςΫνϟ • αʔόʔϨεΞʔΩςΫνϟʹͩ͜ΘΓ͗͢ͳ͍ • ޲͖ෆ޲͖͸Ͳ͏ͯ͠΋͋Δ • େ੾ͳͷ͸҆ఆͨ͠αʔϏεΛఏڙ͠ଓ͚Δ͜ͱ • ͦͷͨΊʹϕετͳγεςϜΞʔΩςΫνϟબ୒Λ

Slide 35

Slide 35 text

࢒ͬͯͨ໰୊΋ͪΌΜͱݟ͍ͯ͘ • AWS LambdaͷσϓϩΠͳΜ͔ΊΜͲ͍͘͞ • εςʔτϨεͳ΋ͷ͸͍͍͚Ͳεςʔτϑϧͳ΋ͷΛѻ͏ͷ ͸େมͦ͏ͩͳ͊ɻ͍ͯ͏͔ී௨ʹΞϓϦέʔγϣϯ࡞ͬͨ ΄͏ָ͕ͳ৔໘΋ଟ͍Μ͡Όͳ͍ʁ • ͜Εςετͱ͔Ͳ͏͢Μͷʁ ίʔυॻ͍ͯ΋ϩʔΧϧͰ࣮ߦ Ͱ͖ͳ͘ͳ͍ʁ • AWS Lambdaʹো֐͋ͬͨΒ…

Slide 36

Slide 36 text

࢒ͬͯͨ໰୊΋ͪΌΜͱݟ͍ͯ͘ • ͜Εςετͱ͔Ͳ͏͢Μͷʁ ίʔυॻ͍ͯ΋ϩʔΧϧͰ࣮ߦͰ͖ ͳ͘ͳ͍ʁ • ςετ؀ڥʹσϓϩΠ࣮ͯ͠ߦͯ͠ΈΕ͹͍͍͚ͩͰ͸͋ΔΜ ͚ͩͲɺखݩͰνϟνϟͬͱग़དྷͨํ͕خ͍͠ • AWS Lambdaʹো֐͋ͬͨΒ… • ผͷΫϥ΢υαʔϏε(CloudFunctions/AzureFunctions)࢖͏ʁ • ࠓͷίʔυޓ׵ੑ͋Δʁ େৎ෉ʁ

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

IronFunctionsͱ͸ʁ • http://open.iron.io/ • αʔόʔϨεΞʔΩςΫνϟΛಛఆͷΫϥ΢υϕϯμʔʹͱΒ ΘΕͣʹ࣮ߦ͢ΔͨΊͷɺΦʔϓϯιʔεͷϓϥοτϑΥʔϜ • Ͳ͜Ͱ΋ಈ͔ͤΔ • ͲΜͳݴޠͰ΋࣮૷Ͱ͖Δ • AWS LambdaͷϑΥʔϚοτ΋αϙʔτͯ͠Δ(!)

Slide 39

Slide 39 text

IronFunctions͕՝୊ղܾͯ͘͠Εͦ͏

Slide 40

Slide 40 text

IronFunctions͕΋ͨΒ͢΋ͷ • ͜Εςετͱ͔Ͳ͏͢Μͷʁ ίʔυॻ͍ͯ΋ϩʔΧϧͰ࣮ߦͰ͖ ͳ͘ͳ͍ʁ • खݩʹIronFunctionsͷ؀ڥΛDockerͰ্ཱ࣮ͪ͛ͯߦ͢Ε͹ ͍͍ • AWS Lambdaʹো֐͋ͬͨΒ… • AWS Lambdaͷίʔυ͕ͦͷ··ಈ͘Μ͔ͩΒผͷΫϥ΢υ؀ ڥʹͰ΋IronFunctions؀ڥ্ཱͪ͛ͯσϓϩΠ͢Ε͹͍͍
 ˞ ͨͩ͠ΠϕϯτυϦϒϯͳγεςϜ͸Ͳ͏͠Α͏΋ͳ͍ͷͰ Ұ୴๨ΕΔ

Slide 41

Slide 41 text

IronFunctions͕՝୊ղܾͯ͘͠Εͦ͏

Slide 42

Slide 42 text

IronFunctions͸ຊ౰ʹಈ͘ͷ͔ʁ • ΍ͬͯΈͨΒͪΌΜͱಈ͍ͨ • FaasΛ࡞ΕΔOSS, IronFunctions৮ͬͯΈͨ
 http://qiita.com/youyo_/items/0b227438dcf775665e6c

Slide 43

Slide 43 text

IronFunctions·ͱΊ • ͍ΖΜͳݴޠ͕࢖͑Δͷ͸ັྗత • AWS LambdaϑΥʔϚοτ͕Ͳ͜Ͱ΋ಈ͔ͤΔͱ͍͏ͷ΋ັྗత • AzureFunctions΍CloudFunctionsͱͷޓ׵ੑʹ΋ظ଴͍ͨ͠ͱ͜Ζ • Triggerͱͯ͠࢖͑ΔΠϕϯτ͸Ͳ͏ͳΜͩΖ͏ʁ Openstackͷ Ceilometerʹ͸ରԠ͍ͯ͠ΔΈ͍ͨ • ServerlessΞʔΩςΫνϟʔͷಛ௃ͷҰͭͱͯ͠ɺΠϕϯτυϦϒϯͳ ΋ͷΛ࡞ΕΔ͔ͱ͍͏ͷ΋ॏཁͳ΢ΣΠτΛ઎ΊΔͱࢥ͏ͷͰɺ͜ͷ ลΓʹ΋ظ଴͍ͨ͠ (Πϕϯτൃߦଆ͸Կऀʁͱ͍͏ͷ͸ஔ͍ͱ͍ͯ) • ஫ҙ఺ͱͯ͠ࠓ͸·ͩα൛ͳͷͰϓϩμΫγϣϯಋೖ͸ආ͚ͨ΄͏͕Α ͦ͞͏ɻ࣮ࡍ৮ͬͯͯόά͋ͬͨ͠

Slide 44

Slide 44 text

·ͱΊ • αʔόʔϨε͸༻๏ɾ༻ྔΛक͍͍ͬͯײ͡ʹ͓࢖͍͍ͩ͘͞