Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby on Ruby on Rails
Search
Akira Matsuda
February 24, 2018
Programming
19
3.4k
Ruby on Ruby on Rails
プログラミング言語Ruby 25周年記念イベントの記念講演「Rubyの今」のWEB編の発表スライド
http://25.ruby.or.jp/
Akira Matsuda
February 24, 2018
Tweet
Share
More Decks by Akira Matsuda
See All by Akira Matsuda
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
13
4.8k
Hanamiを支える技術 2023 / Asakusa.rb Hanami 2023
a_matsuda
2
540
Rails 7.1をn倍速くした話
a_matsuda
11
12k
RubyKaigi 2022 After Talk
a_matsuda
0
410
Coming Soon…💎 / coming soon
a_matsuda
12
7.8k
Rails Performance Issues and Solutions
a_matsuda
9
35k
Extending Rails for Real World App Development
a_matsuda
9
7.4k
A RubyKaigi Talk
a_matsuda
8
2.4k
Ginza Rails 1
a_matsuda
6
1.2k
Other Decks in Programming
See All in Programming
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
660
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
630
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
100
Thoughts and experiences on Rust and TypeScript
unvalley
2
210
物流システムにおけるリファクタリングとアーキテクチャの再構築 〜依存関係とモジュール分割の重要性〜
deeprain
1
290
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
150
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
3
1.5k
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
11
3.9k
Jakarta EE meets AI
ivargrimstad
0
1.1k
カンファレンスでLTしました / kashiwarb5
nhayato
0
100
cmp.Or に感動した
otakakot
3
340
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
0
3k
Featured
See All Featured
Building Your Own Lightsaber
phodgson
103
6.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
GraphQLとの向き合い方2022年版
quramy
44
13k
Side Projects
sachag
452
42k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
A designer walks into a library…
pauljervisheath
204
24k
Into the Great Unknown - MozCon
thekraken
33
1.5k
Agile that works and the tools we love
rasmusluckow
328
21k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Navigating Team Friction
lara
183
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
The Cult of Friendly URLs
andyhume
78
6.1k
Transcript
Ruby on Ruby on Rails Akira Matsuda
Ruby25प
25ࡀ͓ΊͰͱ͏ʂ
Rubyͷࠓ ʮRubyͱWEBʯͱ͍͏ ͓Ͱɻ
RubyͰWEBͱ͍͑ʁ
Ruby on Rails Ͱ͢ΑͶɻ
whoami দా ໌ Rubyίϛολʔ Ruby on Railsίϛολʔ
RubyKaigi 2018
RubyKaigi 2018 CFPࠓ݄͍ͬͺ͍ʂ
Asakusa.rb
Asakusa.rb 10पʂ
Asakusa.rb 10पʂ ϝϯόʔҰචॻ͘͜ͱʂ
Ruby on Railsͱ ͍·ੈքͰҰ൪ΘΕ͍ͯΔWEB ΞϓϦέʔγϣϯɾϑϨʔϜϫʔΫ (ͩΖ͏ͱࢥ͏͚Ͳཁग़య) ΞϓϦέʔγϣϯΛRubyͰॻ͚Δ ຊମpure RubyͰॻ͔Ε͍ͯΔ
RubyͱRailsͷҧ͍ Ruby: p "Hello, World" ͬͯॻ͘ͱࠇ͍ը໘ ʹ "Hello, World" ͬͯग़ྗͰ͖Δຯͳ
ͭɻRailsΛಈ͔ͨ͢Ίͷಓ۩ͱͯ͠ΒΕ Δɻ Rails: Կͳ͍ͱ͜Ζ͔Β15͙Β͍Ͱ͍͖ ͳΓόʔϯͱϒϩάͷΞϓϦ͕࡞Εͯ͠·͏ ࠷ߴʹศརͰΫʔϧͳຐ๏Έ͍ͨͳͭɻ
RailsRubyΛϝδϟʔݴޠʹ ԡ্͛ͨ͠ݪಈྗ Ruby before Rails: ୭Βͳ͍ ϚΠφʔݴޠ Ruby after Rails:
Ruby͍ͬͯ͏ ݴޠʹ͍ͭͯશ͘ฉ͍ͨ͜ͱ͕ ແ͍ϓϩάϥϚʔډͳ͍ΑͶʁ
ͱ͜ΖͰɺRuby on Railsͬͯ ԿࡀͳΜ͚ͩͬʁ 2004ʹ։ൃελʔτ ݱࡏ14
RubyʹͱͬͯɺRails ੜҎ্࿈Εఴͬͨ ͬͯΕͳ͍ ؔʹ͋Δ
Railsͷಛ ݱͷϦΞϧͳΛղܾ͢Δ πʔϧ ৗʹมԽ͠ଓ͚Δ ͨͷ͍͠ Ṷ͔Δ
ݱͷϦΞϧͳΛ ղܾ͢Δಓ۩ Basecampͱ͍͏ݱ࣮ͷελʔτ ΞοϓͷϓϩμΫτ͔ΒΓग़͞Ε ͯOSSԽ͞Εͨͷ ϑϨʔϜϫʔΫ͔͠࡞ͬͯͳ͍Α͏ ͳݚڀॴͷϓϩϑϨʔϜϫʔΫ࡞Ո ͕࡞ͬͨΑ͏ͳͰͳ͍
ৗʹมԽ͠ଓ͚Δ 5,000ਓͷʮίϯτϦϏϡʔλʔʯ ͨͪʹΑΔઈ͑ؒͳ͍վྑ ܾͯ҆͠ॅ͠ͳ͍ ͣͬͱΓଓ͚ͯΔ͔Β͍ͭ·Ͱݹ͘ͳΒͳ ͍ ৗʹ࠷৽WEBϑϨʔϜϫʔΫͰ͋Γଓ͚͍ͯΔ
ͣͬͱࢭ·ΒͣʹΓଓ͚Δ ιϑτΣΞ ʮઢ࿏ʯͱ͍͏ϝλϑΝʔ ʹࠐΊΒΕ͍ͯΔ
Railsͷʮ৽͠͞ʯ WEBΞϓϦ։ൃγʔϯશମΛมֵ CoCɺີ݁߹ϑϧελοΫMVCɺδΣωϨʔλʔɺTDDɺ AJAXɺRESTͷ࠶ൃݟɺalt JSɺassetͷunificationɺPJAX తͳΞϓϩʔνɺϓϥάΠϯػߏɺbundlerͷύοέʔδ ϚωʔδϝϯτɺͳͲͳͲͳͲͳͲ ෦తʹྑ͠ѱ͠Λ͡Δ༨͋Δ͔͠Εͳ͍͕ɺ ओுͷ͋ΔιϑτΣΞΛੈʹग़͢͜ͱʹΑͬͯɺΈΜͳ ͷߟ͑ํʹେ͖͘ӨڹΛ༩͑ଓ͚͖ͯͨ
ͨͷ͍͠ Railsͨͷ͍͠ΑͶ 10Ҏ্ͣͬͱࣄͰRails ΛͬͯΔ͚Ͳɺ͍·ͩʹ ຖͷࣄָ͕͍͠Ͱ͢
ʮRubyΛΩϝΔͱ͖͍͍ͪʯ (by Rubyͷύύ) RailsRubyͷָ͠͞ΛWEB ͷੈքʹ·Ͱ͛ͯ͘ΕΔ Έ ؾ࣋ͪΑʙ͘WEBΞϓϦ͕࡞ ΕͪΌ͏
Ṷ͔Δ ଟ͘ͷιϑτΣΞΛ ੜΈग़͠ɺϏδωεΛճ͢ ݪಈྗʹ
RailsͰ࡞ΒΕͨϓϩμΫτͨͪ Twitter, GitHub, Basecamp, Airbnb, Uber, etc. ΫοΫύουɺ৯ϩάɺ MoneyforwardɺͳͲͳͲ
ಛʹςΫϊϩδʔελʔτΞο ϓʹͱͯॏๅ͞ΕΔ ϓϩάϥϚʔ1ਓ͔2ਓ͙Β͍ Ͱ࢝ΊΒΕͨΓ͢Δ ·͞ʹRuby/Rails ελʔτΞοϓʹ͏͚ͬͯͭ
RailsੈքΛม͑ͨ Ruby / RailsͰ࡞ΒΕͨιϑτΣ ΞʹΒͣΒͣͷ͏ͪʹ୭͕ ຖ৮͍ͬͯΔͣ ͜͏ͯ͠ɺϓϩάϥϚʔ͚ͩͰͳ ͘ɺੈͷதશମʹେ͖ͳมֵΛͨ Β͍ͯ͠Δ
વɺձ͕ࣾṶ͔Ε ϓϩάϥϚʔṶ͔Δ
ϓϩάϥϚʔʹͱͬͯɺ Rubyͷͤ͘ʹࣄʹͳΔ ͳΜͱɺன͔ؒΒRubyΛΩϝͳ͕Β͓ ۚ·ͰΒ͑Δͱ͍͏ఱࠃͷΑ͏ͳঢ় گ͕౸དྷ ࿑ಇ == ͭΒ͍ɺͱ͍͏ط֓೦ͷഁյ ͕ͨΒ͞Εͨ ͜ΕϠό͍
ͱ͜ΖͰɺ"Ruby on Rails"ͬͯ Α͘ߟ͑Δͱมͳ໊લͩΑͶʁ
ٯͰʁͬͯࢥ͍·͢ΑͶʁ RubyͰ࡞ͬͨʮRailsʯͬ ͍ͯ͏໊લͷιϑτΣΞ ͳΜ͔ͩΒ "Rails on Ruby" ͳΜ͡Όͳ͍ͷʁ
"Ruby on Rails"ʹ ࠐΊΒΕͨҙຯ DHH͕ෑ͍ͨϨʔϧʹ ͤͯΈΜͳͷݩʹRubyͷ ָ͠͞ɾੜ࢈ੑΛӡΜͰ͘ ΕΔΠϯϑϥ
Rails͜ͷઌͲ͏ͳΔͷ͔ʁ ઌि͙Β͍͔Βόʔδϣϯ6.0Λ։ൃத ৗʹ࠷৽ͷϑϨʔϜϫʔΫͰ͋Δ͜ͱΛࢤ͍ͯ͠ ΔͷͰɺݹ͘ͳΒͳ͍ ࠓͷͱ͜ΖRailsʹऔͬͯΘΔଘࡏݟͨΒͳ͍ Webͦͷͷ͕શʹഇΕΔ·ͰWEBͷੈքͰ ͜ͷ··ઈରউऀͰ͋Γଓ͚ΔͷͰ ͋ͱ25͍͚ΔΜ͡Όͳ͍͔
ࠓޙͱϤϩγΫʂ ͜Ε͔ΒɺRailsมΘΓଓ ͚·͢ɻ RailsੈͷதΛม͑ଓ͚· ͢ɻ Ҿ͖ଓ͖͝ظ͍ͩ͘͞ʂ