July Tech Fest 2018のB40でお話した資料です。
ʙ4IFMMͱ͖ΌΓʔͺΈΎͺΈΎ͕ͱʹ͔͖͘ͳΜͰ͢ʙ!QZBNB(.01FQBCP *OD+VMZ5FDI'FTUBӡ༻ʹ͓͚ΔγΣϧͷׂͱͦͷ͋ΓํΛߟ͑Δ
View Slide
γχΞɾϓϦϯγύϧΤϯδχΞࢁԼ!QZBNBϗεςΟϯάࣄۀ෦νʔϑςΫχΧϧϦʔυ
-JOVYͷ౷߹Ϣʔβʔཧ50.-ܗࣜ)551+40/-%"1%#ͷཧͷӡ༻ෛՙѻ͍͍͢ϑΥʔϚοτ൚༻ੑɾ֦ுੑ
ϗεςΟϯάࣄۀ &$ࢧԉࣄۀ ϋϯυϝΠυɾͦͷଞࣄۀ
ϩϦϙοϓʂϨϯλϧαʔόαʔϏεఏڙ։࢝ ϔςϜϧαʔϏεఏڙ։࢝1ࢁ͕ϖύϘʹೖࣾʂʂ݄̍ࣛࣇౡݝग़ਫࢢʹ͓͍ͯ1ࢁരʂʂ̍ ݱࡏɾۀϜʔϜʔυϝΠϯαʔϏεఏڙ։࢝
͙͢ʹ͑Δɺͣͬͱ͑ΔϩϦϙοϓʂϨϯλϧαʔόIUUQTMPMJQPQKQ
͙͢ʹ͑Δɺͣͬͱ͑ΔϩϦϙοϓʂϨϯλϧαʔόIUUQTMPMJQPQKQʙ ར༻࣮αΠτສҎ্ϢʔβʔສਓҎ্τϥϑΟοΫສઍΞΫηεඵϐʔΫ(CQT࠷ۙϦϦʔεւ֎*1ϑΟϧλʔίϯςϯπΩϟογϡ
ࠓ͢͜ͱw 4IFMMʹର͢Δ͍͔ͭ͘ͷߟw ࣌ͱਓྨʹ͍ͭͯw ϖύϘͷࣄྫw ·ͱΊ
4IFMM4IFMM4IFMM4DSJQU
͠खͷ࠷ߴܼ࡞
ࣇಐϙϧϊϒϩοΩϯάࣗಈԽXHFUͰϒϩοΩϯάϦετΛऔಘਆ͕͔ͬͨBXLͰϒϩοΫϦετΛ31;ϑΥʔϚοτ*4$#*/%ઃఆΛ͠Ϧϩʔυͷ*41ʹ͓͍ͯ࠷ઌͩͬͨͣɾɾɾ
8ۀքʹ͓͚Δ4IFMMͷཱͪҐஔw อकʹར༻͢Δπʔϧྨͷ։ൃݴޠw ୭͔͕ॻ͍ͨਆ4IFMM͕Θͬͨͳʹ͔
ݱࡏͳͥ4IFMM͕ΘΕΔͷ͔w ޮ͕͍͍͔Βʁw ͙͢ॻ͚Δ͔Βʁ
8FCۀքʹ͓͍ͯࠓޙͷ͋ΓํΛߟ͑Δ
ϥΠϑαΠΫϧ͔Βͷߟ
ιϑτΣΞͷϥΠϑαΠΫϧاը։ൃӡ༻ อक
։ൃ ӡ༻ɾอकख͕ؒগͳ͍ʁ୭Ͱॻ͚Δʁಋೖָ͕୭Ͱ࣮ߦग़དྷΔʁґଘ͕গͳ͍୭Ͱॻ͚Δ͔Βอक͍͢͠ʁ4IFMMͷಛ
ख͕ؒগͳ͍ʁ୭Ͱॻ͚Δʁ4IFMMͷ։ൃύΠϓΛར༻ͨ͠ڧྗͳΈ߹Θͤػߏ։ൃɺ࣮ߦڥͷ४උͷखؒڧྗ͗͢Δ͜ͱ͋ΔʜHSFQFYBNQMFGPPUYUcaBXLb\QSJOU^`caTPSUcVOJRಛఆͷαʔόɺಛఆͷσΟϨΫτϦͰಈ͘ʜ࣍ϖʔδʹ࣮ྫ
ڧྗͳ4IFMM͍͠pOEOBNFFYBNQMFQSVOFPUZQFGOBNFQMSFBEBCMFQSJOUacYBSHTHSFQMbGPPΧϨϯτσΟϨΫτϦԼͷจࣈྻFYBNQMFΛআ͘ OBNFFYBNQMFQSVOFಡΈࠐΈՄೳͳQFSMͷϑΝΠϧ PUZQFGOBNFlQMzSFBECMFͷҰཡΛ/6--۠ΓͰग़ྗ͠ QSJOUɺͦΕΛGPPͰݕࡧ͠ɺ߹கͨ͠ΒϑΝΠϧ໊Λදࣔ͢Δ HSFQMbGPP`
wΠϯετʔϧͷख͕ؒຆͲແ͍wґଘੑ͕গͳ͍4IFMMͷӡ༻ɾอकଞݴޠʹൺͯɺಋೖɺϝϯςφϯείετ͍
୭Ͱ࣮ߦग़དྷΔʁ୭Ͱॻ͚Δ͔Βอक͍͢͠ʁ4IFMMͷӡ༻ɾอक୭Ͱ࣮ߦͰ͖ΔΘ͔Γ͍͢୭Ͱॻ͚ΔʹΘ͔Γ͍͢ڧྗ͗͢ΔΘ͔Γʹ͍͘ͱͳΔͱίετ૿େͷཁҼʹͳΔ
ڧྗ͗͢ΔଞͷݴޠͰى͖ͳ͍ͷ͔ʁେ͖ͳಛͰ͋ΔύΠϓΛ׆͔ͨ͠ޮԽɺΦϓγϣϯͷදݱྗ͕ݴޠ্ͷಛੑͱͯ͠ڧྗ͗͢ΔΛى͍͜͢͠
ΈΜͳ͕4IFMMʹରͯ͠ߴεΩϧͰ͋Εʁࡢࠓͷ8ۀքͰඞཁʹͳΔεΩϧηοτͷ͏ͪ4IFMMʹରͯ͠εΩϧΛࢿ͢Δ͜ͱඞͣ͠߹ཧతͱݴ͑ͳ͍
ͦΜͳձࣾ͋ΔΜͰ͔͢ʁ
641ݚڀॴϢχέʔδ։ൃख๏IUUQTXXXVTQMBCDPNNFUIPEPMPHZIUNM
w3%#Λར༻ͤͣɺςΩετϑΝΠϧʹΑͬͯσʔλΛཧwϓϩάϥϜͷ࠶ར༻ιʔείϐʔˠมߋӨڹΛݶఆw୯ػೳԽ͠ιʔεΛখ͘͢͞Δ͜ͱͰ͍ࣺͯΔ641ݚڀॴ4IFMMʹಛԽͨ͠։ൃख๏
ൃੜσʔλغͯͳ͍ɻશͯஷΊ͓ͯ͘ޮΑΓҠ২ੑ͞·͟·ͳٕज़Λࠞࡏͤ͞ͳ͍ॊೈʹมԽͰ͖Δ͜ͱ͕େࣄϢχέʔδ։ൃख๏
4IFMMͰۀγεςϜ8FCγεςϜ࡞ΕΔ༏Ε࣮ͨΛग़͍ͯ͠Δख๏ɾاۀଘࡏ͢Δ͕ଟ͘ͷٕज़ελοΫΛ๊͑Δ8FCαʔϏεఏڙاۀͰ͜ͷઓུ؆୯ʹ฿Ͱ͖ͳ͍
༨ஊऴΘΓ
࣌ؒͷܦաͱϨόϨοδण໋͕͘ͳΕͳΔ΄Ͳɺࢿճऩ͞ΕΔ͠ෛ࠴ੵΈॏͳΔ4IFMM࠷େͷϝϦοτ։ൃ࣌ͷޮԽͰ͋Γӡ༻͕͘ͳΕͳΔ΄ͲՄಡੑ͕ॏ͘ͷ͔͔͠Δ
ϥΠϑαΠΫϧͷ݁4IFMMʹΑΔ։ൃޮԽૉΒ͍͠ӡ༻ɾอक໘ʹ͓͍ͯෳਓ͕ؔΘΔ߹ɺֶशίετͷ૯͕ߴ͘ͳΔͨΊӡ༻อक͕ඞཁͳ͍ہ໘Ͱར༻͖͢ӡ༻ʹͷͬͯ͠·͏ͱɺΛͬͯͦͷίετੵΈॏͳΓେ͖ͳෛ࠴ͱͳΔɻҰํͰϢχέʔδ։ൃख๏ͷΑ͏ʹ4IFMMʹରͯ͠ಛԽͨ͠։ൃख๏ɺΞϓϩʔνΛऔΔ߹ɺͦΕΒͷΛΫϦΞग़དྷΔ͕ଟ͘ͷؔ࿈ٕज़ɺϛυϧΣΞ͕͋Δ8FCۀքʹ͓͍ͯͦͷઓུऔΓͮΒ͍ɻ
ݴޠಛੑ͔Βͷߟ
4IFMMͷಘҙͳͱ͜Ζw ύΠϓΛར༻ͨ͠ڧྗͳΈ߹Θͤػߏw ඪ४ೖྗૢ࡞HSFQFFYBNQMFGPPUYUcaBXL' \QSJOU^'JMFSFBEMJOFT GPPUYUHSFQ ?FYBNQMFFBDIEPcOcQVUTOTQMJU <>FOE4IFMM 3VCZ
4IFMMͷۤखͳͱ͜Ζw ςετ࣮w มԽʹڧ͍࣮w ࠶ར༻ੑͷߴ͍࣮
IUUQTDMPVEQBDLNFEJB
ςετ࣮w TI6OJUͳͲςετϑϨʔϜϫʔΫଘࡏw .PDL4UVCΓͮΒ͍GVODUJPO@DVSM \JG<[*4@5&45>UIFODVSM!FMTFDBUUNQKTPOp^@DVSMIUUQTFYBNQMFDPNςετΛॻͨ͘Ίͷ࣮͕ඞཁʹͳΓ͕ͪ
มԽʹڧ͍࣮HSFQTUOTBDDFTTMPHcBXL\QSJOU ^cTPSULcVOJRมԽʹڧ͍JTಛఆͷมߋ͕ଞʹӨڹΛٴ΅ͮ͠Β͍HSFQTUOTBDDFTTMPHcBXL\QSJOU ^cTPSULcVOJRऔಘΧϥϜͷ૿Ճʹ͍ɺՕॴͷมߋ͕ඞཁʹͳΔTPSUͷΧϥϜͷมߋ͕࿙ΕΔͱόάͱͳΔ
࠶ར༻ੑͷߴ͍࣮w $MBTTɾ/BNF4QBDFͳͲͱ͍͏ͷͳ͍w HFNQJQͷΑ͏ͳύοέʔδཧπʔϧͳ͍TVCDPNNBOETIJGUDBTFTVCDPNNBOEJOGPPFDIPGPPFDIPEFGBVMUFTBDΦϓγϣϯͷύʔεͱ͔ଟݴޠͳΒύοέʔδͰָͰ͖Δͱ͜Ζ͕͓ख
༨ஊ4IFMM҉తHSFQFFYBNQMFGPPUYUcaBXL' \QSJOU^'JMFSFBEMJOFT GPPUYUHSFQ ?FYBNQMFFBDIEPcOcQVUTOTQMJU <>FOE4IFMM 3VCZϑΝΠϧΛ։͘ͱ͍͏͜ͱҰͭʹͯ͠ɺͱͯ҉త
ݴޠಛੑͷ݁ςετ࣮ͷͮ͠Β͞ɺ·ͨݴޠจԽతʹ͋·Γςετ͕ॻ͔Εͳ͍͜ͱɺ࠶ར༻ੑͷ͞ɺදݱྗͷ͔͞ΒΓظతͳӡ༻ʹ͔ͳ͍ݴޠͰ͋Δͱݴ͑Δ͕ɺҰํͰظతɺ·ͨมԽ͕গͳ͍ہ໘Ͱ͋Εߴޮͳ։ൃ͕ՄೳͰ͋Δɻ
มԽ͕গͳ͍ہ໘w4MBDL௨ͳͲͷD63-࣮ߦ͢Δ͚ͩ8SBQQFSwσʔλϕʔεόοΫΞοϓεΫϦϓτwࢹܥεΫϦϓτ
Ͱɺɺ࠷ۙ΄ͱΜͲ4IFMMॻ͔ͳ͍ΜͰ͢ΑͶʜ
ੲΈΜͳ4IFMMॻ͍ͯͨ͡ΌΜʁ
ͳͥਓྨ4IFMMΛॻ͔ͳ͘ͳͬͨͷ͔w*OGSBTUSVDUVSFBT$PEFwࣗಈԽͷߴԽwλΠϜεύϯ
*OGSBTUSVDUVSFBT$PEFͱɺΠϯϑϥͷߏΛཧͨ͠ΓɺϓϩϏδϣχϯάΛࣗಈԽ͢ΔͨΊʹϋΠϨϕϧɺ͘͠એݴతͳݴޠͰίʔυΛॻ͘͜ͱͰ͋Δɻ͜Ε୯ʹεΫϦϓτΛॻ͘ͷͰͳ͘ɺιϑτΣΞ։ൃͰ࣮ূ͞Ε͍ͯΔϓϥΫςΟεΛ͏ɻྫ͑ɺόʔδϣϯཧɺςετɺখ͞ͳσϓϩΠϝϯτɺσβΠϯύλʔϯͷ༻ͳͲͩɻ5IPVHIUXPSLT
*OGSBTUSVDUVSFBT$PEFw͜Ε·Ͱ4IFMMΛॻ͍͍ͯͨϓϨΠϠʔୡ͕ --(PMBOHΛॻ͖࢝ΊͨwιϑτΣΞͷϓϥΫςΟεͰ͋Δɺܧଓత ΠϯςάϨʔγϣϯͱ4IFMMͷ૬ੑͷѱ͞
ࣗಈԽͷߴԽw--(PMBOHͰ؆୯ʹϓϩηε͕࡞ΕΔ࣌PMEKPCTIOPXTFSWJDFKPCTUBSUศརεΫϦϓτࣗಈԽͰͳ͍
λΠϜεύϯอकπʔϧͷ։ൃ࣌ʹҰݟɺߴޮʹࢥ͑Δ4IFMM͕ͩɺӡ༻ʹͷͬͯ͠·͏ͱɺՄಡੑɺ҉ੑͷίετΛ͍ଓ͚Δ͜ͱʹͳΔɻαʔϏεͷӡ༻͕ظԽ͢Ε͢Δ΄Ͳɺ4IFMM͕બΕͳ͘ͳΔɻ
࣌ͱਓͷมԽ
࣌ͱਓͷมԽ*OGSBTUSVDUVSFBT$PEFͳͲͷීٴ͕͋ͬͨͱͯ͠ɺ͜Ε·Ͱ4IFMMΛॻ͍͖ͯͨΤϯδχΞ͕͋Δ࣌ɺ--(PMBOHΛॻ͚ΔΑ͏ʹͳΔΘ͚Ͱͳ͍ɻ৫্ͷ՝͕ੜ·ΕΔ
ϖύϘͷࣄྫwਓྨࣗͷಘҙͳݴޠΛબΜͰ͠·͏wաڈͷΓํΛม͑Δʹେ͖ͳมԽ͕ඞཁʹͳΓɺݸʑਓͷ͔ͳΓͷྗ͕ඞਢઈࢍ՝ܧଓத
ϖύϘͷࣄྫڭҭ Έ՝ղܾʹ͚ͨऔΓΈwޒेϝιουwಡॻձwݴޠԽwਓࣄධՁΈࠐΈ
ͬͯΈͤɺݴͬͯฉ͔ͤͯɺͤͯ͞Έͤɺ΄ΊͯΒͶɺਓಈ͔͡ࢁຊޒे
ਓࣄධՁΈࠐΈIUUQTUFDIQFQBCPDPNFOHJOFFSBTTFTTNFOU
ϖύϘͷධՁ੍ΞΫγϣϯධՁwۀධՁwظटʹఆΊͨۀඪʹର͢ΔධՁwݸਓͷ༗ػతʹର͢ΔධՁwٕज़ྗධՁwڃ͝ͱʹج४͕͋ΓɺઈରධՁάϨʔυධՁ
ݸʑਓͷݴޠֶशධՁ੍Ͱ໌ࣔతʹධՁ͢Δwϓϩάϥϛϯάݴޠͷֶशݸਓʹ͔ͳΓͷ࣌ؒ࿑ྗΛཁٻ͢ΔwϖύϘݸਓͷֶशʹΑͬͯੜ·ΕͨՌΛධՁ͍ͯ͠Δ
QZBNBͷ্ظͷඪ
ࣄྫৄࡉ
ैདྷͷϨϯλϧαʔόෛՙରԠαΠτʹେྔΞΫηεαʔόͷෛՙ͕ߴ͘ͳΔಉ͡αʔόಉډऀͷαΠτ ͘ͳΔਆ͕͔ͬͨ4IFMMͰෛՙͷߴ͍ݪҼΛׂΓग़͠ಉ࣌ଓ੍ݶΛ͢Δ
ਆ͕͔ͬͨ4IFMMUBJMWBSMPHIUUQEBDDFTT@MPHcaBXL\D<>B^&/%a\GPS YJOD\QSJOUG E GTaO D DB Y^^caTPSUSOcIFBEਆۀͰ͋Δ
ରࣜͷ4IFMMͰ੍ݶVTSMPDBMCJOPQF@TFU@NBYDMJFOUTରͷૢ࡞Λೖྗ͍ͯͩ͘͠͞࡞͢Δআ͢ΔཤྺөͷΈ<cccDcEcO>DରͷΞΧϯτΛೖྗ͍ͯͩ͘͠͞ʢྫɿMPMJQPQKQIPHFIPHFʣFYBNQMFDPNରͷ7)045Λೖྗ͍ͯͩ͘͠͞FYBNQMFDPNಉ࣌ଓΛೖྗ͍ͯͩ͘͠͞<σϑΥϧτ>
ޮԽͷݶք
ϩʔυΞϕϨʔδΛࢹۙͷϩά͔Β߹ܭॲཧ࣌ؒͷ͍WIPTUɾΞΧϯτΛׂΓग़͢ಉ࣌ଓ੍ݶෛՙͷԼʹͯࣗಈղআHPMBOHͷύοέʔδΛར༻ͯ͠औಘUBJM࣮Λॻ͍ͯ044ԽIUUQTHJUIVCDPNQZBNBQUBJMNPE@NSVCZΛར༻͠ɺಉ࣌ଓ੍ݶʹՃ͑ɺDHSPVQͰར༻Ͱ͖ΔϦιʔεΛ੍ޚ"1*Λ࣮͠ɺ͓٬༷ʹ௨ࣗಈԽ͞ΕΔͨΊɺ͠Ε͕ͳ͍
ղܾͰ͖ͨ՝w(PMBOHͰςετͷΈݴޠαϙʔτ͕͋ΓɺՄಡੑͷߴ͍ঢ়ଶͰӡ༻ʹΈࠐΊͨw$*$%Λඋ͢Δ͜ͱͰɺ͜Ε·Ͱଐਓతͳར༻ํ๏ɺӡ༻อकͰ͋ͬͨ͜ͱ͕νʔϜ୯ҐͰߦ͑ΔΑ͏ʹͳͬͨ
ͳͥ(PMBOHʁwγεςϜϓϩάϥϛϯάʹඞཁͳ"1*͕Ұ௨Γἧ͍ͬͯΔwՄൖੑ͕ߴ͘ɺαʔόʹஔ͍͢͠wৗͷۀվળ͔ΒϛυϧΣΞ։ൃ·ͰҰ؏ͯ͠ಉ͡ݴޠͰੜ࢈ੑߴ࣮͘Ͱ͖Δ
4IFMMʹ͚ͯw4IFMMͷಘҙͳͱ͜Ζੵۃతʹར༻͢Δwͪΐͬͱͨ͠ௐࠪͱ͔ɺઌʹड़ͨมԽͷগͳ͍ہ໘wӡ༻ʹͷͬͯ͠·͏ͱɺෛ࠴ͷ࢝·ΓͱͳΔͨΊɺڧ͍ؾ࣋ͪͰॻ͖͍͑ͯ͘
ͦΕͰ4IFMMΛ͍͍ͨͱ͖4IFMMͷ՝ͱ͖߹͓͏
QBSTF@MPH \DBUcHSFQFFYBNQMFcBXL\QSJOU^^TVJUF \TVJUF@BEE5FTUUFTU@QBSTF^UFTU@QBSTF \SFTVMUQBSTF@MPHUFTUTUFTUUYUBTTFSU&RVBMTFYBNQMFDPNSFTVMU^ςετΛॻ͜͏wมߋͨ͠ͱ͖ʹɺ༷͕อશ͞Ε͘͢ͳΔwՄಡੑ͕ͯ͘ɺ*0͕ՄࢹԽ͞Εͯཧղ͘͢͠ͳΔ
*-PWF5FTUwมߋʹऑ͍ݴޠಛੑΛࢧ͑ͯ͘ΕΔ5FTUwՄಡੑͷ͞Λαϙʔτͯ͘͠ΕΔ5FTUw༷͕มΘΒͳ͍4IFMM͔ͩΒͦ͜ɺظͰ৴པͰ͖Δ5FTU
وํͱੈͷதͱͷઓ͍ͳΒɺੈͷதͷ΄͏ʹṌ͚ͳ͍͞ɻΧϑΧ
ࠓͷͨ͜ͱw 8FCαʔϏεӡ༻ʹ͓͍ͯ4IFMMΛར༻͖͢มԽ͕গͳ͍ͱ͜ΖɺϥΠϑαΠΫϧ͕͍ͱ͜Ζw ڧྗ͗͢Δ4IFMMՄಡੑ͕ॏ͘ͷ͔͔͠Γɺޙʹେ͖ͳෛ࠴ͱͳΔw ݴޠγϑτ৫తͳऔΓΈΛਐΊͳ͚ΕͳΒͳ͍w ͦΕͰ4IFMMΛॻ͘ͳΒɺςετॻ͜͏
w ιϑτΣΞͷߴ͍ޓੑͱ͍࣋ଓੑΛࢦ͢104*9த৺ओٛϓϩάϥϛϯάw 6OJWFSTBM4IFMM1SPHSBNNJOH 641͚γΣϧػೳͱ࣮ࢀߟจݙ
ँࣙ
w !NBUTVNPUPSZw 641ͷจͷհɺٕज़ྗͷࠩͰͳ͍ͱ͍͏ڌͱɺલఏΛ͖ͬΓ͢Δʹ͍ͭͯࢦఠΛΒͬͨɻw !UONUw ݴ༿ͷఆٛͷࢹɺௌऺʹΘΓͮΒ͍෦ͷࢦఠΛΒͬͨɻw !ITCUw શମͷετʔϦʔͷҰ؏ੑͱɺϒϨ͕͋Δ෦ͷࢦఠΛΒͬͨɻࣾͰϨϏϡʔͯ͘͠Εͨਓʑ
৽ଔɾத్ઈࢍ࠾༻த࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU
5IBOLZPV