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
0
17
Railsのオートリロード機能の仕組み
Railsを使って開発を行っている人が、日々何気なく利用している「オートリロード機能」。
この機能がどのような仕組みによって実現されているのかを紹介するスライドです。
KishiKyosuke(Kyo18)
December 15, 2025
Tweet
Share
More Decks by KishiKyosuke(Kyo18)
See All by KishiKyosuke(Kyo18)
Railsアップグレード
kishikyousuke
0
71
自作サービスProspectsWatcherの開発報告
kishikyousuke
0
93
Terraform超超入門
kishikyousuke
0
150
OAuthと仲良くなりたかった
kishikyousuke
0
1.2k
Other Decks in Programming
See All in Programming
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
6
650
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
250
CSC307 Lecture 05
javiergs
PRO
0
500
今から始めるClaude Code超入門
448jp
8
9.1k
2026年 エンジニアリング自己学習法
yumechi
0
140
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
480
Gemini for developers
meteatamel
0
100
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.6k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Building an army of robots
kneath
306
46k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
77
Raft: Consensus for Rubyists
vanstee
141
7.3k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
How GitHub (no longer) Works
holman
316
140k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
KATA
mclloyd
PRO
34
15k
How to Talk to Developers About Accessibility
jct
2
140
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 ͓·͚ Πϕϯτํࣜ ϙʔϦϯάํࣜ ө࣌ؒ खܰ͞ ൚༻ੑ Ϧιʔεޮ 👑 👑
👑 👑