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
27
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
74
自作サービスProspectsWatcherの開発報告
kishikyousuke
0
98
Terraform超超入門
kishikyousuke
0
170
OAuthと仲良くなりたかった
kishikyousuke
0
1.3k
Other Decks in Programming
See All in Programming
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
5.5k
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
270
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
Vite+ Unified Toolchain for the Web
naokihaba
0
320
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.4k
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.3k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.1k
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
170
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
52k
Designing for humans not robots
tammielis
254
26k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Site-Speed That Sticks
csswizardry
13
1.2k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Cult of Friendly URLs
andyhume
79
6.9k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
200
How to train your dragon (web standard)
notwaldorf
97
6.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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 ͓·͚ Πϕϯτํࣜ ϙʔϦϯάํࣜ ө࣌ؒ खܰ͞ ൚༻ੑ Ϧιʔεޮ 👑 👑
👑 👑