2019/06/22 DevLOVEX での発表
ΤϯδχΞɺΤϯδχΞϦϯάϚωʔδϟʔͱͯ͢͠ΔͨΊʹඞཁͳ͜ͱͱʁʙͱԿ͔Λߟ͑Δʙ2019.06.22
View Slide
ڥʹΑͬͯώτมΘΓ·͢
ͱԿ͔ʁʁʁʁ
࣮ͱ͍͏ݴ༿͋·Γ͖Ͱ͋Γ·ͤΜʢ͍·͕͢ʣ
ʮ্ʯʹߦ্͘ʹߦ͔ͶͳΒͳ͍ͱ͍͏ແݴͷѹྗຊʹͦΕ͚ͩͳͷʁͱ͍͏ٙɻ
ʮֶͼʯֶΜͩ݁Ռʹ্Լͳ͍ࣦഊֶͼ
76$"ͷ࣌7PMBUJMJUZʢมಈੑɾෆ҆ఆ͞ʣ6ODFSUBJOUZʢෆ࣮֬ੑɾෆ֬ఆ͞ʣ$PNQMFYJUZʢෳࡶੑʣ"NCJHVJUZʢᐆດੑɾෆ໌֬͞ʣ
ਓੜ࣌ྸؔͳֶ͘ͼଓ͚Δඞཁ͕͋Δ
ʮʯͱʁࣗൃతʹֶͼɺมԽ͠ଓ͚͍ͯΔ
ࠓʮݸਓʯͷʹ͍ͭͯͷηογϣϯͰ͢
ιϑτΣΞ։ൃ্ͷͷଟ͘ɺٕज़తͱ͍͏ΑΓࣾձֶతͳͷͰ͋ΔϐʔϓϧΣΞΑΓ
ձࣾ৫νʔϜ ݸਓ
ձࣾ৫νʔϜ ݸਓνʔϜ৫ʹର͢ΔΞϓϩʔνΑ͘Δ ݸਓʹର͢ΔΞϓϩʔνPO͠Α͏͘Β͍͔͠ݟ͔͚ͳ͍
ݸਓʹରͯ͠ͷΞϓϩʔν͋·Γใ͕ແ͍
৭ʑͬͯΈͨ݁ՌɺνʔϜ͚ͩͰͳ͘ݸਓͷΞϓϩʔνॏࢹ͢ΔͱޮՌతͰͳ͍͔ͱײ͡Δ
ιϑτΣΞ։ൃνʔϜεϙʔπͰ͋Δ5FBN(FFL
ૉΒ͍͠ٿνʔϜ͕دͤूΊͷେϦʔάͷνʔϜʹউͯΔͷ͔ʁʢۃͳྫʣ
ݸਓͷνΧϥͱॏࢹͯ͠ΑΓྑ͍νʔϜΛ͍ͬͯͦ͘ͷώϯτʹͰ͖Δͱ͍͍ͳ
ࠓͷ༰ΤϯδχΞϦϯάϚωʔδϟʔͷֶͼΤϯδχΞͷֶͼ
ࠓͷ༰ΤϯδχΞϦϯάϚωʔδϟʔͷֶͼΤϯδχΞͷֶͼֶͼͷϕʔε
ᶃมԽͤ͞ΔͭͷνΧϥ
Γํ ͋Γํ
Γํ ͋ΓํεΩϧɺೳྗ ਓؒੑྔ྆ํֶͿඞཁ͕͋Δ
ᶄίϧϒͷܦݧֶशϞσϧ
۩ମతܦݧ$PODSFUF&YQFSJFODFTࢼߦɾ࣮ફ"DUJWF&YQFSJNFOUBUJPOলత؍3FGMFDUJWF0CTFSWBUJPOநత֓೦Խ"CTUSBDUJWF$PODFQUVBMJ[BUJPOίϧϒͷܦݧֶशϞσϧ
۩ମతܦݧ$PODSFUF&YQFSJFODFTࢼߦɾ࣮ફ"DUJWF&YQFSJNFOUBUJPOলత؍3FGMFDUJWF0CTFSWBUJPOநత֓೦Խ"CTUSBDUJWF$PODFQUVBMJ[BUJPOίϧϒͷܦݧֶशϞσϧࣗΛৼΓฦΔߦಈΛม͑Δ
۩ମతܦݧ$PODSFUF&YQFSJFODFTࢼߦɾ࣮ફ"DUJWF&YQFSJNFOUBUJPOলత؍3FGMFDUJWF0CTFSWBUJPOநత֓೦Խ"CTUSBDUJWF$PODFQUVBMJ[BUJPOίϧϒͷܦݧֶशϞσϧΓํ ͋Γํجຊ͜Ε͚ͩͰ͢
ΤϯδχΞͷօ༷ʹʹ͍ͭͯΠϯλϏϡʔΛ͍ͯ͠·͢·్ͩதͰ͕͢ɺݱঢ়ͷ݁ՌͱܦݧΛ౿·͓͑ͯ͠·͢ʢ·ͩԾઆஈ֊ͷ෦͋Γ·͢ʣ
Θ͔͖ͬͯͨ͜ͱ
ΤϯδχΞͷֶͼʹ͓͚ΔϙΠϯτֶͼͷൺॏֶͼͷࠜݯڥͱଞͷਓͷॿ͚
Γํ ͋ΓํʮΓํʯͷֶͼͷൺॏ͕େ͖͍
۩ମతܦݧ$PODSFUF&YQFSJFODFTࢼߦɾ࣮ફ"DUJWF&YQFSJNFOUBUJPOলత؍3FGMFDUJWF0CTFSWBUJPOநత֓೦Խ"CTUSBDUJWF$PODFQUVBMJ[BUJPOίϧϒͷܦݧֶशϞσϧֶͿͨΊʹߦಈͷൺॏ͕େ͖͍㲈܇࿅
Կֶ͕ͼͷϞνϕʔγϣϯ͔ਓʹΑͬͯҧ͏
ऩूूத༡ͼ՝ֶͼͷࠜݯ֎తཁҼతཁҼ͘ਂ͘
ऩूूத༡ͼ՝ֶͼͷࠜݯ˔ ۤ࿑ͨ͠ܦݧ͕͋Δ˔ ϓϩάϥϛϯάతͰͳ͘खஈ˔ ࢣঊ͕͍Δ˔ ةػײ͕͋ΔతཁҼ͘ਂ͘˔ ಉ͜͡ͱΛ͘ଓ͚Δ˔ ৽͍͠νϟϨϯδ͋·Γ͠ͳ͍˔ ͍Ζ͍ΖνϟϨϯδ͢Δ˔ ͖ͬΆ͍˔ ϓϩάϥϛϯά༡ͼɺ͓ͪΌ˔ ༮গظ͔Β༡ΜͰ͍Δ˔ ۤ࿑ͨ͠هԱগͳ͍֎తཁҼ
͜ͷྨʹ߹Θͤͨ༰ΓํΛબ͍ͯ͘͠
νΧϥΛൃش͢Δʹڥଞऀ͔Βͷࢧԉ͕େࣄ
ൃୡൣғ࠷దϨϕϧػೳϨϕϧଞऀڥ͔Βͷαϙʔτʹدͬͯൃش͢Δ͜ͱ͕Ͱ͖Δɺ͕͍ࣗ࣋ͬͯΔ࠷ߦಈͳೳྗϨϕϧଞऀڥ͔Βͷࢧԉͳ͠ʹൃش͢Δ͜ͱ͕Ͱ͖Δɺ͕͍ࣗ࣋ͬͯΔ࠷ߴͳೳྗϨϕϧൃୡൣғ࠷దϨϕϧͱػೳϨϕϧͷΪϟοϓɻྸ͕ߦ͚ߦ͘΄Ͳ͜ͷΪϟοϓ֦େ͍ͯ͘͠ʮೳྗͷʯΑΓ
ԿΛ͢Εྑ͍͔
ΤϯδχΞͷֶͼͷͨΊʹΔ͜ͱֶͼͷࠜݯΛݟۃΊΔখ͞ͳߦಈͷมԽͰश׳Λม͑ΔࣗͷৼΓฦΓΛݴ༿ʹ͢Δ
ऩूूத༡ͼ՝ֶͼͷࠜݯ֎తཁҼతཁҼ͘ਂࣗ͘ͲΕ͔ʁ
ਓɺແҙࣝͰߦಈ͍ͯ͠Δ
۩ମతܦݧ$PODSFUF&YQFSJFODFTࢼߦɾ࣮ફ"DUJWF&YQFSJNFOUBUJPOলత؍3FGMFDUJWF0CTFSWBUJPOநత֓೦Խ"CTUSBDUJWF$PODFQUVBMJ[BUJPOίϧϒͷܦݧֶशϞσϧࣗΛৼΓฦΔߦಈΛม͑Δ͍ͭͱҧ͏খ͞ͳߦಈΛຖଓ͚Δ
ແҙࣝˠҙࣝԽˠແҙࣝश׳Խ͢Δɻͭ·ΓԿߟ͑ͳͯ͘Ͱ͖ΔΑ͏ʹͳΔʢඪઃఆͯ͠ߦ͏ͱͳ͓ྑ͍ʣ
͙͢ʹͰ͖Δখ͞ͳߦಈͰΑ͍ଓ͚Δ͜ͱ͕ॏཁେ͖ͳ͜ͱΛΖ͏ͱ͢Δͱଓ͔ͳ͍͔ΒߦಈͰ͖ͳ͘ͳΔ
ࣗΛεϓϦϯτʢຖिʣ͝ͱʹৼΓฦͬͯΔਓ͍·͔͢ʁ
ࣗΛৼΓฦ͍ͬͯ·͔͢ʁνʔϜͰৼΓฦͬͯݸਓͰৼΓฦΔਓগͳ͍
ݴ༿ʹ͢Δ͜ͱ͕େࣄݴ༿ʹ͢ΔˠಡΉˠΘ͔Δߟ͑Δ͚ͩͩͱ͕ࣗԿΛߟ͍͑ͯΔ͔͢ΒΘ͔Βͳ͍
Θ͔Δͱ࣍ͷߦಈ͕ࢥ͍ු͔Ϳඞͣ͠ਂ͘ল͢Δඞཁͳ͍ɾߦಈΛม͑Δ͜ͱ͕େࣄɾࣗ୳͠ʹͳΔةݥੑ͕͋Δ
ৼΓฦΔ͜ͱ༰ ໘
ৼΓฦΔ͜ͱ༰ײͨ͜͡ͱ͋Γํग़དྷࣄɺଞऀɺڥɺࣗͷߦಈΛৼΓฦΔײɺײͳͲɺࣗͷঢ়ଶΛৼΓฦΔ͍ͬͯΔ࠷தͷࣗΛৼΓฦΔ
ࣗͰ,15Λͯ͠ΈΔͱΑ͍˔,FFQ˔1SPCMFN˔5SZ˔ײͨ͜͡ͱ○ これが大切ϙΠϯτ ຖΔɺΕΔྔʹ͢Δʢश׳Խʣ 4MBDLͰެ։ͯ͠ΈΔʢϑΟʔυόοΫΛ͑Δʣ 5SZʹ׆͔ͯ͠ΈΔ
·ͱΊ
ࣗࣗͩͬͨΒɾࣗͰྗ͢Δɾ্࢘ϝϯλʔίʔνʹखͬͯΒ͏ϚωʔδϟʔͩͬͨΒɾ͜Ε͕Ͱ͖ΔڥΛ࡞ΔɾPOͰαϙʔτ͢Δ
Γํ ͋ΓํΤϯδχΞΑΓʮ͋Γํʯͷൺॏ͕େ͖͘ͳΔ
ਓʮ͋Γํʯʹಈ͔͞ΕΔ
۩ମతܦݧ$PODSFUF&YQFSJFODFTࢼߦɾ࣮ફ"DUJWF&YQFSJNFOUBUJPOলత؍3FGMFDUJWF0CTFSWBUJPOநత֓೦Խ"CTUSBDUJWF$PODFQUVBMJ[BUJPOίϧϒͷܦݧֶशϞσϧ͕ͯ͢େࣄলͷൺॏ͕ߴ·Δ
ϚωʔδϟʔϦʔμʔͷࣄͷಛᶃ͕͑ແ͘ͳΔᶄໃ६ͱ͖߹͏
ҙࢥܾఆใΛूΊΔ͜ͱେ͕ͩ࠷ޙܾΊͷ֓Ͷຊʹॻ͍͍ͯͳ͍ʜ
ࣗͰ͑Λग़͢ඞཁʹഭΒΕΔࣗͱ͖߹͏ඞཁʹഭΒΕΔͭ·Γ
ϚωʔδϟʔϦʔμʔͷࣄͷಛᶃ͕͑ແ͘ͳΔᶄໃ६ͱ͖߹͏ᶅৗʹະͷ՝ͱରቂ͢Δ
খֶੜͷͱ͖͔ΒϚωʔδϟʔ͚ͩΛΓଓ͚͍ͯΔਓ͍ͳ͍ˠͬͨ͜ͱ͕ແ͍͜ͱΛΔ໌֬ͳ͕͑ແ͍͍Λ͔͚͛ΒΕଓ͚ΔˠΘ͔Βͳ͍͜ͱΛҙࢥܾఆ͢Δ
ϐʔλʔͷ๏ଇ͋Δਓࡐͦͷ৫ͰঢਐͰ͖Δݶքʹୡ͢ΔɻਓঢਐΛଓ͚͕ͯͯແೳʹͳΔɻͭ·Γɺ৫ͷߏһશ͕ͯɺࣗݾͷೳྗΛਐలͤ͞ଓ͚ͳ͚Ε৫͕͍ͣΕແೳԽ͠ɺػೳ͠ͳ͘ͳΔͱ͍͏֊ࣾձֶͷ๏ଇ
ʢͨΓલ͚ͩͲʣϚωʔδϟʔʹͳΔ͜ͱΰʔϧͰͳ͍ਂֶ͍ͼͷ࢝·ΓͰ͋Δ
ݠڏʹֶͼଓ͚Δඞཁ͕͋Δ
&.ʹͳͬͨͱ͖ͷมԽʮ͋Γํʯ͕େʹͳΔࣗͱ͖߹͏ඞཁʹഭΒΕΔݠڏʹֶͼଓ͚Δඞཁ͕͋Δ
&.ͱֶͯ͠ͿͨΊʹඞཁͳ͜ͱΦʔηϯςΟοΫͰ͍Δ Ξϯϥʔχϯά͢Δʮ͋Γํʯ͕େʹͳΔࣗͱ͖߹͏ඞཁʹഭΒΕΔݠڏʹֶͼଓ͚Δඞཁ͕͋Δ
&.ͱֶͯ͠ͿͨΊͷϙΠϯτΦʔηϯςΟοΫͰ͍Δ Ξϯϥʔχϯά͢Δʮ͋Γํʯ͕େʹͳΔࣗͱ͖߹͏ඞཁʹഭΒΕΔݠڏʹֶͼଓ͚Δඞཁ͕͋Δ
ΦʔηϯςΟοΫͱʮࣗΒ͠͞ʯΛ؏͍͍ͯΔ͜ͱ
ͭ·Γɺ͋ͳͨͷ··Ͱ͍͍ͦΕ͕·͍ͨ͠
ΦʔηϯςΟοΫͰ͋ΔͨΊͷͭͷϙΠϯτऑΈஏΛଞਓʹ͢ʢ͞Β͚ग़͢ʣऑ͞ΛೝΊΔʢϰΝϧωϥϏϦςΟʣࣗݾೝࣝྗΛߴΊΔʢηϧϑΞΣΞωεʣ
ࣗͷ͜ͱΛΔͷΊͪΌͪ͘Ό͍͠
Ռ֎͚ͩͰͳࣗ͘ͱ͖߹͏ʢ͕ࣗΘ͔ΔʣϑΟʔυόοΫΛड͚༰ΕΔʢଞݾೝࣝͱࣗݾೝࣝͷΪϟοϓΛຒΊΔʣ
δϣϋϦͷ૭։์ͷ૭ൿີͷ૭ͷ૭ະͷ૭ଞਓ͔͍ͬͯΔଞਓ͔͍ͬͯͳ͍͔͍ࣗͬͯͳ͍͔͍ࣗͬͯΔଞਓ͔ΒͷϑΟʔυόοΫলͱ֓೦Խ
Ͱ͖ͳ͍͜ͱΘ͔Βͳ͍͜ͱऑ͍͜ͱࣗͰೝΊ͍ͯΔ͔ʁ
ͦΜͳࣗΛ͋Γͷ··ʹೝΊ͍ͯΔ͔ʁʢηϧϑίϯύογϣϯʣ
Ͱ͖ͳ͍͜ͱΘ͔Βͳ͍͜ͱऑ͍͜ͱଞਓʹ͍ͤͯΔ͔ʁ
ڧ͍ϦʔμʔͰ͍ΔΑΓΦʔηϯςΟοΫͰ͋Δํ͕༐ؾ͕ඞཁ
ΦʔηϯςΟοΫͰ͍Δ͜ͱʹΑΓֶͼଓ͚Δ͜ͱ͕Ͱ͖ΔҰ؏ੑΛ࣋ͭ͜ͱ͕Ͱ͖Δ֮ޛΛ࣋ͭ͜ͱ͕Ͱ͖Δ
ਓʹΑͬͯҧ͍ɺ͑ଘࡏ͠ͳ͍͖ɺϦʔμʔ૾ͷࢥ͍ࠐΈΛ֎͠୳ٻ͠ଓ͚Δඞཁ͕͋Δ
ਓؒͱͯ͠͠ଓ͚Δ
&.ͱֶͯ͠ͿͨΊʹඞཁͳ͜ͱਓʮ͋Γํʯʹಈ͔͞ΕΔࣗͱ͖߹͏ඞཁʹഭΒΕΔݠڏʹֶͼଓ͚ΔΦʔηϯςΟοΫͰ͍Δ Ξϯϥʔχϯά͢Δ
ϚωʔδϟʔͱͳΔͱͦͦ͜͜৭ʑͳܦݧΛ͍ͯ͠Δ
ܦݧ͕ʹཱͨͳ͍͜ͱ͕૿͍͑ͯ͘
Ξϯϥʔχϯά͢Δ͜Ε·ͰͷܦݧɾޭମݧΛࣺͯΔ
Ξϯϥʔχϯά͢ΔࣺͯΔͱ͍͏ͷਏ͍༐ؾ͕ඞཁɺ௧Έ͕͏
ΞϯϥʔχϯάࣺͯΔͱ͍͏ͷਏ͍༐ؾ͕ඞཁɺ௧Έ͕͏ϥʔχϯά ϥʔχϯά
&.ͷֶͼͷͨΊʹΔ͜ͱֶͼͷࠜݯΛݟۃΊΔখ͞ͳߦಈͷมԽͰश׳Λม͑ΔࣗͷৼΓฦΓΛݴ༿ʹ͢ΔΤϯδχΞͱΔ͜ͱಉ͡
ΦʔηϯςΟοΫͳࣗΛ୳ٻ͢Δ
Ξϯϥʔχϯά͢Δࠓ·Ͱͱҧ͏ۤखͰ͋Δɺͬͨ͜ͱ͕ແ͍খ͞ͳߦಈΛ࢝ΊΔ
ॻ͘ʢδϟʔφϦϯάʣ˔ ύʔιφϧͷॴͰߦ͏˔ ϊʔτʹ಄ʹු͔Μͩ͜ͱΛॻ͘˔ ٭৭͠ͳ͍Ͱࣄ࣮ؾ࣋ͪΛ͋Δ͕··ʹॻ͘˔ ߟ͑ͣʹखΛಈ͔͢˔ ຖಉ࣌ؒ͡ʹΔ˔ ຖಉ͡ྔΛॻ͘ίʔνϯά˔ ଞऀͷॿ͚ΛआΓɺࣗʹର͢Δ͍Λ͔͚͛ͯΒ͏˔ ઐతͳख๏ʹΑΓɺ߹ʹΑͬͯਂ͍໘·ͰΞϓϩʔν͢Δ˔ ٬؍తͳϑΟʔυόοΫΛΒ͏˔ ࣍ͷߦಈͷඪઃఆͭͳ͛Δ
࠷ޙʹ
ϓϩάϥϛϯάͳͲ༰ͷ͍ͯ͠·ͤΜ
ͷͨΊͷΈͭ·ΓϑϨʔϜϫʔΫΈ͍ͨͳͷ
தॊೈʹม͑ΒΕ·͢
ϓϩάϥϛϯάڭҭҭεΩϧɺͭ·ΓʮΓํʯͷ͕ଟ͍
Γํ ͋Γํ࣮ࡍɺ྆ํόϥϯεΛऔ͍ͬͯͬͯ͘͜ͱ͕େࣄ
ͦͷͨΊʹɺ৫पғͷڥͮ͘Γαϙʔτ͕େ
ࣗࣗͷͨΊʹڥͮ͘ΓνʔϜͷϝϯόʔͷͨΊʹڥͮ͘Γ
ݸਓʹର͢ΔΞϓϩʔν
·ͩ·ͩΓ͍ͯͳ͍ɻͰ͖ΔɺνΧϥΛൃشͰ͖Δڥͮ͘ΓΛ࣍ͷͰ͍͖͍ͯͨ͠
ΠϯλϏϡʔɺҭτϥΠΞϧืूதΤϯδχΞͰΠϯλϏϡʔʹڠྗ͍͚ͨͩΔํืूʂ͜ΕΒͷΈͰΤϯδχΞͷΛ୳ٻͨ͘͠ɺτϥΠΞϧ͍͚ͯͨͩ͠Δํืूʂ
ʮແྉମݧPOίʔνϯάʯืूதͰ͢͜ΕΒͷߟ͑ํϕʔεʹίʔνϯάΛड͚ͯΈ͍ͨͱ͍͏ํ͓ؾܰʹ͝Ԡื͍ͩ͘͞ʂͳ͍ͥͬͯΔͷ͔ͳͲɺϒϩάʹॻ͍ͯΈ·ͨ͠ͷͰ͝ཡ͍ͩ͘͞·ͤɻhttps://www.tsuyok.work/entry/2019/05/28/180521