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
Railsのオートリロード機能の仕組み
Search
KishiKyosuke(Kyo18)
December 15, 2025
Programming
30
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Railsのオートリロード機能の仕組み
Railsを使って開発を行っている人が、日々何気なく利用している「オートリロード機能」。
この機能がどのような仕組みによって実現されているのかを紹介するスライドです。
KishiKyosuke(Kyo18)
December 15, 2025
More Decks by KishiKyosuke(Kyo18)
See All by KishiKyosuke(Kyo18)
Railsアップグレード
kishikyousuke
0
75
自作サービスProspectsWatcherの開発報告
kishikyousuke
0
99
Terraform超超入門
kishikyousuke
0
170
OAuthと仲良くなりたかった
kishikyousuke
0
1.3k
Other Decks in Programming
See All in Programming
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
130
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
290
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
160
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
280
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
110
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
460
数百円から始めるRuby電子工作
tarosay
0
120
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
570
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
200
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
190
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
160
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
370
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Typedesign – Prime Four
hannesfritz
42
3.1k
The Invisible Side of Design
smashingmag
301
52k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
380
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
650
Are puppies a ranking factor?
jonoalderson
1
3.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
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 ͓·͚ Πϕϯτํࣜ ϙʔϦϯάํࣜ ө࣌ؒ खܰ͞ ൚༻ੑ Ϧιʔεޮ 👑 👑
👑 👑