DevLOVE X での発表資料 https://devlove.wixsite.com/devlovex
ʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔʯΛ୳ࡧ͠ଓ͚͖ͯͨͱ͜Ε͔ΒͷΪϧυϫʔΫεதଜɹ༸ !ZPIIBUVIUUQTVOTQMBTIDPNQIPUPT54HXCVNBOV&
View Slide
✔ࣗݾհΒ✔%FW-07&ͷײँ✔ʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯͷ͜Ε·Ͱͷཱྀ࿏✔ʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯͷ͜Ε͔Βͷཱྀ࿏࣍
ɾதଜɹ༸ Α͏ɾΪϧυϫʔΫεɾݱίʔνΞδϟΠϧίʔνɾೝఆεΫϥϜϚελʔɾ%FW-07&ؔɾ!ZPIIBUVIUUQBCPVUNFZPIIBUVࣗݾհ
ΪϧυϫʔΫε✔ԾઆݕূܕͷαʔϏεاը։ൃɺݱվળ͢ΔݱίʔνͳͲͰΫϥΠΞϯτͷࣄۀΛਪਐ͢Δ✔ϛογϣϯʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔʯɺՁʮӽڥʯ✔શࠃ֤ͷΤϯδχΞɺσβΠφʔͱΈɺద࣌దνʔϜΛ࣮ݱ͍ͯ͠Δ
IUUQTVOTQMBTIDPNQIPUPT9OW0K#"&2όοΫάϥϯυ
ɿ࣍ड͚ͷ։ൃձࣾɿ ݣతͳ։ൃձࣾɿׂͱݎௐͳ։ൃձࣾɿ ݩւ؛Ԋ͍ͷ4*FSɿࠃ࢈ϒϥβΛ࡞͍ͬͯΔձࣾɿϑϦʔϥϯεɿΪϧυϫʔΫεˡΠϚίί͜Ε·ͰͷΩϟϦΞ
ɿϓϩάϥϚɿγεςϜΤϯδχΞ 4&ɿνʔϜϦʔμʔɿεΫϥϜϚελʔɿΞδϟΠϧίʔνɿݱίʔνˡΠϚίίݞॻ͖తͳͷ
IUUQTWJTVBMIVOUDPNGQIPUPGݱίʔνͱʁ
ϛογϣϯʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔʯݱΛ૿͢
ؔΘͬͨݱࣾIUUQTWJTVBMIVOUDPNQIPUP
IUUQTWJTVBMIVOUDPNQIPUPؔΘͬͨνʔϜνʔϜ
IUUQTHVJMEXPSLTKQXPSLT
͍Ζ͍Ζͳίʔνͷಓ۩มԽ͢Δ͜ͱͷน Γํͷนׂͷนࣄۀ߹॓ࣄۀঢ়گͷੳҼՌؔਤ՝Λখ͘͞ࡅ͘ԾઆΩϟϯόεΠϯηϓγϣϯσοΩظΛ͢Γ߹ΘͤΔ͓ޓ͍ͷࣄΛ؍ΔࣗୡͷΧλΛൺֱ͢ΔνʔϜͰͷ׆ಈΧϯόϯ͓൸࿐ձऔදϝτϦΫεIUUQTTQFBLFSEFDLDPNZPIIBUVBTJZBJSVLBSVUJZBLB[V[IJOJHFOGVLVNBUFGBMTFUJBP[IBO TMJEF
ΞδϟΠϧίʔνɻࣾͱࣾ֎ͷҧ͍ͬͯʁ݄ץΪϧυϫʔΫε݄IUUQTHVJMEXPSLTEPPSLFFQFSKQFWFOUT
IUUQTVOTQMBTIDPNQIPUPT"PRH("RS-Q6%FW-07&ͷײँ
✔%FW-07&͕ͳ͚Εࠓͷࣗͳ͍✔͖ͬͱ%FW-07&ؔͳ͔ͬͨ✔͖ͬͱΪϧυϫʔΫεͬͯͳ͔ͬͨ✔͖ͬͱݱίʔνͬͯͳ͔ͬͨ%FW-07&ͷײँ
IUUQTVOTQMBTIDPNQIPUPT"PRH("RS-Q6%FW-07&ؔͷ͜ͱ
✔݄͕࠷ॳ✔ʮؔͰ%FW-07&ͳͲͷษڧձΠϕϯτ͕ແ͍ʯˠʮ͕ແ͍ͳΒ࡞Δ·Ͱʯ͕ൃ%FW-07&ؔ
✔։࠵ճɿճ✔ίϛϡχςΟࢀՃਓɿਓ✔ͷࢀՃऀɿ͍͍ͩͨਓ✔ͷ͠खɿ͍͍ͩͨਓ%FW-07&ؔ
✔ൃද͢ΔͱࣝͷཧʹͳΓɺϑΟʔυόοΫΛಘΒΕΔ✔ձࣾҎ֎ͷ͕ݟ͔ͭΔ✔৭ʑͳਓͱͷͭͳ͕Γ͕Ͱ͖Δ%FW-07&ؔ
ʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯͷ͜Ε·Ͱͷཱྀ࿏IUUQTWJTVBMIVOUDPNGQIPUP
✔ਖ਼͠͞ઈରͰͳ͍͠ɺͦͷ࣌ʹมΘΔ✔ͦͷ࣌ɺͦͷঢ়گʹ͓͚Δ͋ΓํΛ୳ٻ͢Δ࢟✔ࠓࣗͷମݧΛʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯͱ͍͏؍Ͱݟͨͱ͖ͷߟʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯͱʁ
✔ཱྀ࿏ɿؒҧͬͨͷΛਖ਼ͭ͘͘͠Δ✔ཱྀ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δ✔ཱྀ࿏ɿؒҧͬͨͷΛؒҧͬͨํ๏Ͱͭ͘Δ✔ཱྀ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯͷཱྀ࿏
IUUQTVOTQMBTIDPNQIPUPT1'7C#)7R;Tཱྀ࿏ɿؒҧͬͨͷΛਖ਼ͭ͘͘͠Δ
✔ग़དྷࣄɿ͚ͭͬͨ͘ͲΘΕͳ͔ͬͨ✔ཧ༝ɿར༻ऀͷ͜ͱΛཧղ͍ͯ͠ͳ͔ͬͨ✔ֶͼɿͭ͘Δલʹར༻ऀͷ͜ͱΛཧղ͢Δ׆ಈΛ͢Δཱྀ࿏ɿؒҧͬͨͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPT1'7C#)7R;T
✔ར༻ऀͷ͜ͱΛཧղ͍ͯ͠ͳ͔ͬͨ✔ར༻ऀ͕ࣄΛ͍ͯ͠ΔॴɺڥΛݟͳ͔ͬͨ✔༷ॻͳͲσδλϧͳใ͚ͩΛΠϯϓοτʹͨ͠✔ར༻ऀͷঢ়گ͕Θ͔͍ͬͯΕผͷͷʹͨ͠ ͱࢥ͏ཱྀ࿏ɿؒҧͬͨͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPT*$M;#7X8"IUUQTVOTQMBTIDPNQIPUPT1'7C#)7R;T
✔ͭ͘Δલʹར༻ऀͷ͜ͱΛཧղ͢Δ׆ಈΛ͢Δ✔ͲΜͳಓ۩ΛͲͷΑ͏ʹɺͲΕ͘Β͍͍ͬͯΔ͔ʁ✔࡞ۀڥɺपғͷঢ়گͲͷΑ͏ͳͷ͔ʁ✔ߦಈ؍ɺϢʔβʔΠϯλϏϡʔɺ+PC5P#F%POFཱྀ࿏ɿؒҧͬͨͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPT1'7C#)7R;T
ཱྀ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPTWCYZ'YMHQK.
IUUQTVOTQMBTIDPNQIPUPTWCYZ'YMHQK.✔ग़དྷࣄɿϑΟʔυόοΫΛεςʔΫϗϧμʔ ܾࡋऀͱར༻ऀ͔ΒಘΔΑ͏ʹͨ͠✔ཧ༝ɿͦΕͧΕؔ৺ࣄ͕ҧ͍ͬͯͨ✔ֶͼɿෳͷؔऀͷؔ৺ࣄΛཧ͠ɺظϚωδϝϯτΛߦ͏ཱྀ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPTWCYZ'YMHQK.
✔ϑΟʔυόοΫΛεςʔΫϗϧμʔ ܾࡋऀͱར༻ऀ͔ΒಘΔΑ͏ʹͨ͠✔ຖिͷσϞͷʹܾࡋऀͱར༻ऀͷ྆ํΛট͍ͨ✔྆ऀͷϑΟʔυόοΫͰόοΫϩάΛ6QEBUF✔ཱʹΑͬͯؔ৺ࣄ͕ҧ͏ཱྀ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPTWCYZ'YMHQK.
✔ෳͷؔऀͷؔ৺ࣄΛཧ͠ɺظϚωδϝϯτΛߦ͏✔ཱɺจ຺৫ମ੍ͳͲͰؔ৺ࣄҧ͏✔͍ͣΕ͔ʹภΔͱ͏·͘ਐ·ͳ͘ͳΔ͜ͱ͋Δ✔ཱʹΑͬͯؔ৺ࣄ͕ҧ͏✔ؔ৺ࣄΛཧ͢Δ✔ΠϯηϓγϣϯσοΩ ۙ͝ॴ͞Μ✔εςʔΫϗϧμʔϚοϐϯάཱྀ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPTWCYZ'YMHQK.
ཱྀ࿏ɿؒҧͬͨͷΛؒҧͬͨํ๏Ͱͭ͘ΔIUUQTVOTQMBTIDPNQIPUPTTY2[7GP'#&
✔ग़དྷࣄɿͭͬͨ͘αʔϏε͕ΘΕͣɺνʔϜർฐ✔ཧ༝ɿෆ࣮֬ੑΛϚωδϝϯτͰ͖ͳ͔ͬͨ✔ֶͼɿখׂ͘͢͞Δ͜ͱͰɺૉૣ֬͘ೝ͠ͳ͕Βগͣͭ͠ਐΉཱྀ࿏ɿؒҧͬͨͷΛؒҧͬͨํ๏Ͱͭ͘ΔIUUQTVOTQMBTIDPNQIPUPTTY2[7GP'#&
✔ͭͬͨ͘αʔϏε͕ΘΕͣɺνʔϜർฐ✔୭ͷ՝Λղܾ͢ΔͨΊͷͷ͔ʁ✔͜Ε͔Βͭ͘ΔͷͰͦͷ՝ղܾͰ͖ͦ͏͔ʁ✔ͳͥͦͷ࣌ظʹϦϦʔε͢Δͷ͔ʁ✔େࣄʹ͢Δ͜ͱͳʹ͔ʁཱྀ࿏ɿؒҧͬͨͷΛؒҧͬͨํ๏Ͱͭ͘ΔIUUQTVOTQMBTIDPNQIPUPTTY2[7GP'#&
✔খׂ͘͢͞Δ͜ͱͰɺૉૣ֬͘ೝ͠ͳ͕Βগͣͭ͠ਐΉ✔ԾઆݕূΛখ͘͢͞Δ ՝ɺιϦϡʔγϣϯ✔ͭ͘Δͷখ͘͞গͣͭ͠ੵΈ্͍͛ͯ͘✔8IZݟࣦΘͳ͍Α͏ʹ͢Δ✔ԾઆΩϟϯόεɺݕূΩϟϯόεΠϯηϓγϣϯσοΩཱྀ࿏ɿؒҧͬͨͷΛؒҧͬͨํ๏Ͱͭ͘ΔIUUQTVOTQMBTIDPNQIPUPTTY2[7GP'#&
ཱྀ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPTI3XSWW;)L
✔ग़དྷࣄɿݱͱҰॹʹ՝ղܾͰ͖Δ͔ݕূͨ͠✔ཧ༝ɿʮ͍ͬͯͩ͘͞ʯ͚ͩͰਐ·ͳ͔ͬͨ✔ֶͼɿυοάϑΟʔσΟϯάͱར༻ऀͷ0VUDPNFʹϑΥʔΧεͨ͠׆ಈཱྀ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPTI3XSWW;)L
✔ݱͱҰॹʹ՝ղܾͰ͖Δ͔ݕূͨ͠✔ఏڙͯ͠ऴΘΓͰͳ͘՝ղܾ͍ͯ͠Δ͔ʁ·ͰΛతʹͨ͠ ΠϯηϓγϣϯσοΩʹॻ͍ͨ✔νʔϜϝϯόʔͦΕͧΕ͕ར༻ऀͱҰॹʹͳͬͯਐΊཱྀͨ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPTI3XSWW;)L
✔υοάϑΟʔσΟϯάͱར༻ऀͷ0VUDPNFʹϑΥʔΧεͨ͠׆ಈ✔ར༻ऀͱͯͬͯ͠ΈΔ͜ͱͰ ࡞Γखͱҧ͏͕࢟ݟ͑ͯ͘Δ✔0VUDPNF0VUQVU ޙड़ཱྀ࿏ɿਖ਼͍͠ͷΛਖ਼ͭ͘͘͠ΔIUUQTVOTQMBTIDPNQIPUPTI3XSWW;)L
IUUQTVOTQMBTIDPNQIPUPTV(1@$"%ʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯͷ͜Ε͔Βͷཱྀ࿏IUUQTVOTQMBTIDPNQIPUPT3J3F$;RF"T
✔0VUQVUͰͳ͘0VUDPNFʹண͢Δ✔ͬͱϢʔβʔͷ͜ͱΛΓɺΘ͔ͬͨ͜ͱΛड͚ೖΕΔ✔͋Γ͍ͨ࢟Λ୳͠ଓ͚Δʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯͷ͜Ε͔Βͷཱྀ࿏
IUUQTVOTQMBTIDPNQIPUPTV(1@$"%0VUQVUͰͳ͘0VUDPNFʹண͢Δ
✔γεςϜ։ൃͷ߹ʜ✔0VUQVUʹ࡞ͬͨػೳ✔0VUDPNFʹར༻ऀ͕Ͳ͏มΘ͔ͬͨʁ՝͕ղܾ͔ͨ͠ʁͤʹͳ͔ͬͨʁ✔0VUDPNF0VUQVU0VUQVUͰͳ͘0VUDPNFʹண͢ΔIUUQTVOTQMBTIDPNQIPUPTV(1@$"%
✔Կ࣌ؒಇ͍͔ͨʁ͍ͭ͘ͷػೳΛग़͔ͨ͠ʁΑΓར༻ऀ͕Ͳ͏ͤʹͳ͔ͬͨʁʹϑΥʔΧε͢Δ✔0VUDPNFʹண͢ΔͱʮίʔυΛॻ͘ʯ͜ͱखஈͷͭʹա͗ͳ͍0VUQVUͰͳ͘0VUDPNFʹண͢ΔIUUQTVOTQMBTIDPNQIPUPTV(1@$"%
✔Ϗδωεͷ0VUDPNFͱར༻ऀͷ0VUDPNFͷόϥϯε✔ച্Ϣʔβʔɺར༻ऀͷߦಈม༰✔྆ํΛϞχλϦϯά͢Δඞཁ͕͋Δ0VUQVUͰͳ͘0VUDPNFʹண͢ΔIUUQTVOTQMBTIDPNQIPUPTV(1@$"%
IUUQTVOTQMBTIDPNQIPUPTBXG51-(B$&ͬͱϢʔβʔͷ͜ͱΛΓɺΘ͔ͬͨ͜ͱΛड͚ೖΕΔ
✔ΤεϊάϥϑΟɺϢʔβʔΠϯλϏϡʔɺϢʔβʔςετʜར༻ऀͷ͜ͱΛΔΓํ͍͘ΒͰ͋Δ✔ΤϯδχΞҰॹʹνʔϜͰΈΜͳͰߦ͏✔ݴޠԽ͕͍͠χϡΞϯεΛڞ௨ೝࣝͱͯ͠νʔϜ͕࣋ͭ͜ͱͰϓϩμΫτ͕ຏ͔ΕΔͬͱϢʔβʔͷ͜ͱΛΓɺΘ͔ͬͨ͜ͱΛड͚ೖΕΔIUUQTVOTQMBTIDPNQIPUPTBXG51-(B$&
✔ϞϒϓϩάϥϛϯάͷΑ͏ʹΈΜͳͰϢʔβʔͷ͜ͱΛΔϞϒϫʔΫΛߦ͏✔ͦͷͨΊʹඞཁͳ࣌ؒΛͱΔ✔ίʔυΛॻ͍͍ͯΔ͚࣌ؒͩɺ0VUQVU͚ͩΛධՁͷରʹ͠ͳ͍ͬͱϢʔβʔͷ͜ͱΛΓɺΘ͔ͬͨ͜ͱΛड͚ೖΕΔIUUQTVOTQMBTIDPNQIPUPTBXG51-(B$&
✔ͬͨ͜ͱΛड͚ೖΕΔ༐ؾ✔Ծઆʹݻࣥ͠ͳ͍✔Ұํࣗୡͷҙࢥେࣄ✔Θ͔ͬͨ͜ͱͱ͖߹ֶ͍ͼΛੵΈ্͍͛ͯͬ͘ͱϢʔβʔͷ͜ͱΛΓɺΘ͔ͬͨ͜ͱΛड͚ೖΕΔIUUQTVOTQMBTIDPNQIPUPTBXG51-(B$&
IUUQTVOTQMBTIDPNQIPUPT@4U8#0D;6͋Γ͍ͨ࢟Λ୳͠ଓ͚Δ
✔ʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯ།Ұͷํ๏ͳͲͳ͍✔୳͠ଓ͚Δ͜ͱ✔ϓϥΫςΟεΛͳͧΔ͜ͱͰͳ͍͋Γ͍ͨ࢟Λ୳͠ଓ͚ΔIUUQTVOTQMBTIDPNQIPUPTBXG51-(B$&IUUQTVOTQMBTIDPNQIPUPT@4U8#0D;6
IUUQTVOTQMBTIDPNQIPUPTZGF@*86ʮਖ਼͍͠ͷΛਖ਼ͭ͘͘͠Δʯཱྀ࿏ΛาΈଓ͚Δ