達人プログラマーとわたし/PragProg and Me

達人プログラマーとわたし/PragProg and Me

2016-11-21 技術書の歩き方勉強会「達人プログラマー編」での資料です。 https://connpass.com/event/44500/

70e13d9877054026fda46d5a5b53a236?s=128

MOROHASHI Kyosuke

November 21, 2016
Tweet

Transcript

  1. ୡਓϓϩάϥϚʔͱ
 Θͨ͠ @2016-11-21 ٕज़ॻͷา͖ํษڧձʮୡਓϓϩάϥϚʔʯฤ @moro ॾڮګհ

  2. ॾڮګհ(@moro) Kyosuke MOROHASHI

  3. None
  4. ࢲͷΩϟϦΞͷ͜ͱ

  5. ‣ ٕज़෦ ։ൃج൫άϧʔϓ ‣ ։ൃੜ࢈ੑΛ޲্ͤ͞Δ͜ͱ͕ϛογϣϯ ‣ ίʔυϨϏϡʔ΍ઃܭࢧԉ ‣ εςʔδϯά؀ڥ΍CI؀ڥͷҡ࣋ɾվળ ‣

    ج൫ϓϥοτϑΥʔϜͷ੔උɺͳͲ ͍·: 2015-: ΫοΫύου
  6. ‣ RubyͱRailsͰ͓٬༷ͷιϑτ΢ΣΞΛ։ൃ͍ͯͨ͠ɻ ‣ ΞδϟΠϧͳडୗ։ൃ΍ɺαʔϏε։ൃͷࢧԉͳͲɻ ͦͷલ: 2006-2015: Ӭ࿨γεςϜϚωδϝϯτ

  7. ‣ “SE” ͱͯ͠ब৬ͨ͠ɻ ‣ 100ਓҎ্ͷϓϩάϥϚɺ1೥Ҏ্ଓ͘ϓϩδΣΫτ (1,000+ਓ݄!!)ͷϓϩδΣΫτʹΞαΠϯ͞Εͨɻ ‣ ϓϩδΣΫτͷ։ൃੜ࢈ੑ޲্ɺͱ͍͏ϛογϣϯ ͩͬͨΑ͏ͳɻ ͦͷલ:

    2003-2006: େखిػϝʔΧʔ
  8. ‣ ઋ୆͸͍͍֗ͩͬͨɻ ‣ MacOS X public beta͕ॏ͗ͯ͢UNIX͞ΘΓ࢝ΊΔ ‣ ͦͷྲྀΕͰ “UNIXͱ͍͏ߟ͑ํ”

    ͳͲಡΜͰ͍ͨ ͦͷલ: -2003: จܥେֶੜ
  9. ΩϟϦΞͷதͰ
 ग़ձͬͨຊ

  10. ‣ “ࠇ͍ը໘”ͷഎޙʹ͋Δ
 ʮߟ͑ํʯʹಌΕͨ ‣ ٕज़తͳத਎͸͋·ΓΘ͔Βͳ ͔ͬͨΑ͏ͳɻ

  11. ‣ ࣾձਓͩ͠ҙ͔ࣝͨΊͯ͜? ‣ ਖ਼௚ɺΘ͔ͬͨΑ͏ͳΘ͔ΒΜΑ͏ͳ…

  12. ‣ “ϐʔϓϧ΢ΣΞ” ͱ͔ “ਓ݄ͷਆ࿩” ΛಡΜͰ
 (େن໛)ιϑτ΢ΣΞ։ൃʹ͍ͭͯߟ͑Δɻ ‣ େن໛ϓϩδΣΫτͷย۱ͰɺRubyΛ͞ΘΓͩ͢ɻ ‣ “RubyϨγϐϒοΫ”

    2003-2006: େखిػϝʔΧʔ
  13. ‣ וాͷຊ԰Ͱങͬͨ ‣ net/telnetͰSolarisʹϩάΠϯͯ͠ ‣ γΣϧεΫϦϓτ࣮ߦͯ͠ ‣ ग़དྷͨϑΝΠϧΛnet/ftpͰ࣋ͬͯ͘ΔεΫϦϓτʹ ‣ VisualuRubyͰUI͚ͭͯ

    ‣ exerbͰݻΊͯϙϯஔ͖
  14. ‣ “ϓϩάϥϛϯάRuby” ‣ ͷஶऀͷॻ͍ͨ “ୡਓϓϩάϥϚʔ” ‣ “Agile Web Development with

    Rails” 2003-2006: େखిػϝʔΧʔ
  15. ‣ ʮUNIXͱ͍͏ߟ͑ํʯΛ࢓ࣄͰ࣮ ݱ͢Δͱͨ͠Β͜͏͍͏ͷ͔ͳɻ ‣ DRYɺࣗಈԽɺϦϑΝΫλϦϯ ά… ʮ͜Μͳ;͏ʹಇ͚ͨΒ͍͍ ͳ͋ʯ

  16. ‣ Rails 1.0͕ग़ΔલʹЌϒοΫͰ
 ೖखɻ ‣ ʮЌϒοΫɺͦΜͳ΋ͷ͕͋Δͷ͔ʯ ‣ ͜ͷಡॻձ͕Railsษڧձ@౦ژ

  17. None
  18. ‣ ֯୩͞Μʹ༠ΘΕͯ(ԡ͔͚ͯ͠?)ೖࣾͨ͠ɻ ‣ 10+೥ؒɺ΄΅ͣͬͱRubyͷϓϩδΣΫτͩͬͨɻ ‣ ୡਓϓϩάϥϚʔͰಡΜͩͱ͜Ζͩ!! ‣ DRY, ࣗಈԽ, TDD,

    ϦϑΝΫλϦϯά… ‣ Rails΍TDDͷຊ΋ॻ͍ͨɻ 2006-2015: Ӭ࿨γεςϜϚωδϝϯτ
  19. None
  20. ‣ ࣾ಺֎ͷଟ͘ͷ Rubyist ͱ஌Γ߹͑ͨɻ ‣ Πϯλʔωοτͷਓͨͪͱ࢓ࣄΛ͢Δײ֮ʹͳͬͨɻ ‣ XࣾͷA͞ΜɺͰ͸ͳ͘
 A͞Μ͕͍·ಇ͍͍ͯΔɺXࣾ 2006-2015:

    Ӭ࿨γεςϜϚωδϝϯτ
  21. ‣ ΞδϟΠϧ։ൃͷ͍ΖΜͳϓϥΫ ςΟεΛΪϡοͱ·ͱΊͨҰ࡭ɻ ‣ ൒෼͘Β͍͸ʮ;ͩΜ΍͍ͬͯΔ͜ͱʯ͕ମܥཱͯͯॻ ͍ͯ͋ͬͨɻ ‣ ೔ʑͷιϑτ΢ΣΞ։ൃʹɺͱͯ΋࣮ફ͖ͯʹ໾ཱͭɻ

  22. ‣ ϓϩάϥϚʔ͕ɺϓϩάϥϛϯ άΛੜۀʹ͢Δ࣌ͷ࢟੎ͱɺͦ ͷ࣮ફͷຊɻ ‣ ಡΉͨͼʹࢗ͞Δͱ͜Ζ͕มΘΔɻ

  23. The Recipe for the World’s Largest Rails Monolith Akira Matsuda

    https://speakerdeck.com/a_matsuda/the-recipe-for-the-worlds-largest-rails-monolith
  24. ‣ RubyϞϊϦεΛݟʹདྷͨɻ ‣ લલٕज़෦௕ͷߴҪ͞Μ΋Ruby/Railsͭͳ͕ΓͰ஌ͬͯͨɻ ‣ ͍͢͝ΤϯδχΞ͕ “ͪΌΜͱ” ΍͍ͬͯͨɻ ‣ ٕज़ϒϩάʹॻ͍ͯ͋Δ͜ͱɺ΄Μͱʹ΍͍ͬͯͯ͢͝w

    2015-: ΫοΫύου
  25. ղফͰ͖ͨෆ҆ (git add & git commit͓ͯ͜͠͏) http://techlife.cookpad.com/

  26. ‣ Ϣʔβʔͷຊ౰ͷχʔζΛߟ͑ଓ͚ΔσΟϨΫλʔ ‣ ࠷ߴͷϢʔβମݧΛߟ͑ଓ͚ΔσβΠφʔ ‣ Ϣʔβʔͷ੠Λड͚ࢭΊɺࠔΓ͝ͱΛղܾ͢Δ
 Ϣʔβʔαϙʔτ ‣ ͱ͍͏૊৫Λࢧ͑ΔόοΫΦϑΟε ͳͲͳͲ…

    “ϓϩάϥϜΛॻ͘”͜ͱͱ “Ձ஋Λఏڙ”͢Δ͜ͱͷࠩ෼
  27. ର৅γεςϜ ຊ൪؀ڥ ։ൃ طଘ γεςϜ Ϗδωεཁٻ ϏδωεՁ஋ ֎෦੍໿ ๏ ن੍

    lશମz Τϯυ πʔ Τϯυ https://speakerdeck.com/kakutani/agile-manifesto-decade
  28. ‣ ϓϩάϥϚʔ͕ɺϓϩάϥϛϯ άΛੜۀʹ͢Δ࣌ͷ࢟੎ͱɺͦ ͷ࣮ફͷຊɻ ‣ ಡΉͨͼʹࢗ͞Δͱ͜Ζ͕มΘΔɻ

  29. “ 91ͷϓϥΫςΟεͷνʔϜશମͱ͸ɺ༷ʑͳਓ͕૬ ޓʹؔ࿈͠ͳ͕ΒҰॹʹ࢓ࣄΛͯ͠ɺϓϩδΣΫτ Λ͞ΒʹޮՌతʹ͢Δ΋ͷͰ͋Δɻ XPνʔϜશମ ΤΫετϦʔϜϓϩάϥϛϯά; ୈ10ষ XPνʔϜશମ

  30. “ Ϗδωε΍࢓ࣄ΋;͘ΊͨίϛϡχςΟʔͷதͰɺ ࣗ෼ͷډ৔ॴΛݟ͚ͭΔ͜ͱͩɻࣗݾ௒ӽͷϓϩη εͷ͜ͱͩɻͦͷϓϩηεͷதͰɺ։ൃऀͱͯ͠࠷ ળΛͭ͘͢͜ͱͩɻϏδωεͷͨΊʹͳΔ༏Εͨίʔ υΛॻ͘͜ͱͩɻ XPͱ͸ͳʹ͔ ΤΫετϦʔϜϓϩάϥϛϯά; ୈ1ষ XPͱ͸ͳʹ͔

  31. ͭͷखڧ͍࣭໰ ࣗ෼͸Կ͕ಘҙͳͷ͔ ࣗ෼͸Ͳ͏΍ͬͯߩݙ͢Δͭ΋Γ͔ ࣗ෼͕େ੾ʹࢥ͏Ձ஋͸ͳʹ͔ νʔϜϝϯόʔ͸ࣗ෼ʹͲΜͳ੒ՌΛ ظ଴͍ͯ͠Δ͔ http://diary.shu-cream.net/2016/01/15/the-drucker-exercise-in-gmo-pepabo-inc.html

  32. ϓϩάϥϚʔʹͳΔ͜ͱ

  33. ຊॻ͸͋ͳ͕ͨΑΓྑ͍ϓϩ άϥϚʔʹͳΔͨΊͷ͓ख఻ ͍Λ͢Δ΋ͷͰ͢ɻ (৽૷൛ͷग़൛͓ΊͰͱ͏͍͟͝·͢ &
 ͋Γ͕ͱ͏͍͟͝·͢) ୡਓϓϩάϥϚʔ; ·͕͖͑, ୈ1ষ “

  34. Prepare to welcome new people ৽͍͠ਓʑΛܴ͑Δ ࢧ౓Λ͠Α͏ http://jp.rubyist.net/RubyKaigi2007/Log0610-S5.html

  35. ‣ ʮ͜͏΍Γ͍ͨʯເ͡Όͳ͘ͳͬͨ ‣ ׂΕ૭ɺDRYɺࣗಈԽɺϦϑΝΫλϦϯά…. ‣ ͪΌΜͱ΍Ε͍ͯΔͷͩΖ͏͔? 2प໨ͷੈք

  36. ‣ http://nano.hatenadiary.com/entry/2016/10/27/132312 ‣ ୡਓϓϩάϥϚʔΛಡΜͰ͍Δਏ͞ΛܰݮͰ͖Δ ‣ ༏͍͠ޱௐͰ͞ΒͬͱڪΖ͍͠ཧ૝࿦ 2प໨ͷੈք

  37. ·ͱΊ

  38. ‣ ࢥ͍ฦ͢ͱ͍͍ͱ͖ʹ͍͍΋ͷΛಡΜͩͷͩͳ͋ɻ ‣ ຊʹग़ձ͏ίϯςΩετ͸େࣄɻ ‣ PragProg: 1प໨͸ເɺ2प໨͸ݱ࣮ ‣ XPe2nd: ϓϥΫςΟεࢀߟʹͳΔ

    㱺 ιʔγϟϧνΣϯδͳΔ΄Ͳ…! ‣ େࣄ͚ͩͲɺ༧ଌ͸Ͱ͖ͳ͍ɻ ·ͱΊ
  39. moro (20161109-moronatural) ‣ lୡਓϓϩάϥϚʔzͷόϥϯε ‣ ΤϞ͍͚ͩͰͳ͘ςΫ͍ ‣ ϓϨΠϯςΩετ, γΣϧ, DSL,

    ίʔυδΣωϨʔλ ‣ DbC, ද໌, ྫ֎ઃܭ, σϝςϧͷ๏ଇ… ‣ ςΫ͍͚ͩͰͳ͘ΤϞ͍ ‣ େ੟ಊ, ੴͷεʔϓ, ఻ୡ͠Α͏ ‣ ތΓͱѪண
  40. moro (20161109-moronatural) ୡਓϓϩάϥϚʔ͸ɺ؟લͷ໰୊Λߟ͑Δ ͚ͩͰͳ͘ɺৗʹͦͷ໰୊ΛΑΓେ͖ͳഎ ܠͷதͰଊ͑ɺৗʹΑΓେ͖ͳ໰୊Λݟͭ ͚ग़ͦ͏ͱ͢ΔͷͰ͢ɻཁ͢Δʹɺେ͖ͳ എܠΛଊ͑Δ͜ͱͳ͠ʹɺୡਓͨΓಘΔํ ๏͸͋Γ·ͤΜ͠ɺ஌తͳղܾɺݟࣝͷ͋ ΔܾఆΛߦ͏ํ๏΋͋Γಘͳ͍ͷͰ͢ɻ “

  41. “ 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
  42. Ͱ΋͋Μ·Γਂࠁʹड͚ࢭΊ͗͢ͳ͍Ͱɻ
 ָ͠Έͳ͕Β΍͍ͬͯ͜͏ Above all, make it fun ΞδϟΠϧαϜϥΠ; ؂༁ऀ͋ͱ͕͖ “