Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
達人プログラマーとわたし/PragProg and Me
Search
MOROHASHI Kyosuke
November 21, 2016
Programming
12
5.7k
達人プログラマーとわたし/PragProg and Me
2016-11-21 技術書の歩き方勉強会「達人プログラマー編」での資料です。
https://connpass.com/event/44500/
MOROHASHI Kyosuke
November 21, 2016
Tweet
Share
More Decks by MOROHASHI Kyosuke
See All by MOROHASHI Kyosuke
Identifying User Idenity
moro
9
15k
Simplicity on Rails -- RDB, REST and Ruby
moro
14
17k
ちょうどよい Rails E2E テスト/enough-good-rails-e2e-test
moro
5
2.4k
フレームワークを作らない方法/How NOT to build frameworks
moro
4
1.1k
全体がいい感じになるために、私たちRailsをホームにするWeb技術者ができること/let-our-whole-system-grow
moro
2
1.9k
フォームオブジェクトとの向き合い方/Grow Form Objects up
moro
1
2k
チームによるいきいきとしたソフトウェア開発/an-alive-team-grows-software
moro
3
3.3k
Web-E2E-Testing-from-Ruby
moro
5
530
Joyful user foundation restructuring with Ruby
moro
9
19k
Other Decks in Programming
See All in Programming
2025.2.14_Developers Summit 2025_登壇資料
0101unite
0
140
Better Code Design in PHP
afilina
0
160
Software Architecture
hschwentner
6
2.1k
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
790
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
100
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
900
PRレビューのお供にDanger
stoticdev
1
220
『品質』という言葉が嫌いな理由
korimu
0
180
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
280
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
150
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
130
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Done Done
chrislema
182
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Docker and Python
trallard
44
3.3k
Building an army of robots
kneath
303
45k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Documentation Writing (for coders)
carmenintech
67
4.6k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
A better future with KSS
kneath
238
17k
Embracing the Ebb and Flow
colly
84
4.6k
Transcript
ୡਓϓϩάϥϚʔͱ Θͨ͠ @2016-11-21 ٕज़ॻͷา͖ํษڧձʮୡਓϓϩάϥϚʔʯฤ @moro ॾڮګհ
ॾڮګհ(@moro) Kyosuke MOROHASHI
None
ࢲͷΩϟϦΞͷ͜ͱ
‣ ٕज़෦ ։ൃج൫άϧʔϓ ‣ ։ൃੜ࢈ੑΛ্ͤ͞Δ͜ͱ͕ϛογϣϯ ‣ ίʔυϨϏϡʔઃܭࢧԉ ‣ εςʔδϯάڥ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ษڧձ@౦ژ
None
‣ ֯୩͞Μʹ༠ΘΕͯ(ԡ͔͚ͯ͠?)ೖࣾͨ͠ɻ ‣ 10+ؒɺ΄΅ͣͬͱRubyͷϓϩδΣΫτͩͬͨɻ ‣ ୡਓϓϩάϥϚʔͰಡΜͩͱ͜Ζͩ!! ‣ DRY, ࣗಈԽ, TDD,
ϦϑΝΫλϦϯά… ‣ RailsTDDͷຊॻ͍ͨɻ 2006-2015: ӬγεςϜϚωδϝϯτ
None
‣ ࣾ֎ͷଟ͘ͷ Rubyist ͱΓ߹͑ͨɻ ‣ ΠϯλʔωοτͷਓͨͪͱࣄΛ͢Δײ֮ʹͳͬͨɻ ‣ XࣾͷA͞ΜɺͰͳ͘ A͞Μ͕͍·ಇ͍͍ͯΔɺXࣾ 2006-2015:
ӬγεςϜϚωδϝϯτ
‣ ΞδϟΠϧ։ൃͷ͍ΖΜͳϓϥΫ ςΟεΛΪϡοͱ·ͱΊͨҰɻ ‣ ͘Β͍ʮ;ͩΜ͍ͬͯΔ͜ͱʯ͕ମܥཱͯͯॻ ͍ͯ͋ͬͨɻ ‣ ʑͷιϑτΣΞ։ൃʹɺͱ࣮ͯફ͖ͯʹཱͭɻ
‣ ϓϩάϥϚʔ͕ɺϓϩάϥϛϯ άΛੜۀʹ͢Δ࣌ͷ࢟ͱɺͦ ͷ࣮ફͷຊɻ ‣ ಡΉͨͼʹ͞Δͱ͜Ζ͕มΘΔɻ
The Recipe for the World’s Largest Rails Monolith Akira Matsuda
https://speakerdeck.com/a_matsuda/the-recipe-for-the-worlds-largest-rails-monolith
‣ RubyϞϊϦεΛݟʹདྷͨɻ ‣ લલٕज़෦ͷߴҪ͞ΜRuby/Railsͭͳ͕ΓͰͬͯͨɻ ‣ ͍͢͝ΤϯδχΞ͕ “ͪΌΜͱ” ͍ͬͯͨɻ ‣ ٕज़ϒϩάʹॻ͍ͯ͋Δ͜ͱɺ΄Μͱʹ͍ͬͯͯ͢͝w
2015-: ΫοΫύου
ղফͰ͖ͨෆ҆ (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 welcome new 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 ΞδϟΠϧαϜϥΠ; ༁ऀ͋ͱ͕͖ “