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産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
Search
lni_T
June 05, 2025
Programming
1
230
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
Omotesando.rb #110 のLT資料です
「Rails産でないDBをRailsに引っ越すHACK」
lni_T
June 05, 2025
Tweet
Share
More Decks by lni_T
See All by lni_T
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
710
ruby.wasmとWebSocketで遊ぼう!
lnit
0
190
ActiveRecordの力でDBのメタデータを迅速に解析する
lnit
6
2.9k
ruby.wasm × Service Workerでサーバーのいらないモックサーバーを作る
lnit
0
370
Railsアプリの仕様書を一瞬で作りたい話 - Omotesando.rb #99
lnit
1
350
ruby.wasm 最前線 2024 - wasmでMockServerをつくる #rubykaigi
lnit
2
4k
Turbolinksアレルギー患者に捧げるTurbo & Stimulusでの時短実装術 / Kaigi on Rails 2023
lnit
4
5.9k
ruby.wasmでブラウザを酷使してみよう / 2023-MatsueRubyKaigi
lnit
0
1.7k
ブラウザで「今すぐ」gemを読み込む方法 / Load-gem-from-browser-JUST-NOW
lnit
0
1.4k
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
230
Webサーバーサイド言語としてのRustについて
kouyuume
1
4.9k
コード生成なしでモック処理を実現!ovechkin-dm/mockioで学ぶメタプログラミング
qualiarts
0
260
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
470
CSC509 Lecture 08
javiergs
PRO
0
250
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.5k
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
190
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.1k
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
160
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
650
社会人になっても趣味開発を続けたい! / traPavilion
mazrean
1
100
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
Featured
See All Featured
Designing for Performance
lara
610
69k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Designing Experiences People Love
moore
142
24k
Side Projects
sachag
455
43k
RailsConf 2023
tenderlove
30
1.3k
Documentation Writing (for coders)
carmenintech
75
5.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Automating Front-end Workflow
addyosmani
1371
200k
A Tale of Four Properties
chriscoyier
161
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Transcript
3BJMT࢈Ͱͳ͍%#Λ 3BJMTʹҾͬӽ͢)"$, 0NPUFTBOEPSC !-OJ@5ϧχ
ࣗݾհ w5XJUUFS 9 *%!MOJ@5 ϧχ w.FE1FFS ג ͷ3BJMTΤϯδχΞ w+BWBΛ3BJMTʹϦϓϨΠεͨ͠Γ
1)1Λ3BJMTʹϦϓϨΠεͨ͠Γɹͯ͠ੜܭΛཱͯΔ ʘΑΖ͘͠Ͷʗ
None
None
͡Ίʹ
ຊͷςʔϚ 3BJMT
ຊͷςʔϚ "DUJWF3FDPSE
"DUJWF3FDPSE ͍ͬͯ·͔͢ʁ
"DUJWF3FDPSE .7$ΞʔΩςΫνϟͷ.PEFM෦ .PEFM ॲཧ 7JFX දࣔ $POUSPMMFS ೖྗୡ
ڧྗͳ03.BQQFS ϓϩάϥϛϯάݴޠͷΦϒδΣΫτͱ3%#.4Λଓ͢Δٕज़ ΦϒδΣΫτͷଐੑؔ࿈ΛఆٛͰ͖Δ 42-Λهड़ͤͣɺอଘऔಘ͕Ͱ͖Δ
ศརʂ 3BJMTΤϯδχΞ 42-͕ॻ͚ͳ͍ʂ
ҰํͰ
ن͕ఆΊΒΕ͍ͯΔ
͍Ζ͍Ζͳن ςʔϒϧ໊Ϟσϧ໊ͷෳܗTOBLF@DBTF #PPL$MVCCPPL@DMVCT αϩήʔτΩʔ ػցతͳओΩʔ ͷར༻
Կࢦఆ͠ͳ͚ΕJEΧϥϜ͕ࣗಈੜ͞ΕΔ ֎෦Ωʔͷ໋໊୯ܗͷςʔϒϧ໊@JEύλʔϯ
͍Ζ͍Ζͳن ςʔϒϧ໊Ϟσϧ໊ͷෳܗTOBLF@DBTF #PPL$MVCCPPL@DMVCT αϩήʔτΩʔ ػցతͳओΩʔ ͷར༻
Կࢦఆ͠ͳ͚ΕJEΧϥϜ͕ࣗಈੜ͞ΕΔ ֎෦Ωʔͷ໋໊୯ܗͷςʔϒϧ໊@JEύλʔϯ "DUJWF3FDPSEͷڧྗ͞ͷԸܙΛड͚Δʹ %#ઃܭΛنʹ߹ΘͤΔඞཁ͕͋Δ
ઃఆΑΓن💪
͔͠͠
3BJMTͰͳ͍αʔϏεͷ%#ʁ
ຊͷςʔϚ ଞͷݴޠͷ8FCαʔϏεΛ3BJMTʹϦϓϨΠε͢Δͧʂ %#ؔ࿈ͷͭΒ͍ࣄྫͱճආࡦ
લఏ݅
લఏ݅ %#ߏΛ࠶ฤ͢ΔҠߦํͰͳ͘ʜʜ
લఏ݅ ӡ༻தͷ%#ʹଓͯ͠ঃʑʹҠߦ͍ͯ͘͠ํʂ
ຊฤ
໋໊نҧͷରࡦ
໋໊نҧͷରࡦ ςʔϒϧ໊ࢦఆUBCMF@OBNF ֎෦Ωʔ໊ࢦఆGPSFJHO@LFZ IUUQTSBJMTHVJEFTKQBDUJWF@SFDPSE@CBTJDTIUNM໋໊نΛ্ॻ͖͢Δ
3BJMTنΛ্ॻ͖Ͱ͖Δ ͳΜͩࣗ༝ߴ͍͡ΌΜ 😁😁😁
ͱࢥ͍͖ʜʁ
%BOHFSPVT"UUSJCVUF&SSPS "DUJWF3FDPSE%BOHFSPVT"UUSJCVUF&SSPS 3BJMTͰ༧ࡁͷΧϥϜ໊͑ͳ͍ IBTI NPEFM@OBNF PCKFDU@JEͳͲͳͲʜʜ
"DUJWF3FDPSEͷΠϯελϯεϝιου໊ͱಉ໊͡લͷΧϥϜ͕ طଘ%#ͷςʔϒϧʹ࡞ΒΕ͍ͯΔͱ065
ରࡦʁ
ͦͷ໊લΛΘͳ͍
ӡ༻தͷΧϥϜͷ 3FOBNFӨڹൣғେ Ͱ͖ͨΒ ۤ࿑͠ͳ͍
ۤͷࡦ ΧϥϜ໊ҡ࣋
JHOPSFE@DPMVNOT "DUJWF3FDPSEΦϒδΣΫτ͔Β ແࢹ͞ΕΔ ͷࢀরઃఆͰ͖ͳ͍ औΓٸ͗ΤϥʔΛফ͍ͨ͠߹͜Ε
σʔλಡΈऔΓ
(FOFSBUFE$PMVNO 3%#.4ͷʮ(FOFSBUFE$PMVNOʯ ੜྻ ػೳ͕͑Δ߹͋Γ .Z42- 1PTUHSF42- 42-JUF͋ͨΓͰ͑ͦ͏
ΧϥϜͷ͕ɺΧϥϜఆٛͷʮࣜʯʹΑͬͯܭࢉ͞ΕΔ
(FOFSBUFE$PMVNO ༧ࡁͰͳ໊͍લͷੜྻΛՃ͢Δ͜ͱͰ 3BJMT͔ΒΛࢀরͰ͖ΔΑ͏ʹͳΔ
σʔλॻ͖ࠐΈ
جຊ%#ϨΠϠʔͰΔ
σϑΥϧτ σϑΥϧτఆٛʹܭࢉࣜΛઃఆ͓ͯ͘͠ */4&35࣌ʹ%#͕ΛೖΕͯ͘ΕΔʂ
53*((&3 ςʔϒϧʹରͯ͠ಛఆͷΠϕϯτ͕ൃੜ͢Δͱ࣮ߦ͞ΕΔ 61%"5&࣌ʹ%#͕ΛೖΕͯ͘ΕΔʂ
ཧ͕ͱͯͭΒ͍
ۤଓ͘
ׂ%#ରࡦ
ςʔϒϧ͝ͱʹॴଐ%#͕ҟͳΔ %#͕ෳଘࡏ͢Δ߹͕͋Δ
ෳ%#ରԠ DPO fi HEBUBCBTFZNMͰ%#ଓΛෳఆٛ͢Δ͜ͱ͕Մೳ
DPOOFDUT@UP Ͳͷ%#ʹଓ͢Δ͔ΛϞσϧʹఆٛͰ͖Δ
DPOOFDUT@UP جఈΫϥεΛෳ࡞ͯ͠Ϟσϧ ςʔϒϧ ʹΑ͍͚ͬͯ
ΊͰͨ͠
͑ʂʁ%#Λ·͍ͨͰ 5SBOTBDUJPOॲཧ͍ͨ͠ʁ
ͳͥ%#ׂ͞ΕͯΔʜʁ
ଟॏUSBOTBDUJPO USBOTBDUJPOϒϩοΫΛଟॏʹ͢Δ͜ͱͰ࣮ݱՄೳ ʮσʔλϕʔείωΫγϣϯ୯ҐʯͰτϥϯβΫγϣϯॲཧ͞ΕΔ
ଟॏUSBOTBDUJPO ϩʔϧόοΫ͍ͤͨ͞߹ʹཁҙ "DUJWF3FDPSE3PMMCBDLɹUSBOTBDUJPOΛஈ͔͠ग़Ͱ͖ͳ͍
ଟॏUSBOTBDUJPO ϩʔϧόοΫ͍ͤͨ͞߹ʹཁҙ "DUJWF3FDPSE3PMMCBDLɹUSBOTBDUJPOΛஈ͔͠ग़Ͱ͖ͳ͍ ר͖Δ
ଟॏUSBOTBDUJPO ϩʔϧόοΫ͍ͤͨ͞߹ʹཁҙ "DUJWF3FDPSE3PMMCBDLɹUSBOTBDUJPOΛஈ͔͠ग़Ͱ͖ͳ͍ ר͖Βͳ͍
ଟॏUSBOTBDUJPO શͯͷUSBOTBDUJPOϒϩοΫΛඈͼग़͍ͯ͜͠͏ 3PMMCBDLҎ֎ͷྫ֎Ͱ͋Εग़Մೳ
ऻ͍དྷΔ-FHBDZͨͪ
.Z42-;FSP%BUF ɹͷଘࡏ .Z42-Ͱ݄Λڐ༰͢Δ /05/6--੍ͷΧϥϜͰɺ/6--ͱՁͰ͋Γɺ/6--Ͱͳ͍ *4/6--ͰϚον͢Δ
*4/05/6--ͰϚον͢Δ
ରࡦʁ
Θͳ͍
42-Ϟʔυ 42-Ϟʔυ 42-ߏจͷڍಈΛΓସ͑ΒΕΔΦϓγϣϯͷΑ͏ͳͷ ʮ42-ϞʔυʯʹΑΓ;FSP%BUFېࢭͰ͖Δ جຊతʹ
҆͝৺͍ͩ͘͞ .Z42-Ҏ߱Ͱ;FSP%BUFېࢭ͕σϑΥϧτ
Λ طʹ͍ͬͯΔ ݸͷςʔϒϧͰ EFGBVMUʹར༻ ͔͠͠
ۤͷࡦ
3BJMTʹೝࣝ͞Εͳ͍ 3BJMT[FSPEBUFΛOJMͱͯ͠ѻ͏ ECTDIFNBEVNQͯ͠ग़ྗ͞Εͳ͍ʂ EFWFMPQ UFTUڥͰ%#ߏ͕࠶ݱͰ͖ͳ͍ʜʜ
ؾ߹ϞϯΩʔύον "DUJWF3FDPSEͷ4DIFNB%VNQFSʹؾ߹ͷύονΛͯΔ
*OWBMJEEFGBVMUWBMVF σϑΥϧτ͕;FSPEBUFͷΧϥϜΛؚΉςʔϒϧʹରͯ͠ "-5&35"#-&Λൃߦ͢Δͱ*OWBMJEEFGBVMUWBMVFΤϥʔͱͳΔ
42-Ϟʔυมߋ EBUBCBTFZNMͰʮݫີͳ42-ϞʔυʯΛGBMTFʹͯ͠ճආ ฐ͕େ͖͗͢ΔͷͰਅࣅ͠ͳ͍Α͏ʹʂ
͜ͷষਅࣅ͠ͳ͍Α͏ʹ ຊʹ
·ͱΊ
ՔಇதͷαʔϏεɾσʔλΛकΔ ϦϓϨΠεΔ
େม
γεςϜҠߦେม ࠓՔಇ͍ͯ͠ΔϏδωεɾϢʔβʔɾσʔλΛकΔͷ͕େલఏ ϨΨγʔίʔυͳΒ͵ɺϨΨγʔσʔλߏվળฒߦ͢Δඞཁ͋Γ ͦͷଞͷͭΒ͍ࣄྫɺΑ͖ղܾํ๏Λ͝ଘͷํ ͓͠·͠ΐ͏ʂ