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.9k
達人プログラマーとわたし/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
10
18k
Simplicity on Rails -- RDB, REST and Ruby
moro
15
18k
ちょうどよい Rails E2E テスト/enough-good-rails-e2e-test
moro
5
2.5k
フレームワークを作らない方法/How NOT to build frameworks
moro
4
1.2k
全体がいい感じになるために、私たち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.4k
Web-E2E-Testing-from-Ruby
moro
5
570
Joyful user foundation restructuring with Ruby
moro
9
19k
Other Decks in Programming
See All in Programming
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
210
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
380
Amazon Q CLI開発で学んだAIコーディングツールの使い方
licux
3
130
Reactの歴史を振り返る
tutinoko
1
150
slogパッケージの深掘り
integral0515
0
160
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
130
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1k
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
10k
What's new in Adaptive Android development
fornewid
0
120
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
240
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
40
15k
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
20
9.6k
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.5k
Producing Creativity
orderedlist
PRO
346
40k
Scaling GitHub
holman
461
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
It's Worth the Effort
3n
185
28k
Building Applications with DynamoDB
mza
95
6.5k
Code Reviewing Like a Champion
maltzj
524
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Fireside Chat
paigeccino
37
3.5k
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 ΞδϟΠϧαϜϥΠ; ༁ऀ͋ͱ͕͖ “