2016-11-21 技術書の歩き方勉強会「達人プログラマー編」での資料です。 https://connpass.com/event/44500/
ୡਓϓϩάϥϚʔͱ Θͨ͠@2016-11-21 ٕज़ॻͷา͖ํษڧձʮୡਓϓϩάϥϚʔʯฤ@moro ॾڮګհ
View Slide
ॾڮګհ(@moro)Kyosuke MOROHASHI
ࢲͷΩϟϦΞͷ͜ͱ
‣ ٕज़෦ ։ൃج൫άϧʔϓ‣ ։ൃੜ࢈ੑΛ্ͤ͞Δ͜ͱ͕ϛογϣϯ‣ ίʔυϨϏϡʔઃܭࢧԉ‣ εςʔδϯάڥCIڥͷҡ࣋ɾվળ‣ ج൫ϓϥοτϑΥʔϜͷඋɺͳͲ͍·: 2015-: ΫοΫύου
‣ RubyͱRailsͰ͓٬༷ͷιϑτΣΞΛ։ൃ͍ͯͨ͠ɻ‣ ΞδϟΠϧͳडୗ։ൃɺαʔϏε։ൃͷࢧԉͳͲɻͦͷલ: 2006-2015: ӬγεςϜϚωδϝϯτ
‣ “SE” ͱͯ͠ब৬ͨ͠ɻ‣ 100ਓҎ্ͷϓϩάϥϚɺ1Ҏ্ଓ͘ϓϩδΣΫτ(1,000+ਓ݄!!)ͷϓϩδΣΫτʹΞαΠϯ͞Εͨɻ‣ ϓϩδΣΫτͷ։ൃੜ࢈ੑ্ɺͱ͍͏ϛογϣϯͩͬͨΑ͏ͳɻͦͷલ: 2003-2006: େखిػϝʔΧʔ
‣ ઋ͍͍֗ͩͬͨɻ‣ MacOS X public beta͕ॏ͗ͯ͢UNIX͞ΘΓ࢝ΊΔ‣ ͦͷྲྀΕͰ “UNIXͱ͍͏ߟ͑ํ” ͳͲಡΜͰ͍ͨͦͷલ: -2003: จܥେֶੜ
ΩϟϦΞͷதͰ ग़ձͬͨຊ
‣ “ࠇ͍ը໘”ͷഎޙʹ͋Δ ʮߟ͑ํʯʹಌΕͨ‣ ٕज़తͳத͋·ΓΘ͔Βͳ͔ͬͨΑ͏ͳɻ
‣ ࣾձਓͩ͠ҙ͔ࣝͨΊͯ͜?‣ ਖ਼ɺΘ͔ͬͨΑ͏ͳΘ͔ΒΜΑ͏ͳ…
‣ “ϐʔϓϧΣΞ” ͱ͔ “ਓ݄ͷਆ” ΛಡΜͰ (େن)ιϑτΣΞ։ൃʹ͍ͭͯߟ͑Δɻ‣ େنϓϩδΣΫτͷย۱ͰɺRubyΛ͞ΘΓͩ͢ɻ‣ “RubyϨγϐϒοΫ”2003-2006: େखిػϝʔΧʔ
‣ וాͷຊͰങͬͨ‣ net/telnetͰSolarisʹϩάΠϯͯ͠‣ γΣϧεΫϦϓτ࣮ߦͯ͠‣ ग़དྷͨϑΝΠϧΛnet/ftpͰ࣋ͬͯ͘ΔεΫϦϓτʹ‣ VisualuRubyͰUI͚ͭͯ‣ exerbͰݻΊͯϙϯஔ͖
‣ “ϓϩάϥϛϯάRuby”‣ ͷஶऀͷॻ͍ͨ “ୡਓϓϩάϥϚʔ”‣ “Agile Web Development with Rails”2003-2006: େखిػϝʔΧʔ
‣ ʮUNIXͱ͍͏ߟ͑ํʯΛࣄͰ࣮ݱ͢Δͱͨ͠Β͜͏͍͏ͷ͔ͳɻ‣ DRYɺࣗಈԽɺϦϑΝΫλϦϯά… ʮ͜Μͳ;͏ʹಇ͚ͨΒ͍͍ͳ͋ʯ
‣ Rails 1.0͕ग़ΔલʹЌϒοΫͰ ೖखɻ‣ ʮЌϒοΫɺͦΜͳͷ͕͋Δͷ͔ʯ‣ ͜ͷಡॻձ͕Railsษڧձ@౦ژ
‣ ֯୩͞Μʹ༠ΘΕͯ(ԡ͔͚ͯ͠?)ೖࣾͨ͠ɻ‣ 10+ؒɺ΄΅ͣͬͱRubyͷϓϩδΣΫτͩͬͨɻ‣ ୡਓϓϩάϥϚʔͰಡΜͩͱ͜Ζͩ!!‣ DRY, ࣗಈԽ, TDD, ϦϑΝΫλϦϯά…‣ RailsTDDͷຊॻ͍ͨɻ2006-2015: ӬγεςϜϚωδϝϯτ
‣ ࣾ֎ͷଟ͘ͷ Rubyist ͱΓ߹͑ͨɻ‣ ΠϯλʔωοτͷਓͨͪͱࣄΛ͢Δײ֮ʹͳͬͨɻ‣ XࣾͷA͞ΜɺͰͳ͘ A͞Μ͕͍·ಇ͍͍ͯΔɺXࣾ2006-2015: ӬγεςϜϚωδϝϯτ
‣ ΞδϟΠϧ։ൃͷ͍ΖΜͳϓϥΫςΟεΛΪϡοͱ·ͱΊͨҰɻ‣ ͘Β͍ʮ;ͩΜ͍ͬͯΔ͜ͱʯ͕ମܥཱͯͯॻ͍ͯ͋ͬͨɻ‣ ʑͷιϑτΣΞ։ൃʹɺͱ࣮ͯફ͖ͯʹཱͭɻ
‣ ϓϩάϥϚʔ͕ɺϓϩάϥϛϯάΛੜۀʹ͢Δ࣌ͷ࢟ͱɺͦͷ࣮ફͷຊɻ‣ ಡΉͨͼʹ͞Δͱ͜Ζ͕มΘΔɻ
The Recipe forthe World’s LargestRails MonolithAkira Matsudahttps://speakerdeck.com/a_matsuda/the-recipe-for-the-worlds-largest-rails-monolith
‣ RubyϞϊϦεΛݟʹདྷͨɻ‣ લલٕज़෦ͷߴҪ͞ΜRuby/Railsͭͳ͕ΓͰͬͯͨɻ‣ ͍͢͝ΤϯδχΞ͕ “ͪΌΜͱ” ͍ͬͯͨɻ‣ ٕज़ϒϩάʹॻ͍ͯ͋Δ͜ͱɺ΄Μͱʹ͍ͬͯͯ͢͝w2015-: ΫοΫύου
ղফͰ͖ͨෆ҆ (git add & git commit͓ͯ͜͠͏)http://techlife.cookpad.com/
‣ ϢʔβʔͷຊͷχʔζΛߟ͑ଓ͚ΔσΟϨΫλʔ‣ ࠷ߴͷϢʔβମݧΛߟ͑ଓ͚ΔσβΠφʔ‣ ϢʔβʔͷΛड͚ࢭΊɺࠔΓ͝ͱΛղܾ͢Δ Ϣʔβʔαϙʔτ‣ ͱ͍͏৫Λࢧ͑ΔόοΫΦϑΟε ͳͲͳͲ…“ϓϩάϥϜΛॻ͘”͜ͱͱ “ՁΛఏڙ”͢Δ͜ͱͷࠩ
ରγεςϜຊ൪ڥ։ൃطଘγεςϜϏδωεཁٻϏδωεՁ֎෦੍๏ ن੍lશମzΤϯυπʔΤϯυhttps://speakerdeck.com/kakutani/agile-manifesto-decade
“91ͷϓϥΫςΟεͷνʔϜશମͱɺ༷ʑͳਓ͕૬ޓʹؔ࿈͠ͳ͕ΒҰॹʹࣄΛͯ͠ɺϓϩδΣΫτΛ͞ΒʹޮՌతʹ͢ΔͷͰ͋ΔɻXPνʔϜશମΤΫετϦʔϜϓϩάϥϛϯά; ୈ10ষ XPνʔϜશମ
“Ϗδωεࣄ;͘ΊͨίϛϡχςΟʔͷதͰɺࣗͷډॴΛݟ͚ͭΔ͜ͱͩɻࣗݾӽͷϓϩηεͷ͜ͱͩɻͦͷϓϩηεͷதͰɺ։ൃऀͱͯ͠࠷ળΛͭ͘͢͜ͱͩɻϏδωεͷͨΊʹͳΔ༏ΕͨίʔυΛॻ͘͜ͱͩɻXPͱͳʹ͔ΤΫετϦʔϜϓϩάϥϛϯά; ୈ1ষ XPͱͳʹ͔
ͭͷखڧ͍࣭ࣗԿ͕ಘҙͳͷ͔ࣗͲ͏ͬͯߩݙ͢ΔͭΓ͔͕ࣗେʹࢥ͏Ձͳʹ͔νʔϜϝϯόʔࣗʹͲΜͳՌΛظ͍ͯ͠Δ͔http://diary.shu-cream.net/2016/01/15/the-drucker-exercise-in-gmo-pepabo-inc.html
ϓϩάϥϚʔʹͳΔ͜ͱ
ຊॻ͋ͳ͕ͨΑΓྑ͍ϓϩάϥϚʔʹͳΔͨΊͷ͓ख͍Λ͢ΔͷͰ͢ɻ(৽൛ͷग़൛͓ΊͰͱ͏͍͟͝·͢ & ͋Γ͕ͱ͏͍͟͝·͢)ୡਓϓϩάϥϚʔ; ·͕͖͑, ୈ1ষ“
Prepare to welcomenew people৽͍͠ਓʑΛܴ͑ΔࢧΛ͠Α͏http://jp.rubyist.net/RubyKaigi2007/Log0610-S5.html
‣ ʮ͜͏Γ͍ͨʯເ͡Όͳ͘ͳͬͨ‣ ׂΕ૭ɺDRYɺࣗಈԽɺϦϑΝΫλϦϯά….‣ ͪΌΜͱΕ͍ͯΔͷͩΖ͏͔?2पͷੈք
‣ http://nano.hatenadiary.com/entry/2016/10/27/132312‣ ୡਓϓϩάϥϚʔΛಡΜͰ͍Δਏ͞ΛܰݮͰ͖Δ‣ ༏͍͠ޱௐͰ͞ΒͬͱڪΖ͍͠ཧ2पͷੈք
·ͱΊ
‣ ࢥ͍ฦ͢ͱ͍͍ͱ͖ʹ͍͍ͷΛಡΜͩͷͩͳ͋ɻ‣ ຊʹग़ձ͏ίϯςΩετେࣄɻ‣ PragProg: 1पເɺ2पݱ࣮‣ XPe2nd: ϓϥΫςΟεࢀߟʹͳΔ 㱺 ιʔγϟϧνΣϯδͳΔ΄Ͳ…!‣ େࣄ͚ͩͲɺ༧ଌͰ͖ͳ͍ɻ·ͱΊ
moro (20161109-moronatural)‣ lୡਓϓϩάϥϚʔzͷόϥϯε‣ ΤϞ͍͚ͩͰͳ͘ςΫ͍‣ ϓϨΠϯςΩετ, γΣϧ, DSL, ίʔυδΣωϨʔλ‣ DbC, ද໌, ྫ֎ઃܭ, σϝςϧͷ๏ଇ…‣ ςΫ͍͚ͩͰͳ͘ΤϞ͍‣ େಊ, ੴͷεʔϓ, ୡ͠Α͏‣ ތΓͱѪண
moro (20161109-moronatural)ୡਓϓϩάϥϚʔɺ؟લͷΛߟ͑Δ͚ͩͰͳ͘ɺৗʹͦͷΛΑΓେ͖ͳഎܠͷதͰଊ͑ɺৗʹΑΓେ͖ͳΛݟ͚ͭग़ͦ͏ͱ͢ΔͷͰ͢ɻཁ͢Δʹɺେ͖ͳഎܠΛଊ͑Δ͜ͱͳ͠ʹɺୡਓͨΓಘΔํ๏͋Γ·ͤΜ͠ɺతͳղܾɺݟࣝͷ͋ΔܾఆΛߦ͏ํ๏͋Γಘͳ͍ͷͰ͢ɻ“
“I won't give up, no I won't give in 'Til I reach the end and then I'll start again No I won't leave, I wanna try everything I wanna try even though I could fail؆୯Ͱͳ͍Try Everything ; Shakira from Zootopia
Ͱ͋Μ·Γਂࠁʹड͚ࢭΊ͗͢ͳ͍Ͱɻ ָ͠Έͳ͕Β͍ͬͯ͜͏Above all, make it funΞδϟΠϧαϜϥΠ; ༁ऀ͋ͱ͕͖“