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
Perfect Ruby on Rails v2
Search
sugamasao
July 25, 2020
Technology
20k
0
Share
Perfect Ruby on Rails v2
パーフェクトRuby on Rails【増補改訂版】が発売したので少し裏話をお伝えします
sugamasao
July 25, 2020
More Decks by sugamasao
See All by sugamasao
マルチプロダクト環境におけるSREの役割 / SRE NEXT 2025 lunch session
sugamasao
1
2k
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
820
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
750
開発生産性、上から見るか 下から見るか / development productivity and cognitive science
sugamasao
12
12k
開発の安定性・スループットを定量的に見る #とは / Quantitative view of development
sugamasao
1
1.3k
SaaS.tech #1 / SmartHR
sugamasao
2
7k
Ruby history of my life
sugamasao
2
11k
Ruby on Rails 6.0 New Feature
sugamasao
1
12k
Rubyを説明するのは難しい(仮) / ruby is difficult
sugamasao
5
9.6k
Other Decks in Technology
See All in Technology
昔はシンプルだった_AmazonS3
kawaji_scratch
0
330
マルチエージェント × ハーネスエンジニアリング × GitLab Duo Agent Platformで実現する「AIエージェントに仕事をさせる時代へ。」 / 20260421 GitLab Duo Agent Platform
n11sh1
0
150
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
CloudSec JP #005 後締め ~ソフトウェアサプライチェーン攻撃から開発者のシークレットを守る~
lhazy
0
230
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
6
1.2k
AI バイブコーティングでキーボード不要?!
samakada
0
500
MLOps導入のための組織作りの第一歩
akasan
0
320
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
4.7k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
390
QGISプラグイン CMChangeDetector
naokimuroki
1
390
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
290
Revisiting [CLS] and Patch Token Interaction in Vision Transformers
yu4u
0
350
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Skip the Path - Find Your Career Trail
mkilby
1
110
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
BBQ
matthewcrist
89
10k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
190
Technical Leadership for Architectural Decision Making
baasie
3
330
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
ൃചͰ͖ͯΑ͔ͬͨ Kaigi on Rails new(2020/7/25) sugamasao
[email protected]
ͩΕʁ HN:sugamasao PN:͕͢ΘΒ ·͞ͷΓ Rubyྺ : 14͘Β͍ Railsྺ : 10͘Β͍
• WebΞϓϦέʔγϣϯϓϩάϥϚʔ • Rubyʹؔ͢Δॻ੶ͷࣥච׆ಈ
ࣥචྺ 2013 2019 2014 2018 2017 2020
ࣥචྺ 2013 2019 2014 2018 2017 2020 ࠓͷ
͓Αͦ6ӽ͠ʹ ύʔϑΣΫτRuby on Railsͱ͍͏ॻ੶ ΛվగͰ͖ͨͱ͍͏ ͓Λ͠·͢
ΑΖ͘͠ ͓Ͷ͕͍͠·͢
ڞஶ ϝϯόʔ
୭1ਓ͚ܽͯ ग़൛·Ͱ౸ୡͰ ͖ͳ͔ͬͨ ʢͷͰɺຊʹײँ͔͠ͳ͍ʣ
౸ୡͰ͖ͳ͔ͬͨϩά ॳ൛࣌ͷίϛοτ
౸ୡͰ͖ͳ͔ͬͨϩά ҰॠͷΔؾ
౸ୡͰ͖ͳ͔ͬͨϩά ͍Α͍ΑຊʹΔ͔͠ͳ͘ͳͬͨ࣌
౸ୡͰ͖ͳ͔ͬͨϩά ͜͜ͰҰମͳʹ͕ىͬͨ͜ͷ͔? ͦͷṖΛղ͖໌͔͘͢զʑΞϚκϯͷԞͱ͔ͬͨ
2017/09ʙ2018/02 վగΛΓ࢝Ί͕͖ͨ(ry
2018/02ʙ2018/10 ແ෩
2018/02ʙ2018/10 ʢແ෩ͳঢ়ଶʹରͯ͠ʣ ୲ฤूऀࢯ ʮύʔϑΣΫτRuby on Railsͷ४උӡಈ ͱͯ͠1ϜοΫຊΛग़͠·͠ΐ͏͔ʂʯ ʮ͑ͬʯʮ͑ͬʯ
2018/11ʙ2019/10
2018/11ʙ2019/10 https://twitter.com/igaiga555/status/1186457440612544513 ग़ɺग़ʙωλόϨΣʙ
४උӡಈͯ͠·ͨ͠
ύRailsվగʹ๋͛ͨओͳ݄ 19ϲ݄͘Β͍ͬͯͨͬΆ͍
ύRailsվగʹ๋͛ͨओͳ݄ @igaiga555͞Μ @_yasaichi͞Μ ͕ࢀըͯ͘͠Εͨ࣌ظ
ύRailsվగʹ๋͛ͨओͳ݄ @igaiga555͞Μ @_yasaichi͞Μ ͕ࢀըͯ͘͠Εͨ࣌ظ Ͳ͏ݟͯஃͰ͢ɻຊʹ ͋Γ͕ͱ͏͍͟͝·ͨ͠ ʢຊʹʂʣ
ͦΜͳײ͡ͰͰ͖ͨͷ͕ ύʔϑΣΫτRuby on Railsʲ૿ิվగ൛ʳ Ͱ͢
Part1ɹRails ʙ overview 1ষɹRuby on Railsͷ֓ཁ 2ষɹRuby on RailsͱMVC 3ষɹԡ͓͖͍͑ͯͨ͞Railsͷجຊػೳ
ͬ͘͟Γݟॴ • جຊతͳRailsͷ͍ํʹ͍ͭͯɺςΩετͷϒϥο γϡΞοϓղઆ༰ͷΞοϓσʔτ • 3ষͰओʹ `rails` ίϚϯυͰར༻Ͱ͖ΔίϚϯυ܈ ͔ΒݟΔػೳͷհʢྫ͑credentialsͳͲʣ
Part2ɹRailsͷपลࣝ 4ষɹϑϩϯτΤϯυͷ։ൃख๏ 5ষɹRailsඪ४ͷػೳΛ׆༻ͯ͠ૉૣ͘ػೳ࣮͢Δ ͬ͘͟Γݟॴ • 4ষͰWebpacker/Sprockets(CSS͚)ΈΜͳେ ͖stimulusͷղઆͳͲΛ͍ͯ͠ΔΑ • 5ষͰActiveStorageͳͲɺRails͕ఏڙ͍ͯ͠Δศ རίϯϙʔωϯτͷղઆΛ͍ͯ͠ΔΑ
Part3ɹWebΞϓϦέʔγϣϯ։ൃ 6ষɹRailsΞϓϦέʔγϣϯ։ൃ 7ষɹRailsΞϓϦέʔγϣϯͷςετ ͬ͘͟Γݟॴ • ॳ൛Ͱ࡞ͨ͠AwesomeEventsΛݱ༻ʹϦϝΠΫ͠ ͍ͯΔΑ • ςετminitestʹม͑·ͨ͠ •
ίʔυWeb্ʹ͋Γɺষ୯ҐͰλάͳͲଧͬͯ͋Δͱ͍ ͏ҒۀΛୡ͍ͯ͠·͢ • https://github.com/perfect-ruby-on-rails/awesome_events
Part4ɹRailsΞϓϦέʔγϣϯͷ֦ுɾӡ༻ 8ষɹRailsΞϓϦέʔγϣϯ֦ு 9ষɹίʔυ࣭Λ্͛Δ 10ষɹίϯςφΛར༻ͨ͠RailsΞϓϦέʔγϣϯͷӡ༻ ͬ͘͟Γݟॴ • CIgemͷΞοϓσʔτͳͲɺݱͷWebΞϓϦέʔγϣ ϯͰඞཁͳ׆ಈʹ͍ͭͯղઆ͍ͯ͠ΔΑ • ୯ʹRailsΛDockerͰಈ͔͢ɺͰͳ͘Ωϟογϡͷར༻ํ
๏ͳͲݱ࣮Λݟਾ͑ͨίϯςφӡ༻ํ๏ͳͲͷղઆΛͯ͠ ͍ΔΑ
Part5ɹΤΩεύʔτRails 11ষɹෳࡶͳυϝΠϯΛදݱ͢Δ 12ষɹෳࡶͳϢʔεέʔεΛ࣮ݱ͢Δ 13ষɹෳࡶͳσʔλૢ࡞Λ࣮͢Δ ͬ͘͟Γݟॴ • Ͳͷষʮී௨ʹRailsΛ։ൃ͍ͯ͠ΔͱΩπ͘ͳͬͯ͘ Δʯ࣌ͷͲͷΑ͏ʹίʔυΛղ͖΄͙͍ͯ͘͠ͱྑ͍͔ղ આ͍ͯ͠ΔΑ
ύRails/ύʔϑΣΫτRails ͳͲͱఴ͑ͯײΛπΠʔ τ͍͚ͯͨͩ͠Δͱஶऀ͕ͨͪتͼ·͢ʂ☺ ·ͨɺޡࣈࣈͳͲΛൃݟͨ͠ࡍgihyo͞Μͷα ϙʔτϖʔδ͔ɺஶऀͬΆ͍ਓʹڭ͑ͯΒ͑Δͱॿ ͔Γ·͢ ࠷ޙʹ