「開発支援という仕事」 Battle Conference U30 登壇資料 https://battleconference-u30.connpass.com/event/49985/
։ൃࢧԉͱ͍͏ࣄ!OBPLJBJOPZB3FDSVJU.BSLFUJOH1BSUOFSTDP MUE
View Slide
w BJOPZBw dNJYJw dOPXSFDSVJUw ΠϯϑϥͱΞϓϦ։ൃ͕ ŧŔŕŪũƄŝſΤϯδχΞBJOPZBJP
γϯϓϧͳϏϧυύΠϓϥΠϯπʔϧXBMUFSΛϦϦʔε͠·ͨ͠c"EWBODFE5FDIOPMPHZ-BCIUUQBUMSFDSVJUUFDIDPKQCMPH8BMUFSWCFUBΛϦϦʔε͠·ͨ͠c"EWBODFE5FDIOPMPHZ-BCIUUQBUMSFDSVJUUFDIDPKQCMPH
)PXUPQMBZ4DBMBPOEPDLFSJ[FEJOGSBTUSVDUVSF4QFBLFS%FDLIUUQTTQFBLFSEFDLDPNBJOPZBIPXUPQMBZTDBMBPOEPDLFSJ[FEJOGSBTUSVDUVSF
IUUQTFJHPTBQVSJKQ
ΪϦΪϦ6OEFS͋ͱ̑ϲ݄Ͱ͍̏͞Ͱ͕͕͢ΜΓ·͢
ࠓ͍ͬͯΔ͜ͱ
l։ൃࢧԉz
4JUF3FMJBCJMJUZ&OHJOFFSJOH%FWFMPQFS1SPEVDUJWJUZ&OHJOFFSJOHηΩϡϦςΟରԠΤϯδχΞ࠾༻ɾਓࣄɾ৫׆ੑࣾ*5FUDʜ
ࢧԉରฐࣾ։ൃ৫ͷෳϓϩμΫτ܈
l։ൃΛՃͤ͞ΔͨΊͷ։ൃzͳΒͳΜͰΔ
ͳͥΔͷ͔ʁ
ΤϯδχΞʹσΟʔϓɾϫʔΫͯ͠Β͏ͨΊ
େࣄͳ͜ͱʹूத͢ΔϢʔβʹՁΛಧ͚Δ͜ͱͨͩҰʹूதͰ͖ΔڥͷͨΊʹ
ϢʔβʹՁΛಧ͚ΔͨΊʹຊ࣭తͰͳ͍ɺෆཁͳίετɾ࣌ؒɾ࣌ؒΛΔγϟϩʔϫʔΫΛۃখԽ͢Δͷ͕త
ྫ͑
ϋΠύϫʔ$*ϚγϯಋೖͰϏϧυ࣌ؒॖ
Ϗϧυ࣌ؒͷॖ4DBMBϓϩδΣΫτͷίϯύΠϧʴςετʴEPDLFSJNBHFੜ࣌ؒΛʹ
Ϗϧυ࣌ؒͷॖʹ࣌ؒۚͰങ͑Δʢ͔͔ͨͩ̎̌ສͰ
ͱ͍͑ɺ͓ۚͷແବݣ͍
ྫ͑ɺ2"
Ͱςελʔ͞ΜΛूΊͯ࿑ಇूతʹςετ
େྔͷςετ߲Λख࡞ۀͰ࣮ࢪϦϦʔε·ͰӋ٧·͍ͬͯΔͱ͋Γ͕ͪ
ఆٛʹैͬͯػցతʹ͜ͳͤΔͷࣗಈԽ͢Δ͖
ςελʔ͞ΜʹਓؒͰͳ͍ͱൃݟ͕͍͠όάΛ୳͢͜ͱʹूதͯ͠΄͍͠
εϚϗΞϓϦͷςετࣗಈԽج൫ͷಋೖ
0QFO45'ͷಋೖݕূͷςετϑΝʔϜߏஙαΠόʔ͞Μ͓ੈʹͳͬͯ·͢
0QFO45'ͷಋೖϦϞʔτϫʔΫ࣌ݕূར༻͕༰қʹ
"QQJVNʹΑΔ࣮ػFFςετݕূɾಋೖ0QFO45'4BVDFMBCTΛςετϑΝʔϜͱͯࣗ͠ಈԽج൫Λߏங<3.1Y2VJQQFSNFFUVQ>։ൃͷͨΊͷ։ൃdεϚϗΞϓϦ͚FFςετͷݕূಋೖࣄྫΛ௨ͯ͡d4QFBLFS%FDLIUUQTTQFBLFSEFDLDPNBJOPZBSNQYRVJQQFSNFFUVQOVNCFSLBJGBGBMTFUBNFGBMTFLBJGBTVNBIPBQVSJYJBOHLFFFUFTVUPGBMTFKJBO[IFOHEBPSVTIJMJXPUPOH[JUF
"QQJVNʹΑΔ࣮ػFFςετςετ࣮ߦͷΈΛ͑ͨ<3.1Y2VJQQFSNFFUVQ>։ൃͷͨΊͷ։ൃdεϚϗΞϓϦ͚FFςετͷݕূಋೖࣄྫΛ௨ͯ͡d4QFBLFS%FDLIUUQTTQFBLFSEFDLDPNBJOPZBSNQYRVJQQFSNFFUVQOVNCFSLBJGBGBMTFUBNFGBMTFLBJGBTVNBIPBQVSJYJBOHLFFFUFTVUPGBMTFKJBO[IFOHEBPSVTIJMJXPUPOH[JUF
"QQJVNʹΑΔ࣮ػFFςετ$IBMMFOHJOHͳऔΓΈPerceptual diffsʹΑΔσάϨͷݕग़ڧԽ https://github.com/uber/image-diff<3.1Y2VJQQFSNFFUVQ>։ൃͷͨΊͷ։ൃdεϚϗΞϓϦ͚FFςετͷݕূಋೖࣄྫΛ௨ͯ͡d4QFBLFS%FDLIUUQTTQFBLFSEFDLDPNBJOPZBSNQYRVJQQFSNFFUVQOVNCFSLBJGBGBMTFUBNFGBMTFLBJGBTVNBIPBQVSJYJBOHLFFFUFTVUPGBMTFKJBO[IFOHEBPSVTIJMJXPUPOH[JUF
ࣗಈԽʹΑΔݮ͚ͩͰͳ͘ʜ
2"σΟϨΫγϣϯͷෛՙݮσΟϨΫλʔͷγϟϩʔϫʔΫݮ
σΟϨΫλʔҎ֎ʹʜΤϯδχΞ୲֎ͷࣄγϟϩʔϫʔΫͩΒ͚
ྫ͑ϚʔέςΟϯά୲σʔλूܭۀ
ڪΔ͖ਓྗεΫϨΠϐϯάച্ूܭγεςϜσʔλग़ྗ"1*σʔλμϯϓػೳ͕ͳ͔ͬͨػೳՃͷॲͨͨͳ͍ˣଞࣾཧԼͷച্ूܭը໘Λ̍ϖʔδͣͭΊͬͯ͘&YDFMʹసࣸʜ
4DSBQZʹΑΔ͓खܰεΫϨΠϐϯάਓखͰ࣮ݱෆՄೳͩͬͨසͰͷച্ܭଌ͕Ͱ͖ΔΑ͏ʹ
4DSBQZʹΑΔ͓खܰεΫϨΠϐϯά4DSBQZΫϩʔϥ͚ϑϨʔϜϫʔΫेߦॻ͚ͦͦ͜͜ಈ͘ Ϋϩʔϥ͕ͭ͘ΕΔ ͓͢͢Ίhttp://asheesh.org/pub/scrapy-talk/#1
ϧʔνϯϫʔΫଞʹ·ͩ·ͩͨ͘͞Μ͋Δ
ձٞࣨ༧
શࣾඪ४ͷձٞࣨ༧γεςϜ͋ΒΏΔ*5Ϧςϥγɾۀܗଶͷશࣾһ ສਓن͕͑͘͠Δ͘࡞ΒΕͨݹͷγεςϜ
ՄೳͳݶΓ͍͘͢ม͑Δ͜ͱ͕͍͠ͷΛ͕ࣗͨͪม͑ΒΕΔൣғͰม͍͑ͯ͘ձٞࣨ༧ΞϓϦΛձٞࣨલʹઃஔ4MBDLJOUFHSBUJPO
ଞʹ͍Ζ͍ΖίπίπࣗಈԽ
w ϝʔϧͰ͔͠ల։͞Εͳ͍ใڞ༗ɻΤϯδχΞऔΓ͜΅͢ 4MBDLʹྲྀ͢Έ࣮ .JDSPTPGUqPXΛར༻w QSJWBUFͳTMBDLDIBOOFMͷQVCMJDԽ DIBOOFMͷΞʔΧΠϒɾϦωʔϜͱ৽ن࡞Λ ߦ͏CPU࣮w ۀπʔϧ܈ͷΞΧϯτਃɾཧ (PPHMF'PSN4MBDLͰDIBUPQTͳ͍ग़͠
γϟϩʔϫʔΫΤϯδχΞ͔Βݟ͑ͳ͍ͱ͜Ζʹࢁ΄Ͳ͋Δ
ίετͱ࣌ؒͪΓͭࣜʹ૿͑ͯϦϦʔεΛͤ͘͞Δ
–Tom DeMarco, দݪ ༑༁ ʮϐʔϓϧΣΞʯlձࣾͷϧʔνϯϫʔΫɺबۀ࣌ؒʹݟ߹͏ͱ͜Ζ·Ͱு͢Δ͕͋Δz
ΤϯδχΞྲྀͷղܾ๏ͰγϟϩʔϫʔΫΛ௵͍͖ͯ͠·͠ΐ͏
(4ͷهࣄIUUQTXXXUFDIOPMPHZSFWJFXKQTBTHPMENBOFNCSBDFTBVUPNBUJPOFWFOUIFNBTUFSTPGUIFVOJWFSTFBSFUISFBUFOFE
–Joel Spolsky ੨ ༃༁ ʮMore Joel on Softwareʯl͝Έ͋Δͱ͜Ζʹۚ͋Δz
–Eric Sink, ੨ ༃༁ ʮֵ৽తιϑτΣΞاۀͷ࡞ΓํʯlιϑτΣΞ։ൃऀձࣾͷதͰ͕ࣗ࠷ॏཁͳਓؒͩͱࢥ͍ࠐΉ͕͋Δɻ͍͋ʹ͘ͱ͜ͷଚେ͞ʹ͍ͬΜͷਅ࣮͕͋Γɺ։ൃऀ͕ଞͷਓͨͪͱ͏·͘ંΓ߹͏ͷΛ͍ͯ͘͠͠ΔɻͦΕͰࢲͷओுมΘΒͳ͍ɻ։ൃऀͷεΩϧίʔσΟϯάҎ֎ͷ͞·͟·ͳλεΫʹద༻ՄೳͳͷͩɻɾΧελϚαʔϏε୲ͱͯ͠ɺͷΈΛཧղ͍ͯ͠Δ։ൃऀΛΑΓૣ͘ݟ͚ͭΔ͜ͱ͕Ͱ͖ΔɾηʔϧεΨΠͱͯ͠ɺͷΈΛཧղ͍ͯ͠Δ։ൃऀͦΕͰԿ͕Ͱ͖Δͷ͔ͱ͍͏࣭ʹ༰қʹ͑Δ͜ͱ͕Ͱ͖ΔɻɾϚʔέςΟϯά୲ͱͯ͠ɺ։ൃऀϚʔέοτઓུʹӨڹ͢Δٕज़తͳબ͕͔͔ΘΔܾஅʹཱͭ͜ͱ͕Ͱ͖Δɻاۀ։ൃऀ͕ιϑτΣΞߏஙҎ֎ͷ׆ಈʹ͔͔ΘΔ͜ͱΛڪΕΔ͖Ͱͳ͍ɻz