Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Railsのオートリロード機能の仕組み
Search
KishiKyosuke(Kyo18)
December 15, 2025
Programming
0
8
Railsのオートリロード機能の仕組み
Railsを使って開発を行っている人が、日々何気なく利用している「オートリロード機能」。
この機能がどのような仕組みによって実現されているのかを紹介するスライドです。
KishiKyosuke(Kyo18)
December 15, 2025
Tweet
Share
More Decks by KishiKyosuke(Kyo18)
See All by KishiKyosuke(Kyo18)
Railsアップグレード
kishikyousuke
0
70
自作サービスProspectsWatcherの開発報告
kishikyousuke
0
92
Terraform超超入門
kishikyousuke
0
150
OAuthと仲良くなりたかった
kishikyousuke
0
1.2k
Other Decks in Programming
See All in Programming
Microservices rules: What good looks like
cer
PRO
0
1.4k
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
720
エディターってAIで操作できるんだぜ
kis9a
0
730
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
110
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
320
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.6k
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
190
AIコーディングエージェント(NotebookLM)
kondai24
0
200
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
130
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
150
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
4.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Speed Design
sergeychernyshev
33
1.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Language of Interfaces
destraynor
162
25k
GraphQLとの向き合い方2022年版
quramy
50
14k
Designing for Performance
lara
610
69k
Why Our Code Smells
bkeepers
PRO
340
57k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Being A Developer After 40
akosma
91
590k
Transcript
ʑͷ։ൃΛӄͰࢧ͑Δ 3BJMTͷΦʔτϦϩʔυػೳͷΈ 1 ؛ګี
2 ൃੜʜ ͋Εʁ 3BJMTͷΦʔτϦϩʔυ͕ޮ͍ͯͳ͘Ͷʁ
3 3BJMTͷΦʔτϦϩʔυʁ ։ൃڥͰىಈதͷΞϓϦέʔγϣϯʹ ϑΝΠϧͷมߋΛࣗಈөͯ͘͠ΕΔͭ
4 ͜Ε͕ޮ͔ͳ͍ͱ ϑΝΠϧมߋͷͨͼʹ3BJMTΛ࠶ىಈͤ͞Δͷ ΊͪΌͪ͘Ό໘😫
5 ͦΜͳ࣌ ͱΓ͋͑ͣ$MBVEFઌੜʹฉ͍ͯΈΑ͏
6 $MBVEFʹฉ͍ͯΈͨ 3BODIFSͷίϯςφ্Ͱ3BJMTΛىಈ͍ͯ͠ΔΜͩ ͚ͲɺϑΝΠϧʹมߋΛՃ͑ͨ߹ʹมߋ༰͕ى ಈதͷΞϓϦέʔγϣϯʹө͞Εͳͯ͘ࠔ͍ͬͯ ΔΜͩɻղܾํ๏Λڭ͑ͯɻ ɾɾɾ ˞3BODIFSʹ%PDLFS%FTLUPQΈ͍ͨͳͭ
7 $MBVEFʹฉ͍ͯΈͨ ϘϦϡʔϜϚϯτͷઃఆ͕ؒҧ͍ͬͯΔ͔ʁ 3BJMTͷڥ͕QSPEVDUJPOʹͳ͍ͬͯͳ͍ʁ TQSJOHͷΩϟογϡͷͰʁ ϑΝΠϧࢹํ๏ͷઃఆͷͰʁ
8 $MBVEFʹฉ͍ͯΈͨ ϘϦϡʔϜϚϯτͷઃఆ͕ؒҧ͍ͬͯΔ͔ʁ 3BJMTͷڥ͕QSPEVDUJPOʹͳ͍ͬͯͳ͍ʁ TQSJOHͷΩϟογϡͷͰʁ ϑΝΠϧࢹγεςϜͷͰʁ ❌ ❌ ❌ ‼
9 $MBVEFͷճ
10 $MBVEFͷճ DPOGJHGJMF@XBUDIFSΛ "DUJWF4VQQPSU&WFOUFE'JMF6QEBUF$IFDLFS ⬇ "DUJWF4VQQPSU'JMF6QEBUF$IFDLFS
11 ࢼͨ݁͠Ռ ϑΝΠϧͷมߋ͕ىಈதͷΞϓϦέʔγϣϯʹ ө͞ΕΔΑ͏ʹͳͬͨʂ✌😁
12 ·ͱΊ 3BODIFSͷίϯςφڥͰಈ͘3BJMTͰ ΦʔτϦϩʔυ͕ޮ͔ͳ͘ͳͬͨΒ DPOGJHGJMF@XBUDIFSͷઃఆΛมߋ͢Εྑͦ͞͏ʂ
13 ·ͱΊ 3BODIFSͷίϯςφڥͰಈ͘3BJMTͰ ΦʔτϦϩʔυ͕ޮ͔ͳ͘ͳͬͨΒ DPOGJHGJMF@XBUDIFSͷઃఆΛมߋ͢Εྑͦ͞͏ʂ ͜ΕͰ͍͚·ͤΜͶʁ
14 ·ͱΊ 3BODIFSͷίϯςφڥͰಈ͘3BJMTͰ ΦʔτϦϩʔυ͕ޮ͔ͳ͘ͳͬͨΒ DPOGJHGJMF@XBUDIFSͷઃఆΛมߋ͢Εྑͦ͞͏ʂ "*શͷࠓͰ͋ͬͯ ࠜڌઆ໌Ͱ͖ΔΑ͏ʹ͓͖͍ͯͨ͠ʂ
15 ͱ͍͏͜ͱͰ 3BJMTͲͷΑ͏ʹͯ͠ϑΝΠϧมߋΛ ىಈதͷΞϓϦέʔγϣϯʹө͍ͯ͠Δͷ͔ʁʁ 👉
16 3BJMTͷϑΝΠϧมߋөͷΈ ϑΝΠϧͷมߋΛ ݕ͢Δॲཧ ݕͨ͠มߋΛ ө͢Δॲཧ
17 ઌ΄Ͳͷઃఆมߋ DPOGJHGJMF@XBUDIFSΛ "DUJWF4VQQPSU&WFOUFE'JMF6QEBUF$IFDLFS ⬇ "DUJWF4VQQPSU'JMF6QEBUF$IFDLFS
18 ઌ΄Ͳͷઃఆมߋ DPOGJHGJMF@XBUDIFSΛ "DUJWF4VQQPSU&WFOUFE'JMF6QEBUF$IFDLFS ⬇ "DUJWF4VQQPSU'JMF6QEBUF$IFDLFS Կ͕มΘͬͨͷ͔ʁʁ 🤔
19 ϑΝΠϧมߋөΛͬ͘͟Γ ϑΝΠϧͷมߋΛ ݕ͢Δॲཧ ݕͨ͠มߋΛ ө͢Δॲཧ 👉 ઃఆʹΑͬͯมߋ͞Εͨ
20 ϑΝΠϧมߋөΛͬ͘͟Γ ϑΝΠϧͷมߋΛ ݕ͢Δॲཧ ݕͨ͠มߋΛ ө͢Δॲཧ 👉 ͬͪ͜ڞ௨ͷॲཧ
21 ϑΝΠϧมߋөॲཧΛͬ͘͟Γ ϑΝΠϧͷมߋΛ ݕ͢Δॲཧ ݕͨ͠มߋΛ ө͢Δॲཧ
22 3BJMTͷϑΝΠϧݕํ๏ 3BJMTϑΝΠϧͷมߋͷݕํ๏Λ ͭ༻ҙͯ͘͠Ε͍ͯΔ
23 3BJMTͷϑΝΠϧݕํ๏ Πϕϯτํࣜ "DUJWF4VQQPSU&WFOUFE'JMF6QEBUF$IFDLFS ϙʔϦϯάํࣜ "DUJWF4VQQPSU'JMF6QEBUF$IFDLFS
24 3BJMTͷϑΝΠϧݕํ๏ Πϕϯτํࣜ "DUJWF4VQQPSU&WFOUFE'JMF6QEBUF$IFDLFS ϙʔϦϯάํࣜ "DUJWF4VQQPSU'JMF6QEBUF$IFDLFS
25 Πϕϯτํࣜͷ͘͠Έ ϑΝΠϧ͕มߋ͞Εͨ࣌ʹੜ͞ΕΔ ϑΝΠϧΠϕϯτΛΩϟον͢Δ͜ͱͰมߋΛݕ͢Δ
26 Πϕϯτํࣜͷ͘͠Έ ✍ ϑΝΠϧมߋ
27 Πϕϯτํࣜͷ͘͠Έ ✍ ϑΝΠϧมߋ 👀📣 04ͷ ϑΝΠϧࢹػೳ ⏪
28 Πϕϯτํࣜͷ͘͠Έ ✍ ϑΝΠϧมߋ 👀📣 04ͷ ϑΝΠϧࢹػೳ ϑΝΠϧมߋ͞ΕͨͰʂ ⏪
29 Πϕϯτํࣜͷ͘͠Έ ✍ ϑΝΠϧมߋ 👀📣 04ͷ ϑΝΠϧࢹػೳ ⏪ ϑΝΠϧมߋ͞ΕͨͰʂ ϑΝΠϧΠϕϯτ
30 Πϕϯτํࣜͷ͘͠Έ ✍ ϑΝΠϧมߋ 👀📣 04ͷ ϑΝΠϧࢹػೳ ⏪ ⏪ 👂
MJTUFOHFN ϑΝΠϧมߋ͞ΕͨͰʂ ϑΝΠϧΠϕϯτ
31 Πϕϯτํࣜͷ͘͠Έ ✍ ϑΝΠϧมߋ 👀📣 04ͷ ϑΝΠϧࢹػೳ ⏪ ⏪ 👂
MJTUFOHFN ϑΝΠϧมߋ͞ΕͨͰʂ ϑΝΠϧΠϕϯτ ❗
32 Πϕϯτํࣜͷ͘͠Έ ✍ ϑΝΠϧมߋ ⏪ 👀📣 04ͷ ϑΝΠϧࢹػೳ 👂 MJTUFOHFN
⏩ มߋͷөͯ͠ʂ ⏪ ϑΝΠϧมߋ͞ΕͨͰʂ ϑΝΠϧΠϕϯτ
33 ϑΝΠϧΠϕϯτͱ ϑΝΠϧͷ࡞ɾมߋɾআʹԠͯ͡ɺ 04ࡌͷϑΝΠϧࢹػೳ͕ੜ͢ΔΠϕϯτͷ͜ͱ 🐧 -JOVYˠJOPUJGZ 🍎 .BD04ˠ'4&WFOUT 🪟 8JOEPXTˠ3FBE%JSFDUPSZ$IBOHFT8
34 ϑΝΠϧΠϕϯτੜͷ༷ࢠ 🍎.BD04ͷ'4&WFOUTͷϑΝΠϧΠϕϯτΛ GTXBUDIΛͬͯ֬ೝͯ͠Έ·͠ΐ͏
35 MJTUFOHFNͷΠϕϯτΩϟονͷ༷ࢠ MJTUFOHFN3BJMTͷىಈͱಉ࣌ʹಈ͖ग़͢ ಛఆͷڥมΛࢦఆͯ͠ىಈ͢Δͱϩά͕֬ೝͰ͖Δ
36 Πϕϯτํࣜͷ͘͠Έ ✍ ϑΝΠϧมߋ ⏪ 👀📣 04ͷ ϑΝΠϧࢹػೳ ϑΝΠϧมߋ͞ΕͨͰʂ 👂
MJTUFOHFN ⏩ มߋͷөͯ͠ʂ ⏪
37 3BJMTͷϑΝΠϧݕํ๏ Πϕϯτํࣜ "DUJWF4VQQPSU&WFOUFE'JMF6QEBUF$IFDLFS ϙʔϦϯάํࣜ "DUJWF4VQQPSU'JMF6QEBUF$IFDLFS
38 3BJMTͷϑΝΠϧݕํ๏ Πϕϯτํࣜ "DUJWF4VQQPSU&WFOUFE'JMF6QEBUF$IFDLFS ϙʔϦϯάํࣜ "DUJWF4VQQPSU'JMF6QEBUF$IFDLFS
39 ϙʔϦϯάํࣜͷ͘͠Έ ରϑΝΠϧͷߋ৽࣌ؒΛνΣοΫͯ͠ճΔ ८ճϓϩάϥϜʹΑͬͯϑΝΠϧͷมߋΛݕ͢Δ
40 ϙʔϦϯάํࣜͷ͘͠Έ 📄 📄 📄 ରͷϑΝΠϧ
41 ϙʔϦϯάํࣜͷ͘͠Έ 📄 📄 📄 ରͷϑΝΠϧ 👮 3BJMTͷ ८ճϓϩάϥϜ ⏪
⏪ ⏪
42 ϙʔϦϯάํࣜͷ͘͠Έ 📄 📄 📄 ରͷϑΝΠϧ 👮 3BJMTͷ ८ճϓϩάϥϜ ⏪
⏪ ⏪ ✍ ϑΝΠϧมߋ ⏩
43 ϙʔϦϯάํࣜͷ͘͠Έ 📄 📄 📄 ରͷϑΝΠϧ 👮 3BJMTͷ ८ճϓϩάϥϜ ⏪
⏪ ⏪ ✍ ϑΝΠϧมߋ ⏩ λΠϜελϯϓ ߋ৽ ❗
44 ϙʔϦϯάํࣜͷ͘͠Έ 📄 📄 📄 ରͷϑΝΠϧ 👮 3BJMTͷ ८ճϓϩάϥϜ ⏪
⏪ ⏪ ✍ ϑΝΠϧมߋ ⏩ λΠϜελϯϓ ߋ৽ ϑΝΠϧมߋ͞Ε͔ͨΒ มߋөͯ͠ʂ
45 3BJMTͷϑΝΠϧݕํ๏ͷมߋ Πϕϯτํࣜ "DUJWF4VQQPSU&WFOUFE'JMF6QEBUF$IFDLFS ϙʔϦϯάํࣜ "DUJWF4VQQPSU'JMF6QEBUF$IFDLFS
46 3BJMTͷϑΝΠϧมߋөͷΈ ϑΝΠϧͷมߋΛ ݕ͢Δॲཧ ݕͨ͠มߋΛ ө͢Δॲཧ
47 3BJMTͷϑΝΠϧมߋөͷΈ ϑΝΠϧͷมߋΛ ݕ͢Δॲཧ ݕͨ͠มߋΛ ө͢Δॲཧ
48 ݕͨ͠มߋͷөͷΈ ϦΫΤετͷॲཧલʹ શͯͷDMBTTNPEVMFΛΞϯϩʔυ͢Δ͜ͱͰ มߋΛө͢Δ
49 ݕͨ͠มߋͷөͷΈ มߋͷөͯ͠ʂ
50 ݕͨ͠มߋͷөͷΈ มߋͷөͯ͠ʂ 🚩 มߋөϑϥά
51 ݕͨ͠มߋͷөͷΈ มߋөϑϥά 🙏 ϦΫΤετ ↙ 🚩
52 ݕͨ͠มߋͷөͷΈ มߋөϑϥά 🙏 ϦΫΤετ ↙ 🚩 🚮 ➡ ϩʔυ͍ͯͨ͠
DMBTTNPEVMFΛ શͯഁغ
53 ݕͨ͠มߋͷөͷΈ มߋөϑϥά 🙏 ϦΫΤετ ↙ 🚩 ➡ ➡ 🚮
ϩʔυ͍ͯͨ͠ DMBTTNPEVMFΛ શͯഁغ 🔄 ϦΫΤετΛ ॲཧ
54 ݕͨ͠มߋͷөͷΈ มߋөϑϥά 🙏 ϦΫΤετ ↙ 🚩 ➡ ➡ 🚮
🔄 ϦΫΤετΛ ॲཧ ඞཁͳDMBTTNPEVMFΛ ࠶ϩʔυ ϩʔυ͍ͯͨ͠ DMBTTNPEVMFΛ શͯഁغ
55 3BJMTͷϑΝΠϧมߋөͷΈ ϑΝΠϧͷมߋΛ ݕ͢Δॲཧ ݕͨ͠มߋΛ ө͢Δॲཧ
56 ؾʹͳΔͷ ͳΜͰݕํ๏ͷมߋͰͬͨͷʁ
57 3BJMTͷϑΝΠϧݕํ๏ͷมߋ Πϕϯτํࣜ "DUJWF4VQQPSU&WFOUFE'JMF6QEBUF$IFDLFS ϙʔϦϯάํࣜ "DUJWF4VQQPSU'JMF6QEBUF$IFDLFS ⬇ ͳΜͰͬͨͷ͔ʁʁ 🤔
58 ζόϦ 3BODIFS͕ϑΝΠϧΠϕϯτΛ ίϯςφʹ্ख͑͘ΒΕ͍ͯͳ͔͔ͬͨΒ
59 ΠϕϯτํࣜXJUIίϯςφ ✍ ϑΝΠϧมߋ ⏪ 👀📣 04ͷ ϑΝΠϧࢹػೳ 👂 MJTUFOHFN
⏩ มߋͷөͯ͠ʂ ⏪ ϑΝΠϧมߋ͞ΕͨͰʂ ϑΝΠϧΠϕϯτ
60 ΠϕϯτํࣜXJUIίϯςφ ✍ ϑΝΠϧมߋ ⏪ 👀📣 04ͷ ϑΝΠϧࢹػೳ 👂 MJTUFOHFN
⏪ ίϯςφ ϑΝΠϧมߋ͞ΕͨͰʂ ϑΝΠϧΠϕϯτ
61 ΠϕϯτํࣜXJUIίϯςφ ✍ ϑΝΠϧมߋ ⏪ 👀📣 04ͷ ϑΝΠϧࢹػೳ 👂 MJTUFOHFN
શવฉ͑͜ΜΘ❗ ⏪ ίϯςφ ❓ ϑΝΠϧมߋ͞ΕͨͰʂ ϑΝΠϧΠϕϯτ
62 ҙ ⚠ ࠓճͷ3BODIFSΛར༻ͨ͠έʔεͰൃੜ͠·͢ 3BODIFS͕ͳͥϑΝΠϧΠϕϯτΛ ্ख͑͘ΒΕͳ͍ͷ͔॓ͱ͍ͤͯͩ͘͞͞
63 ҰํͰ ͳͥϙʔϦϯάํࣜͳΒͳ͍ͷ͔ʁ
64 ϙʔϦϯάํࣜXJUIίϯςφ 📄 📄 📄 ରͷϑΝΠϧ 👮 3BJMTͷ ८ճϓϩάϥϜ ⏪
⏪ ⏪ ✍ ϑΝΠϧมߋ ⏩ λΠϜελϯϓ ߋ৽ ϑΝΠϧมߋ͞Ε͔ͨΒ มߋөͯ͠ʂ
65 ϙʔϦϯάํࣜXJUIίϯςφ 📄 📄 📄 ରͷϑΝΠϧ 👮 3BJMTͷ ८ճϓϩάϥϜ ⏪
⏪ ⏪ ✍ ϑΝΠϧมߋ ⏩ λΠϜελϯϓ ߋ৽ ίϯςφ
66 ϙʔϦϯάํࣜXJUIίϯςφ 📄 📄 📄 ରͷϑΝΠϧ 👮 3BJMTͷ ८ճϓϩάϥϜ ✍
ϑΝΠϧมߋ ⏩ λΠϜελϯϓ ߋ৽ ίϯςφ 📄 📄 📄 ಉظ͞ΕͨϑΝΠϧ λΠϜελϯϓ ߋ৽ ⏪ ⏪ ⏪ ❗
67 ͭ·Γ 3BODIFSϑΝΠϧΠϕϯτ্ख͑͘ΒΕͳ͍͕ ϑΝΠϧͷλΠϜελϯϓͷಉظͯ͘͠ΕΔͷͰ ϙʔϦϯάํ͕ࣜ༗ޮͩͬͨ
68 ·ͱΊ ɾ3BJMTͷΦʔτϦϩʔυػೳϑΝΠϧมߋͷݕͱมߋͷө ͷͭͷॲཧʹେผͰ͖Δ ɾϑΝΠϧมߋͷݕํ๏ʹΠϕϯτํࣜͱϙʔϦϯάํࣜͷ छྨͷํ๏͕༻ҙ͞Ε͍ͯΔ ɾࠓճͷΑ͏ʹϑΝΠϧΠϕϯτ͕ѻ͑ͳ͍໘͋ΔͷͰ ͭͷํ๏Λ্ख͍͚͘Δͱྑͦ͞͏
69 ײ ɾීஈԿؾͳ͓͘ੈʹͳ͍ͬͯΔػೳͷ ΈΛௐΔͷ݁ߏָ͔ͬͨ͠ ɾԾઆݕূ༻ͷΞϓϦΛύύοͱ࡞ΕΔ"*"HFOU͞Μ ϚδͰศར
70 ͓ΘΓ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ 👂 👮
71 ͓·͚ Πϕϯτํࣜ ϙʔϦϯάํࣜ ө࣌ؒ खܰ͞ ൚༻ੑ Ϧιʔεޮ 👑 👑
👑 👑