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
新卒がみんなのウェディングで MobaSifをRailsに移行してみた - テーブル設計編 -
Search
kiyokuro
January 18, 2018
Programming
1.2k
0
Share
新卒がみんなのウェディングで MobaSifをRailsに移行してみた - テーブル設計編 -
メドピア株式会社 × 株式会社みんなのウェディング Rails勉強会の登壇資料
https://mwed.connpass.com/event/74613/
kiyokuro
January 18, 2018
Other Decks in Programming
See All in Programming
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
0
270
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2k
Sans tests, vos agents ne sont pas fiables
nabondance
0
140
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
160
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
110
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
3
190
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
170
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
540
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
2
160
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
670
Agent Skills を社内で育てる仕組み作り
jackchuka
1
2.1k
Featured
See All Featured
Leo the Paperboy
mayatellez
7
1.8k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Deep Space Network (abreviated)
tonyrice
0
150
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The agentic SEO stack - context over prompts
schlessera
0
780
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
180
Tell your own story through comics
letsgokoyo
1
920
The Curious Case for Waylosing
cassininazir
1
350
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Building Adaptive Systems
keathley
44
3k
Transcript
৽ଔ͕ΈΜͳͷΣσΟϯάͰ .PCB4JGΛ3BJMTʹҠߦͯ͠Έͨ - ςʔϒϧઃܭฤ - גࣜձࣾΈΜͳͷΣσΟϯά ࠇᖒਗ਼ 1
ࣗݾհ 2 ࠇᖒ ਗ਼(͘Ζ͞Θ ͖Α͔ͣ) 2017/4~ ΈΜͳͷΣσΟϯά ٕज़ RailsτϨʔχϯάத ඒज़ؗ८ΓɺԾ௨՟
എܠ w d݄͔ΒجૅݚमΛ͠·ͨ͠ w 3BJMT5VUPSJBM w %#ઃܭ w ΦϒδΣΫτࢦ w
݄͔Β0+5ͰΈΜͳͷΣσΟϯάͷ3BJMTҠߦΛ͢Δ w ৽ଔΤϯδχΞͷݚमͷҰ w ݱߦͷγεςϜ.PCB4J'ͱ͍͏1FSMϑϨʔϜϫʔΫ w lϦχϡʔΞϧzͰͳ͘zҠߦz 3
3BJMTҠߦର w ΈΜͳͷΣσΟϯάͷ૬ஊ w .PCB4J'ͷγεςϜ͔ΒҠߦ͢Δ w ૬ஊϢʔβ͕݁ࠗؔ࿈ͷҙݟަΛ͢Δ w .PCB4J'ͷঢ়ଶ͔Βઃܭɺ։ൃɺϦϦʔε·Ͱ௨͠ 4
ݱঢ়ௐࠪ 5
%#Λ͍ͯΈΔ w ಡΊͳ໊͍લͷΧϥϜ w ༻్ෆ໌ͳΧϥϜ w ར༻ঢ়گͷΘ͔Βͳ͍ΧϥϜ 6 • ૬ஊͷςʔϒϧ
ques_data
ௐࠪͷऔΓΈ w ಓʹௐࠪ w ઌഐࣾһʹฉ͘ w ʮVTFGVM@HPPE@OVNʯͱʮVTFGVM@OVNʯɺ ʮHPPE@UPUBM@OVNʯͷҧ͍ԿͰ͔͢ʁʁ w ʮDFO@qHʯʹೖ͍ͬͯΔ
< >ͷҙຯ ԿͰ͔͢ʁʁ w ෆ໌ͳͷ࣮ࡍʹσʔλΛ࡞ͬͯมԽΛ֬ೝ 7
طଘςʔϒϧఘΊΔ 8
ํ w ςʔϒϧͷ࠶ઃܭΛ͢Δ w ࠶ઃܭͯ͠Өڹൣғ͕খ͍͞ͷͰڐՄ͞ΕΔ w Өڹ͕ग़Δൣғ.PCB4J'Ͱमਖ਼ 9
3BJMTͷ3BJMʹΔ w ςʔϒϧ໊ɾΧϥϜ໊ʹུޠΘͳ͍ w ςʔϒϧ໊ෳܗʹ͢Δ w ओΩʔJEʹ͢Δ w DSFBUFE@BUͱVQEBUFE@BUΛՃ͢Δ 10
ΧϥϜͷμΠΤοτʴਖ਼نԽ w ͍ͬͯͳ͍ΧϥϜফ͢ɻ·ͱΊΔɻ w ϚϧνΧϥϜΞτϦϏϡʔτ ΞϯνύλʔϯΛղফ w 42-Ξϯνύλʔϯ 11 ̍ͭͷΧϥϜʹ·ͱΊΔ
ΘΕ͍ͯͳ͍ͷͰআ ผςʔϒϧʹΓग़͢ ݄ʹ͢Δ
ςʔϒϧઃܭͷϨϏϡʔ w Ϛωʔδϟʔʰςʔϒϧઃܭ͕ਖ਼͘͠ͳ͍ͱΞϓϦέʔγϣϯ ͕ਖ਼͘͠࡞Εͳ͍ͷͰςʔϒϧઃܭ͔ͬ͠Γ͢Δʱ w ΈΜͳͷΣσΟϯάͷαϒγεςϜͳͷͰQSFpY͚ͭͨํ͕ ͍͍ w ը૾ϙϦϞʔϑΟοΫؔ࿈ʹ͢Δͷ͔ w
૬ஊͷछྨΧςΰϦ͔λά͔ 12
ͨ͠ςʔϒϧ 13 After Before 36ΧϥϜ 11ΧϥϜ
σʔλҠߦ 14
σʔλҠߦͷௐࠪ w (JUIVCͰςʔϒϧͷσʔλҠߦΛߦͳͬͨ*TTVFΛ୳͢ w σʔλҠߦͷ࣮͕ͳͦ͞͏ w ࠓ·Ͱͷ3BJMTҠߦͰςʔϒϧͷ࠶ઃܭͳ͔ͬͨͨΊ 15
σʔλҠߦεΫϦϓτΛ࡞Δ w σʔλҠߦͷεΫϦϓτSBJMTͰ࡞Δ͔TRMॻ͔͘໎͏ w SBJMTͷͲͷσΟϨΫτϦͰʁچςʔϒϧͷNPEFMͳ͍͚Ͳ w TRMΰϦΰϦෳࡶͳॲཧͷ࣮େมͦ͏ɻ w σʔλҠߦ̍ճ͚࣮ͩߦ͢Δ͔ΒͱΘͳ͍༧ఆ w
؆୯ͳTRMͳΒΰϦΰϦॻ͘ͷେৎ 16
3VCZ 42-ͰσʔλҠߦ w جຊతͳॲཧTFMFDU JOTFSU42-Ͱ͢Δ w ϚϧνΧϥϜΞτϦϏϡʔτΞϯνύλʔϯɺͷมߋ3VCZ Ͱॲཧ͢Δ 17 2Ϩίʔυʹ͚Δ
ϢʔβIDͷԼܻ̏औΓग़͢
ຊ൪࣮ߦલʹݕূ 18
ͦͯ͠ɾɾɾ 19
৽ͨͳςʔϒϧͰ։ൃ w ϨίʔυՃߋ৽͕؆୯ʹͳͬͨ w ෆཁͳΧϥϜͷଘࡏΛؾʹ͠ͳ͍͍ͯ͘ w গͳ͍ίʔσΟϯάͰ"DUJWF3FDPSE͕͑Δ w 3BJMTͰNPEFMΛ࡞ͬͯϦϨʔγϣϯΛషͬͨ࣌ʹɺςʔϒϧ ໊ɾ֎෦ΩʔΛࢦఆ͠ͳ͍͍ͯ͘
20
·ͱΊ 21
·ͱΊ w ৗʹௐΔˠͬͯΈΔͷ܁Γฦ͠ w ฉ͍༷ͯΘ͔Βͳ͍͜ͱ͕͋Δͱ͍͏ݱ࣮ w ςʔϒϧઃܭ͕ΞϓϦ։ൃͷͳͷͰ೦ೖΓʹ͢Δ w σʔλҠߦಠཱͨ͠ϓϩάϥϜͰ࣮͕ͨ͠ɺ"DUJWF3FDPSE Λͬͨόονॲཧͷ࣮ݕ౼Ͱ͖Δ
22