スポンサートーク @ Rails Developers Meetup 2018 Day 3 Extreme
'J/$ͷαʔϏε։ൃͷͯ͢3BJMT%FWFMPQFST.FFUVQ%BZ&YUSFNF͓หεϙϯαʔηογϣϯ
View Slide
ࣗݾհ2• ໊લٱଠ !RTPOB• 'J/$ྺ3BJMTྺ• .JDSPTFSWJDFT.FFUVQΛओ࠵͍ͯ͠·͢
'J/$ͱ3BJMTEN3• ࣮ɺ'J/$͜Ε·Ͱʹ 3BJMT%FWFMPQFST.FFUVQʹԿ͔͝ڠྗొஃ͍͍ͤͯͯ͞·͢ʂ• ؆୯ʹհ͍ͤͯͩ͘͞͞
'J/$ͱ3BJMTEN4• ձεϙϯαʔ• ొஃ -5• ϚΠΫϩαʔϏεʹ͓͚ΔඇಉظΞʔΩςΫνϟ !PUBZ• ஹਓཉ͍͠ʂ༏लͳ3BJMTΤϯδχΞΛ࠾༻͢ΔͨΊͷͭ Ծͷํ๏ !RTPOB
'J/$ͱ3BJMTEN5• %BZ#ձਐߦεϙϯαʔ• εϙϯαʔτʔΫ 3BJMTͷλΠϜκʔϯ !OPCVIJLPTBXBJ• SBJMTͷϥΠϒJTTVF͔Β͍ల։ʹ
'J/$ͱ3BJMTEN6• ৴ͰݟͯԼ͍ͬͯͨ͞!BFSPBTUSP͞Μ͔ΒɺJTTVFʹରͯ͠߈Ͱमਖ਼13͕͛ΒΕΔ• !OPCVIJLPTBXBJ!RTPOBࢥ͍͍ͭͯͳ͍ํ๏ͩͬͨ• JTTVF 13ͱʹ೦ͳ͕ΒDMPTF͞ΕΔɺ044ͷμΠφϛζϜΛମײͨ͠
'J/$ͱ3BJMTEN7• %BZొஃ• .JDSPTFSWJDFT.BUVSJUZ.PEFMPO3BJMT !RTPOB• ͍͖ͳΓᘳͳϚΠΫϩαʔϏεΛࢦͣ͞ɺϑΣʔζ͝ͱʹԿΛΔ͖ͳͷ͔ΛΖ͏ɺͱ͍͏༰Ͱͨ͠• ͜Ε͔ΒϚΠΫϩαʔϏεΛ࢝ΊΔํɺͥͻಈըΛʂ
'J/$ͱ3BJMTEN8• ॏେൃද
'J/$ͱ3BJMTEN10• 'J/$͜Ε͔Β3BJMT%FWFMPQFST.FFUVQΛ શྗͰԠԉ͠·͢ʂʂʂ
ΞδΣϯμ11‣ ষ'J/$Λͭ͘Δٕज़‣ ষ'J/$ͷٕज़બఆͷ͋Γํ‣ ষ'J/$ͷ࣍ͳΔٕज़త՝‣ ষ'J/$Ͱͷ։ൃͷ͍͍ͱ͜Ζ
ষ'J/$Λͭ͘Δٕज़
'J/$Λͭ͘Δٕज़13• 'J/$ϔϧεέΞͷϓϥοτϑΥʔϜΛӡӦ͍ͯ͠Δ• αʔϏεɺσόΠεɺѻ͏σʔλͷಛੑଟ༷• ͜Ε·Ͱ͋·Γ͢͜ͱͷͳ͔ͬͨ'J/$ͷٕज़ΧλϩάΛ͓ݟͤ͠·͢ʂ
'J/$Λͭ͘Δٕज़14• όοΫΤϯυ• 3VCZPO3BJMT• ΄΅ͯ͢ͷόοΫΤϯυαʔϏε3BJMTͰߏ• .JDSPTFSWJDFT• ݸͷαʔϏε͕ଘࡏ• #BDLFOETGPS'SPOUFOE #''• μογϡϘʔυͷදࣔͳͲʹར༻• 8FCQBDLFS• ΫΠζػೳͳͲ• 3BJMT3FBDUΛར༻
'J/$Λͭ͘Δٕज़15• σʔλετΞ• "VSPSB .Z42-ޓʣ• 3FEJT &MBTUJ$BDIF• าϥϯΩϯά ϦΞϧλΠϜ• ඇಉظॲཧͷΩϡʔΠϯά TJEFLJR• &MBTUJDTFBSDI• +BOVT(SBQI (SBQI%#• هࣄͷϨίϝϯυͳͲ
'J/$Λͭ͘Δٕज़16• Πϯϑϥʢ"84• &$4• %PDLFSίϯςφΛཧ• 4/4424ʢඇಉظΞʔΩςΫνϟʣ• ϚΠΫϩαʔϏεؒͷ࿈ܞ• ྫϛογϣϯػೳ ϢʔβʔͷߦಈΛඇಉظΠϕϯτͰ औಘ͠ɺϛογϣϯͷਐͷॲཧΛ͢Δ• ,JOFTJT 3FETIJGU• σʔλੳج൫
'J/$Λͭ͘Δٕज़17• /BUJWF$MJFOU• 4XJGU J04• ,PUMJO "OESPJE
'J/$Λͭ͘Δٕज़18• 8FC$MJFOU• 3FBDU3FEVY• 5ZQF4DSJQU• 443#'' OPEFKT• ΘΕ͍ͯΔαʔϏε• ϔϧεέΞϝσΟΞ GJODDPN• ๏ਓ͚αʔϕΠ
'J/$Λͭ͘Δٕज़19• ػցֶश• %FFQ-FBSOJOH• 5FOTPS'MPX• ΘΕ͍ͯΔػೳ• ৯ࣄͷը૾ղੳ• ࢟ੳ
ষ'J/$ͷٕज़બఆͷ͋Γํ
'J/$ͷٕज़બఆͷ͋Γํ21• ͜͜·Ͱհͨ͠Α͏ʹɺ'J/$ͷαʔϏε͚ͬ͜͏͍ΖΜͳٕज़ʹΑͬͯߏ͞Ε͍ͯΔ• ͜ͷষͰɺ'J/$͕ͲͷΑ͏ͳཧ༝Ͱٕज़બఆΛ͖͔ͯͨ͠Λ͠·͢• ͜ΕΒͷٕज़ελοΫɺͲͷΑ͏ʹͯ͠ੜ·Ε͖͔ͯͨ• 'J/$ͳͥϚΠΫϩαʔϏεΛ࠾༻͍ͯ͠Δ͔• ։ൃεϐʔυΛߴΊΔͨΊʹԿΛ͖͔ͯͨ͠
'J/$ͱ7JTJPOͱٕज़22• 'J/$ɺ·ͩ୭ղܾ͍ͯ͠ͳ͍େ͖ͳ՝Λղܾ͠Α͏ͱ͍ͯ͠ΔձࣾͰ͋Δ• ҰੜʹҰͷ͔͚͕͑ͷͳ͍ਓੜͷޭΛαϙʔτ͢Δ• ݈߁ण໋Λ৳͢• ͦͷ՝ͷղܾͷͨΊʹٕज़͕͋Δɺͱ͍͏ߟ͑ํ
ٕज़νϟϨϯδʁ23• ՝ʮͷલͷ࣮ʯ͚ͩͰͳ͍• தظతʹɺ'J/$ͷٕज़ελοΫΛͲ͏ྑ͍͔ͯ͘͘͠ɺͱ͍͏ࢹ͕͋Δ• ϚΠΫϩαʔϏεٕज़νϟϨϯδ͕͍͢͠ ޙड़
'J/$ͷϓϩμΫτͱϚΠΫϩαʔϏε24• ϚΠΫϩαʔϏεͱʁ• ڠௐͯ͠ಈ࡞͢ΔɺখنͰࣗతͳαʔϏε• ֤ϏδωεΛ୲͢ΔνʔϜ͕ɺಠཱʹϦϦʔεαΠΫϧΛ࣋ͪɺߴʹ1%$"Λճ͢͜ͱ͕Ͱ͖Δ
'J/$ͷϓϩμΫτͱϚΠΫϩαʔϏε25• ֤ϓϩμΫτ͕ɺߋʹ༷ʑͳػೳΛแ͍ͯ͠Δ• ྫ'J/$ΞϓϦ• ϥΠϑϩά า ਭ FUD• ϑΟοτωεத৺ͷಈըϝσΟΞ• ίϛϡχςΟػೳ• QVTI௨ ΦϯϘʔσΟϯά ͳͲ• ֤ػೳ૬ޓʹ࿈ܞ͍ͯ͠Δ• ྫา͘ͱϙΠϯτ͕Β͑Δ'J/$ϞʔϧͰ͑Δ• "1*࿈ܞඇಉظΠϕϯτ࿈ܞ
'J/$ͷϓϩμΫτͱϚΠΫϩαʔϏε26• ֤ػೳɺಠཱͯ͠େ͖ͳϏδωεʹҭ͍ͯͨ• 'J/$ͷϓϩμΫτͷػೳʹɺ୯ମͰࣄۀʹͳΓ͏Δͷ͕ͨ͘͞Μ͋Δ• ͦΕΒΛಠཱͯ͠αʔϏεʹΓग़͢͜ͱͰɺνʔϜ͕ࣗɾಠཱͯ͠։ൃϦϦʔεαΠΫϧΛճ͠ɺߴʹ1%$"͢Δ͜ͱ͕Ͱ͖Δ• ͜ͷͨΊʹ'J/$ϚΠΫϩαʔϏεΛ࠾༻͍ͯ͠Δ
ϚΠΫϩαʔϏεͱٕज़νϟϨϯδ27• ϚΠΫϩαʔϏεʹΑͬͯɺڥք͕໌֬ʹఆΊΒΕΔ• ڥքͰى͜Δ͜ͱʹؔͯ͠ɺ֤αʔϏε͕ࣗ༝ʹߦͬͯΑ͍• 8FC"1*ΠϯλʔϑΣΠε• தͰͲΜͳٕज़Λ͏͔࣮• ͋Δఔ߹ཧత͔ͭΛ࣋ͯΔൣғͰ͋Εɺ αʔϏεͰٕज़తνϟϨϯδ͕Ͱ͖Δ• Ή͠Ζਪ͍ͯ͠Δ
։ൃεϐʔυͱίʔυɾઃܭͷ࣭28• 'J/$ϕϯνϟʔاۀͳͷͰɺͲΜͳ߹Ͱεϐʔυॏࢹ͞ΕΔ• ͔͠͠ɺظͷεϐʔυΛ͍ٻΊ͗͢Δͱɺٕज़తෛ࠴͕ͨ·Γεϐʔυ͕མͪΔݒ೦͋Δ• 'J/$ͷϓϩμΫτͷ૯ςʔϒϧ • ͦΕͳΓʹେ͖ͳن• 'J/$ͰɺͲͷΑ͏ʹͯ͠։ൃεϐʔυΛམͱͣ͞ʹ͜Ε·Ͱ࣮ΛਐΊ͖͔ͯͨʁ• ओʹ3BJMTΤϯδχΞࢹͰॏཁͩͬͨϙΠϯτΛհ
ʙલ͘Β͍ ϓϩμΫτ։࢝ʙ29• ԾઆݕূϑΣʔζ• ͱʹ͔࣮͘ྔ͕ଟ͍• ઌ͕ಡΊͳ͍ͷͰɺυϝΠϯͷϞσϦϯά͍͠• ॳظ3BJMTͷख़࿅ऀ͕͍ͳ͔ͬͨ• Ͳ͏ͬͯʮ៉ྷͳίʔυʯͷঢ়ଶΛอͭͷ͍͠ϑΣʔζ
ʙલ͘Β͍ ϓϩμΫτ։࢝ʙ30• ྗϙΠϯτσʔλϕʔεઃܭ• ਖ਼نԽΛ͖ͪΜͱ͍ͯͨ͠• 1PMZNPSQIJD"TTPDJBUJPOΛۃྗආ͚Δ• ཧআ QBSBOPJBʹཔΒͳ͍• ͜ΕʹΑΓɺݱࡏͷͭΒΈ͕େ෯ʹܰݮ͞Ε͍ͯΔ• ॳظͷ։ൃΛ୲͖ͬͯͨϝϯόʔʹײँ
ʙલ͘Β͍31• αʔϏεظ• 'J/$ΞϓϦ͕ϦχϡʔΞϧ• ࢦ͢αʔϏε૾ɾϢʔβͷλʔήοτ͕໌֬ʹ• ࡞ΔͷɺυϝΠϯ͕ݻ·͖͍ͬͯͯΔ• ϚʔέςΟϯάՃ• ༷ʑͳҙຯͰαʔϏεͷ࣭͕ٻΊΒΕΔΑ͏ʹ
ʙલ͘Β͍32• ྗϙΠϯταʔϏεͷ"1*ઃܭ• 3&45GVMͳ"1*ͷ࡞Γํʹ͍ͭͯೝࣝΛͦΖ͍͑ͯͬͨ• +40/γϦΞϥΠβͷHFNͷมߋ SBCMBDUJWF@NPEFM@TFSJBMJ[FST• ڞ௨ͷύλʔϯ ϖʔδϯάͳͲʹ͍ͭͯཧͨ͠• 7JFXʹڧґଘͤͣɺ࠶ར༻ੑ͕ߴ͍αʔϏεʹͳͬͨ• ຖΫϥΠΞϯτͷཁٻʹ߹Θͤͯ"1*Λ࡞Δඞཁ͕ͳ͍• Ϩεϙϯεͷܗ͕ࣜ҆ఆ͠ɺΫϥΠΞϯτ͕͍͍͢"1*ʹͳͬͨ
ʙલ͘Β͍33• ྗϙΠϯτϚΠΫϩαʔϏεׂͱ࿈ܞͷઃܭ• ʮϚΠΫϩαʔϏεΞʔΩςΫνϟʯͷಡॻձΛࣾͰߦ͍ɺ'J/$ͷࣄྫʹͯΊͳ͕Βٞͨ͠• αʔϏεͷ۠Γํͱ࿈ܞʹ͍ͭͯɺਅʹٞͨ͠• ඇಉظΞʔΩςΫνϟͷಋೖ• ৽نػೳྗػೳͷϚΠΫϩαʔϏεԽʹΑΓɺطଘͷෛ࠴ΛҾ͖ͣΔ͜ͱͳ͘։ൃΛਐΊΒΕͨ• "NB[PO&$4ͷར༻ͳͲͰɺαʔϏεΛ࡞ɾӡ༻͢Δίετ͕Լ͕ͬͨ
ʙ࠷ۙ34• ։ൃ͢ΔυϝΠϯ͕૿͑ɺνʔϜن͕େ͖͘ͳͬͨ• ྗϙΠϯτ৫ฤͷมߋ• ݩʑJ04"OESPJE4FSWFSͷΑ͏ʹ͔Ε͍ͯͨ• ͜ΕΛNFEJBMJGFMPHDPNNVOJUZHSPXUIͷΑ͏ʹɺϏδωευϝΠϯͰͷνʔϜʹׂ͠ɺ֤৬छͷਓ͕ू·ΔΑ͏ʹͨ͠• ΤϯδχΞؚΊͯϏδωεͷ,1*Λ͑Δঢ়ଶʹ• νʔϜͱͯ͠ͷ• J04"OESPJE4FSWFSͰͷԣͷͭͳ͕Γ͍ͬͯΔ
εϐʔυͱͷཱ྆ͷ35• ෆ࣮֬ੑΛݟӽͨ͠ઃܭɾ࣮• ࠷খͷͰ࣮͠ͳ͕Βɺ֦ுੑΛͨͤΔ• ʮকདྷతʹʙʹ͢Δ͔͠Εͳ͍͚Ͳɺࠓճͦ͜·ͰΒͣʹʙͰ࣮͠Α͏ʯ• ྫ"1*ͷϦιʔεઃܭ͢Δ͕ɺςʔϒϧ࡞Βͣʹϋʔυίʔυ͢Δ
εϐʔυͱͷཱ྆ͷ36• ϏδωεͷಈʹԠͨ͡ ϦϑΝΫλϦϯάϦΞʔΩςΫτ• ීஈ͔ΒɺγεςϜͷ͋Δ͖ঢ়ଶΛߟ͑ͨΓٞ͢Δ• Ϗδωεͱͯ͠ྗΛೖΕΔஈ֊ͰɺγεςϜͷϦϑΝΫλϦϯάΛηοτͰߦ͏• ྫϚΠΫϩαʔϏεͷׂ• ͜Ε͔Β৳͍͖͍ͯͨ͠ Ճ։ൃɾσϓϩΠΛසൟʹߦ͏ϏδωεʹͦͬͯαʔϏεԽ͢Δ• ٞͨ͜͠ͱΛӽ͠Ͱ࣮͢Δ͜ͱ
εϐʔυͱͷཱ྆ͷ37• ࠷ۙͷࣄྫΦϯϘʔσΟϯά• 'J/$ΞϓϦͷΦϯϘʔσΟϯάػೳɺϝΠϯͷαʔϏεʹ͋ͬͨ• Ճ։ൃσʔλӡ༻ʹ͕͔͔͍࣌ؒͬͯͨ• ΦϯϘʔσΟϯάͰͷࡉ͔͍ӡ༻ ʑͷσʔλߋ৽ "#ςετʹΑΓ,1*Λ্Ͱ͖Δ͜ͱ͕͔͖ͬͯͨ• ϝΠϯαʔϏε͔Β͠ɺ৽͘͠ΦϯϘʔσΟϯάαʔϏεΛ্ཱͪ͛ͨ• ͜ͷ࣮ɺੳνʔϜͷϝϯόʔ͕ߦͬͨ
ষ'J/$ͷ࣍ͳΔٕज़త՝
'J/$ͷ࣍ͷٕज़త՝39• 'BVMU5PMFSBODF• %BUB-BLF• %FW0QTBOEPUIFS'VTJPOT
'BVMU5PMFSBODF40• ͋ΔαʔϏεͷʹҾ͖ͣΒΕͯɺผͷαʔϏεʹ͕ൃੜ͢Δݱ͕ͨ·ʹى͖ΔΑ͏ʹͳ͖ͬͯͨ• ͜ͷΛආ͚ɺ3FTJMJFODF ճ෮ྗ͕ߴ͍αʔϏεʹ͍͖͍ͯͨ͠• 0CTFSWBCJMJUZ&OHJOFFSJOH• 0CTFSWBCJMJUZ 4FSWJDF.FTIBOE.JDSPTFSWJDFT$PPLQBE*ODখେثSBJMTENEBZ• 'BVMU5PMFSBOUͳϓϩάϥϛϯάΛ֤։ൃऀ͕ग़དྷΔΑ͏ʹͳΔඞཁ͋Δ• ଞαʔϏε͕མͪͨ࣌ʹͲ͏ৼΔ͏͖͔ʁ• ࠓظ͔ΒਅʹऔΓΜͰ͍͘
%BUB-BLF41• 'J/$ͷϚΠΫϩαʔϏεσʔλϕʔεΛڞ༗͍ͯ͠ͳ͍ͷͰɺϢʔβʹؔ͢Δσʔλ֤αʔϏεʹࢄࡏ͢Δ• ͜ΕΒͷϢʔβσʔλΛ౷߹ͯ͠ѻ͍͍ͨ͜ͱ͕͋Δ• ϢʔβʹԿΒ͔ͷϨίϝϯσʔγϣϯΛ͍ͨ͠ͱ͖ͳͲ• ͜ΕΛ࣮ݱ͢Δ%BUB-BLFߏΛਐΊ͍ͯΔ
%FW0QTBOEPUIFS'VTJPOT42• ͜Ε͔ΒߋʹαʔϏεΛεέʔϧͤ͞ΔͨΊɺ৬छؒͰͷ͞ΒͳΔҙࢥૄ௨ڠྗ͕ؔඞཁʹͳΔ• ࠷ͨΔྫ%FW0QT• 'J/$Ͱ͜ΕΛ'VTJPOͱݺΜͰ͍Δ• ༷ʑͳڠྗ͕ඞཁ• 4FSWFSTJEF"*• J04"OESPJE• 'SPOUFOE%FTJHOFS• &OHJOFFS2"• FUD• ઐྖҬʹՃ͑ͯɺ͞ΒʹྖҬʹৄ͍͠ΤϯδχΞڧ͍
ٕज़త՝·ͱΊ43• αʔϏεɾ৫ΛҾ͖ଓ͖εέʔϧ͍ͤͯͨ͘͞Ίɺ ༷ʑͳํ๏Ͱ࣍ͷखΛଧͪ͡Ί͍ͯΔ• ΘΕͦ͜ɺͱ͍͏ํɺͥͻྗΛିͯ͠΄͍͠
ষ'J/$Ͱͷ։ൃͷ͍͍ͱ͜Ζ
'J/$ͷ։ൃͷ͍͍ͱ͜Ζ45• ݈߁՝ղܾʹऔΓΉ'J/$Ͱಇ͘ͱɺ͜͏͍͏ͱ͜Ζ͕ಛతͩͬͨΓɺ໘ന͍ͩΖ͏ͳͱ͍͏ͱ͜ΖΛϐοΫΞοϓ͠·ͨ͠
'J/$ͷ։ൃͷ͍͍ͱ͜Ζ46• #JH7JTJPO• 7JTJPOͷୡͷͨΊʹٕज़తʹνϟϨϯδϯάͳ͜ͱΛࠀ͢Δ• ຊ࣭తʹ7JTJPOୡͷͨΊͷՌʹͭͳ͕ΔͳΒԿΛ͍͍ͯ͠ͱ͍͏ࣗ༝ͳงғؾ͕͋Δ• .BOZ$IBMMFOHF• ඪ͕ߴ͍ͷͰɺ࡞Δͷ͍͠ࣄ͕ଟ͍• ༷ͷߟɺςʔϒϧΠϯλʔϑΣʔεڥքͷઃܭɺαʔϏεؒͷ࿈ܞͳͲɺߟ͑Δ͖͜ͱ͕ͨ͘͞Μ͋Δ• ҰͭҰͭͷνϟϨϯδ͕ٕज़ऀͱͯ͠ͷΩϟϦΞʹܨ͕Δ
'J/$ͷ։ൃͷ͍͍ͱ͜Ζ47• (PPE5FBN• ඪͱϕʔεϨϕϧ͕ଗ͍ͬͯΔͷͰɺ ݐઃతͳ͕ٞͰ͖Δ• ֶͼʹᩦཉͳਓ͕ଟ͘ɺνʔϜؒͷϊϋͷڞ༗ɺࣾษڧձ͕ੵۃతʹ։࠵͞Ε͍ͯΔ
8FBSFIJSJOH48Ұॹʹ։ൃͯ͘͠ΕΔ͜ΜͳਓΛืू͍ͯ͠·͢ʂ͋ͳͨͷ͜ͱͰ͢ʂ• αʔόαΠυΤϯδχΞ• ϚΠΫϩαʔϏεະܦݧͰશવͳ͍Ͱ͢ɻؾʹ͠ͳ͍Ͱ͍ͩ͘͞ ܦݧऀͷํ͕গͳ͍• 3BJMTະܦݧͰ0,ʂ• ࣾһͷ3BJMTΤϯδχΞͷׂ'J/$ͰॳΊͯ3BJMTΛܦݧ• !RTPOBະܦݧ͔Βೖͬͨ• ͪΖΜɺܦݧऀͳΒ͙͢ʹ׆༂Ͱ͖Δ• ͦͷଞ• $MJFOU 43& ػցֶशͳͲɺ༷ʑͳΤϯδχΞΛืूத• ಛʹJ04"OESPJEٸื
8FBSFIJSJOH49Ұॹʹ։ൃͯ͘͠ΕΔ͜ΜͳਓΛืू͍ͯ͠·͢ʂ͋ͳͨͷ͜ͱͰ͢ʂ• ܖܗଶ• ਖ਼ࣾһ• ϑϦʔϥϯε ۀҕୗ• ि Ͱ͖ΕिҎ্ͩͱخ͍͠Ͱ͢• ि͔Β͓ࢼ͠0,• ෭ۀܴͰ͢ʂ• ݴޠ• /POOBUJWF+BQBOFTFTQFBLFSTBSFBMTPXFMDPNF
8FBSFIJSJOH50• ݈߁ʹͳΓ͍ͨɺਓʑΛ݈߁ʹ͍ͤͨ͞• 3BJMT͖͚ͩͲɺͪΐͬͱҧ͏ٕज़ʹ৮Ε͍ͨ• ϚΠΫϩαʔϏεʹνϟϨϯδ͍ͨ͠• 'BVMU5PMFSBOUͳαʔϏεΛ࡞Γ͍ͨ• ػցֶशͬͯΈ͍ͨ• େ͖ͳσʔλΛѻ͍͍ͨ• ੳج൫ʹڵຯ͕͋Δ• ϏδωεՁΛΨϯΨϯಧ͚Δ։ൃΛ͍ͨ͠• άϩʔεϋοΫ͍ͨ͠• ϓϥοτϑΥʔϜϏδωεʹڵຯ͕͋Δ• FUD