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
Ruby on Ruby on Rails
Search
Akira Matsuda
February 24, 2018
Programming
19
3.5k
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
15
6.4k
Hanamiを支える技術 2023 / Asakusa.rb Hanami 2023
a_matsuda
2
680
Rails 7.1をn倍速くした話
a_matsuda
11
13k
RubyKaigi 2022 After Talk
a_matsuda
0
470
Coming Soon…💎 / coming soon
a_matsuda
12
8.1k
Rails Performance Issues and Solutions
a_matsuda
9
36k
Extending Rails for Real World App Development
a_matsuda
9
7.6k
A RubyKaigi Talk
a_matsuda
8
2.6k
Ginza Rails 1
a_matsuda
6
1.3k
Other Decks in Programming
See All in Programming
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
170
生成AI時代のフルスタック開発
kenn
9
2.1k
ワンバイナリWebサービスのススメ
mackee
10
6.9k
iOSアプリ開発もLLMで自動運転する
hiragram
6
2k
がんばりすぎないコーディングルール運用術
tsukakei
1
120
2025年のz-index設計を考える
tak_dcxi
13
5.2k
型安全なDrag and Dropの設計を考える
yudppp
5
640
バランスを見極めよう!実装の意味を明示するための型定義 TSKaigi 2025 Day2 (5/24)
whatasoda
2
750
Proxmoxをまとめて管理できるコンソール作ってみました
karugamo
1
380
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
6
340
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
620
私のRubyKaigi 2025 Kaigi Effect / My RubyKaigi 2025 Kaigi Effect
chobishiba
1
200
Featured
See All Featured
Navigating Team Friction
lara
185
15k
The World Runs on Bad Software
bkeepers
PRO
68
11k
YesSQL, Process and Tooling at Scale
rocio
172
14k
GraphQLとの向き合い方2022年版
quramy
46
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Code Review Best Practice
trishagee
68
18k
Adopting Sorbet at Scale
ufuk
76
9.4k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
How to Ace a Technical Interview
jacobian
276
23k
Agile that works and the tools we love
rasmusluckow
329
21k
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ੈͷதΛม͑ଓ͚· ͢ɻ Ҿ͖ଓ͖͝ظ͍ͩ͘͞ʂ