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 でつくるマルチテナント型Webアプリケーション / multi-tenant we...
Search
Kizashi Nagata
May 12, 2018
Technology
1
2.6k
Rails でつくるマルチテナント型Webアプリケーション / multi-tenant web application building with Rails
Kizashi Nagata
May 12, 2018
Tweet
Share
More Decks by Kizashi Nagata
See All by Kizashi Nagata
ビルドが遅い
kizashi1122
0
470
SQS の使い方を わかっていなかった / I didn't know how to use SQS correctly
kizashi1122
0
710
aws-vault を使った セキュアなアクセスキー管理 / Manage AWS Access Key More Securely By Using aws-vault
kizashi1122
0
950
inotify の話 / About inotify
kizashi1122
0
660
B2Bクラウドサービスをゼロから立ち上げて、利用社数が1000社を超えるまでの道のり / a startup started B2B SaaS business from ground zero
kizashi1122
0
1k
Other Decks in Technology
See All in Technology
Wasmで社内ツールを作って配布しよう
askua
0
150
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
210
With Devin -AIの自律とメンバーの自立
kotanin0
2
790
2025-07-25 NOT A HOTEL TECH TALK ━ スマートホーム開発の最前線 ━ SOFTWARE
wakinchan
0
170
Webの技術とガジェットで那須の子ども達にワクワクを! / IoTLT_20250720
you
PRO
0
130
大規模組織にAIエージェントを迅速に導入するためのセキュリティの勘所 / AI agents for large-scale organizations
i35_267
6
330
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
0
100
生成AIを活用した野球データ分析 - メジャーリーグ編 / Baseball Analytics for Gen AI
shinyorke
PRO
1
220
AWS表彰プログラムとキャリアについて
naoki_0531
1
140
MCPに潜むセキュリティリスクを考えてみる
milix_m
1
870
Vision Language Modelと自動運転AIの最前線_20250730
yuyamaguchi
1
550
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
1.3k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Docker and Python
trallard
45
3.5k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
850
Statistics for Hackers
jakevdp
799
220k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
Transcript
3BJMTͰͭ͘ΔϚϧνςφϯτܕ 8FCΞϓϦέʔγϣϯ ୈճ3VCZؔษڧձ Ӭాɹஹ !LJ[BTIJ
ࣗݾհ w Ӭాɹஹʢ!LJ[BTIJʣ w גࣜձࣾΠϯήʔδ$50 w ʮ3FMBUJPOʯͱ͍͏##͚ΫϥυαʔϏεΛ։ൃ w ʮ3FMBUJPOʯʹ͍ͭͯޙड़ w
झຯίʔώʔʢࣗͰੜ౾ΛᖿḦͯ͠Ṣ͍ͯҿΜͰΔʣ
Ϛϧνςφϯτܕ ΞϓϦέʔγϣϯͬ ͯʁ ࠷ۙͲ͔͜Ͱൃද͞ΕͯͨΑ͏ͳɾɾ
IUUQTHGYIBUFOBCMPHDPNFOUSZ
Ϛϧνςφϯτܕ ΞϓϦέʔγϣϯͱ ͦͷલʹ
ʮ3FMBUJPOʯͱ w ʮϝʔϧड৴ശΛνʔϜͰڞ༗͢ΔͨΊͷαʔϏεʯ w ར༻γʔϯɿTVQQPSU!FYBNQMFDPN JOGP!FYBNQMFDPNͳͲͷදΞυϨεΛෳਓͰର Ԡɾཧ͢Δ w (NBJMͳͲͷݸਓ͚8FCϝʔϧαʔϏεͱҧͬͯɺ νʔϜͰڞ༗͢ΔͨΊʹඞཁͳػೳɺศརͳػೳ͕
ࡌ͞Ε͍ͯΔ
ʮ3FMBUJPOʯػೳ w 5XJUUFS-*/&! w ঝೝػೳ w ೋॏૹ৴ࢭػೳ w ίϝϯτೖྗʢνʔϜίϝϯτʣ w
༧ૹ৴ w ςϯϓϨʔτ w ूܭ Ϗδωε͚ͷػೳ ͕ἧ͍ͬͯΔ
Ϗδωε͚ʁ
#$ͱ##ͷҧ͍ #$ ΞϓϦέʔγϣϯ ## ΞϓϦέʔγϣϯ ৫ ৫ ৫
##ΞϓϦʹϚϧνςφϯτܕΞϓϦ ΞϓϦέʔγϣϯ ৫ ৫ ৫ ৫νʔϜʢʹςφϯτʣ ͕ΞϓϦέʔγϣϯʹ ରͯ͠ෳଘࡏ͢ΔΞʔΩ ςΫνϟΛϚϧνςφϯτܕ ΞʔΩςΫνϟͱݺͿ
جຊతʹɺϢʔβςφϯ τͷ෦ͷใͷΈΞΫηε ͕Ͱ͖Δ
ϚϧνςφϯτܕΞϓϦͷઃܭ w ·ͣߟ͑Δ͜ͱ w ςφϯτ͝ͱʹ3%#.4ͷσʔλΛͲ͏͢Δ͔ʁ w 63-Ͳ͏͢Δ͔ʁ w ͦͷଞͷσʔλετΞͰͲ͏͢Δ͔ʁ w
ͪ͜Βࠓճলུ
3%#.4σʔλͷ w ΠϯελϯεϨϕϧͰ w εΩʔϚϨϕϧͰ w ߦϨϕϧͰ
ΠϯελϯεϨϕϧͰ w ςφϯτ͝ͱʹҟͳΔ3%#.4ΠϯελϯεͰཧ͢Δ w ίωΫγϣϯଓͷΦʔόϔου w ސ٬͕૿͑Δͨͼʹ3%#.4ΠϯελϯεΛ૿͢͜ͱʹ ͳΔ
"QQ
εΩʔϚϨϕϧͰ w 1PTUHSF42-ͷεΩʔϚʢTDIFNBʣ w εΩʔϚʹ໊લۭؒΛΘ͚ΔΈ w DPNQBOZVTFSTͱDPNQBOZVTFSTςʔϒϧผςʔϒϧ w 4&5TFBSDI@QBUI50DPNQBOZΛ࣮ߦͨ͠ޙͰ͋ΕɺVTFSTςʔϒϧ҉ʹ DPNQBOZVTFSTςʔϒϧΛࢦ͍ͯ͠Δ͜ͱʹͳΔ
w ςφϯτ৽ن࡞࣌શςʔϒϧͷηοτΛ࡞Δ͜ͱʹͳΔ "QQ
ߦϨϕϧͰ w ΞϓϦέʔγϣϯʔσʔλϕʔεΠϯελϯε w ςʔϒϧશςφϯτͰڞ༗ w શςʔϒϧʹUFOBOU@JEΧϥϜΛ࣋ͭ w 8IFSF۟ΛΕͨΒΞτ "QQ
UFOBOU@JE
3FMBUJPOεΩʔϚϨϕϧ w 1PTUHSF42-ͷεΩʔϚ͕ϚϧνςφϯτΞϓϦͱͷ૬ੑ ͕͍͍ͱ͍͏͜ͱ͕Θ͔͍ͬͯͨͷͰ3FMBUJPOͰ໎Θ ͣʹ1PTUHSF42-Λ࠾༻ w ςʔϒϧ͝ͱʹ8IFSF۟Λߟ͑ͳͯ͘ྑ͍ͷ͍͍ "QQ
σʔλ͕͍ͯ͠Δͱ҆৺͔ʁ w ଞͷςφϯτͷใ͕ࠞࡏ͢ΔͷΛΠϠ͕Δձࣾ͋Δ w ෆ۩߹ʹΑΓଞςφϯτͷใʹΞΫηεͯ͠͠·͏͜ͱ ͋ΓಘΔʢ͋ͬͯͳΒͳ͍͕ʣ !20
63-ͷઃܭ w ςφϯτใΛ63-ʹؚΊΔ͔ʁ w ؚΊͳ͍ʢશςφϯτڞ௨ʣ w ؚΊΔ w ύεʹؚΊΔ w
αϒυϝΠϯʹؚΊΔ
63-શςφϯτڞ௨ʹ͢Δ w (4VJUFͳͲ w IUUQTNBJMHPPHMFDPN w σʔλϕʔεʹϩάΠϯϢʔβ͕ଐ͢ΔςφϯτใΛ࣋ ͪɺͦͷςφϯτʹඥͮ͘σʔλʹͷΈΞΫηεՄೳͱ ͢Δ
ύεʹςφϯτใΛͭ w :BNNFSͳͲ w IUUQTXXXZBNNFSDPNJOHBHFKQIPNF w ଞςφϯτͰ63-ͷϗετ෦ಉ͡ͱ͍͏͜ͱ w $PPLJFςφϯτ͝ͱΘ͚Δ͜ͱͰ͖ͳ͍ʢଟʣ w
$PPLJFʹQBUIใΛ࣋ͭ͜ͱ͕Ͱ͖Δ͕ɺηΩϡϦ ςΟ্ͷޮՌͳ͍ w :BNNFSͰ$PPLJFͷ1BUIͩͬͨ IUUQTCMPHUPLVNBSVPSH
αϒυϝΠϯʹςφϯτใΛͭ w 4MBDLͳͲ w IUUQTJOHBHFKQTMBDLDPNNFTTBHFT w ςφϯτ͝ͱʹυϝΠϯ͕ҟͳΔ w $PPLJFςφϯτ͝ͱʹҟͳΔ w
44-ূ໌ॻϫΠϧυΧʔυυϝΠϯʹରԠ͍ͯ͠Δඞ ཁ͕͋Δ
3FMBUJPOαϒυϝΠϯܕ w ಛʹͩ͜ΘΓͳ͔ͬͨɻ w ։ൃڥϧʔϓόοΫΞυϨεΛαϒυϝΠϯܕʹ͢Δඞཁ͕ ͋Δ w #BTFDBNQ͕ఏڙ͍ͯ͠ΔYJQJPυϝΠϯΛར༻ w IUUQUFOBOUYJQJPΈ͍ͨͳײ͡
w εςʔδϯάڥ-FUT&ODSZQUΛͬͯ44-ڥΛߏͯ͠ ͍Δɻ࠷ۙ-FUT&ODSZQU͕ϫΠϧυΧʔυରԠͨ͠ͷͰ͏༧ఆɻ
3%#.4εΩʔϚͰ 63-αϒυϝΠϯ ͰɺͲ͏࣮͢Δ͔
BQBSUNFOUHFNΛ͏ w DPNQBOZBQQDPNͰΞΫηε͞ΕͨΒɺࣗಈతʹσʔ λϕʔεͷDPNQBOZεΩʔϚʹΓସ͑Δʢ4&5 TFBSDI@QBUI50DPNQBOZʣΈ͕༻ҙ͞Ε͍ͯΔɻ ͜͜ͰεΩʔϚΛ Γସ͑Δ
SBDLNJEEMFXBSF ͪ͜ΒͰͲͷεΩʔϚʹ ΞΫηεͯ͠Δ͔ҙࣝ͠ͳ͍
BQBSUNFOUHFNΛ͏ w ΧϥϜՃɺมߋͳͲͷECNJHSBUFશεΩʔϚʹద༻ ͢Δඞཁ͕͋Δɻ w ͜ΕBQBSUNFOUHFN͕ࣗಈతʹશεΩʔϚʹద༻͠ ͯ͘ΕΔɻ w ςφϯτ͕૿͑Ε૿͑Δ΄ͲECNJHSBUFʹ͕࣌ؒ
͔͔ͬͯ͠·͏ʢαʔϏεఀࢭ͕࣌ؒ͘ͳΔʣ w BQBSUNFOUHFNͷ࠷ۙͷΞοϓσʔτͰECNJHSBUF͕ ฒྻ࣮ߦͰ͖ΔΑ͏ʹͳͬͨɻ
BQBSUNFOUHFNΛ͏ w ܦݧతʹֶΜͩ͜ͱ w ΠϯσοΫεՃɺΧϥϜআͳͲɺαʔϏεՔಇத Ͱ࣮ߦՄೳͳͷECNJHSBUFͷதͰ͠ͳ͍Α ͏ʹ͢ΔʢαʔϏεఀࢭΛͰ͖Δ͚ͩগͳ͘ʣ w ͨͩ͠ECTDIFNBSCΕͳ͍Α͏ʹߋ৽͓ͯ͘͠
w ςφϯτ͕৽ن࡞͞ΕͨࡍʹɺECTDIFNBSC Λͱʹςʔϒϧ͕࡞ΒΕΔͨΊ
·ͱΊ w ##ͷ4BB4ܕαʔϏεʹϚϧνςφϯτܕΞϓϦ w ·ͣσʔλͷํࣜɺ63-ઃܭΛߟ͑Α͏ w BQBSUNFOUHFNศར w λΠτϧʮ3BJMTͰ࡞Δɾɾʯ͚ͩͬͨͲ3BJMTͷ Ͱͯ͜ͳ͔ͬͨ
ʮ3FMBUJPOʯར༻ٕज़ w "84 &OHJOF:BSE w 4 424 -BNCEB w
3VCZ 1FSM /PEF+4 1ZUIPO (P w 3BJMT "OHVMBS+4 w &MBTUJDTFBSDI w 1PTUHSF42- 3FEJT .FNDBDIFE
ΠϯήʔδͰ ΤϯδχΞΛืू͍ͯ͠·͢ !32