Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
240
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
770
ruby.wasmとWebSocketで遊ぼう!
lnit
0
200
ActiveRecordの力でDBのメタデータを迅速に解析する
lnit
6
3k
ruby.wasm × Service Workerでサーバーのいらないモックサーバーを作る
lnit
0
380
Railsアプリの仕様書を一瞬で作りたい話 - Omotesando.rb #99
lnit
1
370
ruby.wasm 最前線 2024 - wasmでMockServerをつくる #rubykaigi
lnit
2
4.1k
Turbolinksアレルギー患者に捧げるTurbo & Stimulusでの時短実装術 / Kaigi on Rails 2023
lnit
4
6k
ruby.wasmでブラウザを酷使してみよう / 2023-MatsueRubyKaigi
lnit
0
1.8k
ブラウザで「今すぐ」gemを読み込む方法 / Load-gem-from-browser-JUST-NOW
lnit
0
1.4k
Other Decks in Programming
See All in Programming
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
350
sbt 2
xuwei_k
0
300
エディターってAIで操作できるんだぜ
kis9a
0
740
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
AIエージェントの設計で注意するべきポイント6選
har1101
4
300
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.2k
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
AIコーディングエージェント(NotebookLM)
kondai24
0
200
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
850
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
350
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Unsuck your backbone
ammeep
671
58k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Done Done
chrislema
186
16k
Side Projects
sachag
455
43k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
A designer walks into a library…
pauljervisheath
210
24k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Thoughts on Productivity
jonyablonski
73
5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
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ʹͯ͠ճආ ฐ͕େ͖͗͢ΔͷͰਅࣅ͠ͳ͍Α͏ʹʂ
͜ͷষਅࣅ͠ͳ͍Α͏ʹ ຊʹ
·ͱΊ
ՔಇதͷαʔϏεɾσʔλΛकΔ ϦϓϨΠεΔ
େม
γεςϜҠߦେม ࠓՔಇ͍ͯ͠ΔϏδωεɾϢʔβʔɾσʔλΛकΔͷ͕େલఏ ϨΨγʔίʔυͳΒ͵ɺϨΨγʔσʔλߏվળฒߦ͢Δඞཁ͋Γ ͦͷଞͷͭΒ͍ࣄྫɺΑ͖ղܾํ๏Λ͝ଘͷํ ͓͠·͠ΐ͏ʂ