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
33
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
100
Terraform超超入門
kishikyousuke
0
180
OAuthと仲良くなりたかった
kishikyousuke
0
1.3k
Other Decks in Programming
See All in Programming
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
120
新卒PdEのリアル
ryu1013
1
280
[DroidKaigi 26] How We Moved from Android Studio to Slack
thisaay
0
190
Hono + Inertia + React で LP を構築した話
oukayuka
2
200
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
350
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
140
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
160
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
720
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
200
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
120
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
490
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
120
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
860
How to Ace a Technical Interview
jacobian
281
24k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.7k
Making the Leap to Tech Lead
cromwellryan
135
10k
Facilitating Awesome Meetings
lara
57
7.1k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
560
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
590
How to Talk to Developers About Accessibility
jct
2
540
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
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 ͓·͚ Πϕϯτํࣜ ϙʔϦϯάํࣜ ө࣌ؒ खܰ͞ ൚༻ੑ Ϧιʔεޮ 👑 👑
👑 👑