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
6k
達人プログラマーとわたし/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
dynamic!
moro
10
16k
Identifying User Idenity
moro
23
25k
Simplicity on Rails -- RDB, REST and Ruby
moro
18
20k
ちょうどよい Rails E2E テスト/enough-good-rails-e2e-test
moro
6
2.6k
フレームワークを作らない方法/How NOT to build frameworks
moro
4
1.3k
全体がいい感じになるために、私たちRailsをホームにするWeb技術者ができること/let-our-whole-system-grow
moro
2
2k
フォームオブジェクトとの向き合い方/Grow Form Objects up
moro
1
2.2k
チームによるいきいきとしたソフトウェア開発/an-alive-team-grows-software
moro
3
3.5k
Web-E2E-Testing-from-Ruby
moro
5
610
Other Decks in Programming
See All in Programming
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
130
Oxlint JS plugins
kazupon
1
1k
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
2026年 エンジニアリング自己学習法
yumechi
0
140
CSC307 Lecture 04
javiergs
PRO
0
660
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
CSC307 Lecture 08
javiergs
PRO
0
670
Raku Raku Notion 20260128
hareyakayuruyaka
0
360
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Statistics for Hackers
jakevdp
799
230k
Side Projects
sachag
455
43k
YesSQL, Process and Tooling at Scale
rocio
174
15k
First, design no harm
axbom
PRO
2
1.1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Designing for Performance
lara
610
70k
GraphQLとの向き合い方2022年版
quramy
50
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Bash Introduction
62gerente
615
210k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
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 ΞδϟΠϧαϜϥΠ; ༁ऀ͋ͱ͕͖ “