#TokyoEdge2019
https://edge.connpass.com/event/122672/
上記イベントで登壇したスライドです。
جૅ͔ΒֶͿʂ6&Ͱ$Λަ͑ͨ"*։ൃɺڵຯͳ͍Ͱ͔͢ʁ.JP,VUBOJ [email protected]@73&OHJOFFS.BS
View Slide
ࣗݾհ
օ͞Μ"*ͷ։ൃͲͷΑ͏ʹߦͳ͍ͬͯ·͔͢ʁ
ήʔϜΩϟϥΫλʔ"*ͱʁ ਓؒͷΑ͏ͳੑΛ͔࣋ͭͷΑ͏ʹߦಈ͢Δ"*ʲඞཁཁૉʳɾೳͷϦΞϦςΟɾײΛදݱ͢ΔͨΊͷԋٕʲΑΓϦΞϦςΟΛग़ͨ͢Ίͷཁૉʳɾࣹɾ܈Ε੍ޚ
ೳͷϦΞϦςΟʁɹɹɹɹɹɹɹɹྫ͑ʜʜw ఢ͕ۙ͘ʹ͍Δ࣌ؒ߹͍ΛऔͬͨΓw ͢ఢͷ༏ઌॱҐΛܾΊͨΓw దͳλΠϛϯάͰΞΠςϜٕΛ༻ͨ͠ΓɹɹɹɹϢʔβʔ͕ظ͢ΔߦಈΛɹɹɹɹ"*͕ੵΈॏͶΔඞཁ͕͋Δɻ
ײΛදݱ͢ΔͨΊͷԋٕʁɹɹɹɹɹɹɹɹྫ͑ʜʜw ࢹઢͰڥΛೝ͍ࣝͯ͠ΔΑ͏ʹݟͤͨΓw ຯํ͕ࢮ࣌ʹ൵͠ΜͰݟͤͨΓw ϓϨΠϠʔͱͷରΛߦΘͤͨΓɹɹɹ"*ͷϘΩϟϒϥϦʔΛॆ࣮ͤ͞ɺɹײදݱͷͬͨߦಈΛ࣮ݱͤ͞Δ͜ͱͰɹɹήʔϜࣗମͷΓ্͕Γ͕มԽ͢Δɻ
ࣹʁɹɹɹɹɹɹɹɹྫ͑ʜʜw ఢ͔Βͷ߈ܸΛᄉᅀʹආ͚ͨΓw )1͕Ұఆͷׂ߹ҎԼʹͳͬͨΒճ෮ͨ͠ΓɹɹɹਓؒͷΑ͏ͳࣹߦಈΛߦΘͤͯɹɹɹ"*ʹੑ͕͋ΔΑ͏ʹݟͤΔɻ
܈Ε੍ޚʁɹɹɹɹɹɹɹɹྫ͑ʜʜw /1$ಉ࢜ͷিಥΛආ͚ͨΓw ΦϒδΣΫτΛճආͯ͠า͍ͨΓɹɹ͓ޓ͍ͷҐஔ͔ؔΒࣗͷҐஔΛɹɹɹܾఆ͚ͮͯҠಈ͢Δ͜ͱͰɹʮ૬खΛೝ͍ࣝͯ͠Δײ͡ʯΛԋग़͢Δɻ
͡Ό͋"*ͷҙࢥܾఆͲͷΑ͏ͳΞϧΰϦζϜΛ͍͍͑ͷ͔ʜʜʁ
"*ͷҙࢥܾఆΞϧΰϦζϜw ϧʔϧϕʔεw εςʔτϕʔεw ϏϔΠϏΞϕʔεw λεΫϕʔεw ΰʔϧϕʔεw ϢʔςϦςΟϕʔεw γϛϡϨʔγϣϯϕʔε
εςʔτϕʔε"*ݱࡏͷঢ়ଶߦಈΛݩʹͯ͠ɺઃఆ͞Εͯ͋ΔભҠ݅Λຬͨ͢͜ͱͰ࣍ͷঢ়ଶPSߦಈʹҠΔɻ੍ޚͷΓସ͑ߴ͕ͩɺ֦ுੑ͍͠ɻ$ଆͰ&OVNΛ༻ͯ͠εςʔτ෦Λ࣮
ϏϔΠϏΞϕʔε"*ΩϟϥΫλʔ͕औΕΔߦಈͷϨϕϧͰΩϟϥΫλʔͷ࣍ͷߦಈΛߟ͑ΔࣄɻݱࡏήʔϜ"*Ͱ࠷͘ΘΕ͍ͯΔɻϏϔΠϏΞπϦʔ͜ͷҰྫɻ6&ͰϏϔΠϏΞπϦʔͱ͍͏ػೳ͕༻ҙ͞Ε͍ͯΔʢޙड़ʣɻ
6&Ͱ"*Λ࣮͢ΔͨΊͷศརػೳ
6&Ͱͷ"*։ൃw "*$POUSPMMFSw #FIBWJPS5SFFw ϒϥοΫϘʔυw φϏήʔγϣϯϝογϡw &24w "*1FSDFQUJPO
"*$POUSPMMFS"*ͷίΞͱͳΔػೳͰɺ"*ʹؔ͢Δࢦࣔܥ౷શൠΛ୲͢Δɻʮ$IBSBDUFSʯΫϥεʹ࣋ͨͤΔ͜ͱͰɺΩϟϥΫλʔͷʢ"*ʣͱͯ͠ػೳ͢Δɻޙड़͢ΔϏϔΠϏΞπϦʔͷ࣮ߦ։໋࢝ྩɺ"*$POUSPMMFS͔Βߦ͏ɻ
#FIBWJPS5SFFͦͷ໊ͷ௨ΓɺπϦʔߏͱͳͬͯΔɻߦಈࣗମͷ࣮ओʹࢬͷʹ͋ΔϊʔυɻͦΕҎ֎ͷɺʹ͋Δϊʔυʹܨ͕͍ͬͯΔதؒϊʔυɺجຊతʹϊʔυͷ࣮ߦॱ൪ΛܾΊΔׂΛ୲͍ͬͯΔɻ
ϒϥοΫϘʔυ"*͕ࣗऩूͨ͠Γੳͨ͠ใ܈ΛɺϒϥοΫϘʔυʹهԱ͓ͤͯ͘͜͞ͱ͕Ͱ͖Δɻ·ͨɺهԱͤͨ͞ใؔ࿈͢ΔϏϔΠϏΞπϦʔશମͰڞ༗͢Δ͜ͱ͕Ͱ͖Δɻ
φϏήʔγϣϯϝογϡ"*͕ʮา͚ΔॴʯΛࣔͨ͠σʔλΛࢦ͢ɻ͜Εύεݕࡧͱ͍͏ॲཧಉ࣌ʹߦ͍ɺ"*͕తͱ͢Δॴ·Ͱͷ࠷ڑΛऔΔ͜ͱ͕Ͱ͖·͢ɻ
&24&OWJSPONFOU2VFSZ4ZTUFN &24ɺʮϓϨΠϠʔͷ͕ۙ͘࠷దʯʮఢͷ͍ͯΔํͱٯํ͕࠷దʯͱ͍ͬͨෳͷ݅ࣜΛ༩͑ͯɺ࠷είΞ͕ߴ͍"DUPSҐஔใ7FDUPSΛٻΊͯ͘ΕΔػೳɻ
"*1FSDFQUJPO"*ʹࢹ֮ௌ֮ɺ௧֮ͷηϯαʔ܈Λ͚Δɻಛʹࢹ֮Ͱɺʮࢹ֎ʹλʔήοτ͕ग़ͯɺݟࣦͬͨʯʮࢹઢ͕Կ͔ͷΦϒδΣΫτʹΑͬͯ࠹͕Εͨʯͱ͍͏ʮݟࣦ͏ʯΠϕϯτ͕औಘͰ͖ͨΓ͢Δɻ
#FIBWJPS5SFFΛͬͱৄ͘͠ʂ
λεΫ6&ͰπϦʔͷ ༿෦Ͱ͋ΓɺߦಈΛ࢘Δϊʔυͷ͜ͱΛʮλεΫ 5BTLʯͱݺͿɻλεΫͷԼʹଞͷϊʔυྨଓෆՄɻ"*͕࣮ߦ͢ΔॲཧΛࡉԽ͠ɺλεΫͱͯ͠ఆٛ͢Δ͜ͱͰɺ࠶ར༻ੑ͕ߴ͘ͳΔɻ
αʔϏεΞλον͞Ε͍ͯΔίϯϙδοτϊʔυԼͷɺࢠϊʔυ͕࣮ߦ͞Ε͍ͯΔؒɺࢦఆͨ͠ඵຖʹαʔϏεϊʔυͷॲཧΛ࣮ߦ͢Δ͜ͱ͕Ͱ͖Δʢྫ͑ඵ͝ͱʣɻαʔϏεϊʔυओʹɺϒϥοΫϘʔυͷΩʔ͕࣋ͭΛॻ͖͑Δ࣌ͳͲʹ༻͞ΕΔɻ
σίϨʔλʔ݅ࣜͱͯ͠༻Ͱ͖Δϊʔυɻϊʔυ෦Ͱهड़͍ͯ͠Δॲཧ͕ฦ͢USVFGBMTFఆʹΑͬͯɺࢠϊʔυΛ࣮ߦ͢Δ͔Ͳ͏͔Λஅ͢ΔɻαʔϏεͱಉ͡Α͏ʹίϯϙδοτϊʔυλεΫϊʔυʹෳΞλον͢Δ͜ͱ͕Մೳɻ
ίϯϙδοτλεΫͷ࣮ߦॱ൪ΛܾΊΔதؒϊʔυɻछྨͱͯ͠ɺʮ4FRVFODFʯɺʮ4FMFDUPSʯɺʮ4JNQMF1BSBMMFMʯ͕ଘࡏ͍ͯ͠ΔɻIUUQIJTUPSJBDPKQ'Q%
ϧʔτͳ͓ɺશϊʔυͷҰ൪্ʹ͋Δࠜɺʮϧʔτ 3005ʯͱݺΕ͍ͯΔɻϧʔτϏϔΠϏΞπϦʔʹඞͣҰ͚ͭͩଘࡏ͓ͯ͠ΓɺΛ࣋ͨͳ͍ɻجຊతʹࠨ͔Βӈͱॲཧ͕ྲྀΕ͍͖ͯɺ࠷ޙͷॲཧͷ࣌Ͱ࠶ͼ3005ͱΔɻ
ΤσΟλଆ͚ͩͰΜͰΈΔ
ʲ6&ʳຯํ"*ͷ࡞Γํʂ"*ͱԿ͔Λֶͼͳ͕ΒɺϒϧʔϓϦϯτͰຯํΩϟϥΫλʔΛ࣮͠Α͏ 2JJUBهࣄϦϯΫ
͜ΕΒΛ$ͰΈཱͯΔϝϦοτͬͯԿͩΖ͏ʁ
$Λ༻ͯ͠ͷ"*։ൃw ύϑΥʔϚϯεͷ্ɻw 6&༻ʹΧελϚΠζ͞Εͨ$͕͑Δɻw ΤϯδϯΫϥεΛܧঝ͠ɺ $VTUPN൛Λ༰қʹ࡞Մೳɻw #1͔Β$Ҡߦ͢Δ߹ʹίετ͕ͱ͔͔ͯΔɻͳΒɺ࠷ॳ͔Β$Ͱॻ͜͏ɻw σόοά͘͢͠ͳΔɻw ͦͯ͠$͕ SZ
ࠓճ$Ͱ#5ͷϊʔυ܈ͷ$VTUPNΫϥεΛ࡞ͨ͠߹Ͳ͏ͳΔ͔Λ؆୯ʹ֬ೝ͠·͢ɻ
·ͣϓϩδΣΫτ࡞͜͜Ͱ$λϒΛબΜͰ5IJSE1FSTPOΛબ
৽نՃϘλϯΛԡԼͯ͠ʜʜ
$VTUPNΫϥε࡞ࣗ༻ͷ$IBSBDUFSΫϥε࡞ͷّ
$VTUPNΫϥε࡞͜ͷΫϥεΛܧঝͯ͠ΩϟϥΫλʔ#1Λ࡞͓ͯ͘͠ͱΧελϚΠζ͍͢͠ʂ
ಉखॱͰ"*$POUPSMMFS$VTUPNΫϥεΛ࡞Γ·͢ɻ
৽نՃϘλϯ͔Β"*ϏϔΠϏΞπϦʔΛ͋Β͔͡ΊՃͯ͠༻ҙʂ
6#FIBWJPS5SFFܕͷมΛ༻ҙ͓͍ͯͯ͠ηοτ͓͚ͯ͠3VO#FIBWJPS5SFF Ͱ࣮ߦՄೳ
ͳΔ΄Ͳɺ#5࣮ߦͰ͖ͦ͏ͩʜʜɻ
Ͱɺී௨ͷλεΫɺσίϨʔλʔɺαʔϏεͲ͏ͬͯ࡞Ε͍͍Μʜʜʁ
$VTUPNͷ5BTLΛ࡞͢Δ߹ͷΫϥε#MVFQSJOU#BTFΛબͯ͠͠·Θͳ͍Α͏ҙʂ
ͳΔ΄ͲɺΫϥεͷ࡞ΓํΘ͔ͬͨɻ
͑ʁ࣮ࡍͲ͏࡞͍͚͍͍ͬͯͷʁ
6&ͰطଘͰ.PWFܥͷλεΫαʔϏεɺσίϨʔλΫϥε͕༻ҙ͞Ε͍ͯΔʂ
6&ͷϦϑΝϨϯεΛಡΈͳ͕ΒίʔυΛಡΜͰΈΔ
ެࣜͷαϯϓϧ͕ॆ࣮͍ͯ͠Δʜʜʂ
ΩϟϥΫλʔ"*
$Ͱߏஙͯ͠Έ·ͤΜ͔ʁ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ