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
グローバルサービスを作る時に考えておくこと #railsdm
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masato Nakamura
November 16, 2017
Programming
4k
4
Share
グローバルサービスを作る時に考えておくこと #railsdm
https://techplay.jp/event/631428
Rails Developers Meetup #7 の発表資料です
Masato Nakamura
November 16, 2017
More Decks by Masato Nakamura
See All by Masato Nakamura
トレタのプロダクト開発 #TORETA_TECH_TALK
m_nakamura145
0
890
プロダクト開発におけるライブラリアップデートのタイミング #gotandarb
m_nakamura145
0
450
成長したrailsアプリの割れ窓を防ぐCircleCI #circlecijp
m_nakamura145
2
1k
オンライン予約徹底解説 #railsdm2019
m_nakamura145
4
6k
SaaSのDBリファクタリング #omotesandorb
m_nakamura145
2
400
Sidekiq Worker設計のコツ #ebisurb
m_nakamura145
2
290
Maintain our records correctly #first_english_presentation
m_nakamura145
1
970
What material do you use in DMM eikaiwa? #DMM英会話 #clem_jp
m_nakamura145
1
4.8k
Server-Side Team in Toreta
m_nakamura145
1
430
Other Decks in Programming
See All in Programming
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
240
net-httpのHTTP/2対応について
naruse
0
370
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
190
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
350
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
210
Claspは野良GASの夢をみるか
takter00
0
140
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
140
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
750
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
420
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
390
New "Type" system on PicoRuby
pocke
1
380
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
980
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
340
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
The Limits of Empathy - UXLibs8
cassininazir
1
340
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Why Our Code Smells
bkeepers
PRO
340
58k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
370
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
830
Transcript
άϩʔόϧαʔϏεΛ࡞Δ࣌ʹ ߟ͓͑ͯ͘͜ͱ Masato Nakamura(@m_nakamura145) Server-Side Engineer
None
None
None
None
None
None
ن • αʔϏεఏڙࠃ:15ϱࠃҎ্ʢຊɺγϯΨϙʔϧɺɺؖࠃɺϕτφϜɺϚ ϨʔγΞɺΠϯυωγΞɺλΠɺΧϯϘδΞɺϑΟϦϐϯɺχϡʔδʔϥϯυɺΦʔετϥϦΞɺ ΞϝϦΧɺΠΪϦεɺΤδϓτ, etc…ʣ • ళฮ:9000ళฮ • ྦྷܭ༧ਓ:1ԯ5000ສਓ
• APIRails + MySQL
ࠓ͓͢Δ͜ͱ • λΠϜκʔϯΛߟྀͨ͠RailsΞϓϦέʔγϣϯ։ൃʹ͍ͭͯ • τϨλʹ͓͚Δւ֎ରԠͷࣄྫ • ॕʹ͍ͭͯ • SMSૹ৴
3BJMTΞϓϦͷλΠϜκʔϯઃఆ w 3BJMTͱ.Z42-ͷλΠϜκʔϯΛ65$ʹҰகͤ͞Δ w τϨλͰ04ͷλΠϜκʔϯ65$ w .Z42-ͷઃఆྫ
DPOpHBQQMJDBUJPOSC w DPOpHUJNF@[POF w ΞϓϦέʔγϣϯͷσϑΥϧτλΠϜκʔϯΛઃఆ͢Δ w DPOpOHBDUJWF@SFDPSEEFGBVMU@UJNF[POF w %#͔Βɾ࣌ࠁΛऔΓग़ͨ͠ࡍͷλΠϜκʔϯΛ5JNFMPDBM MPDBM
ͱ 5JNFVUD VUD ͷͲͪΒ͔ʹ͢Δ͔Λࢦఆ͢Δ
DPOpHUJNF[POF
DPOpHBDUJWF@SFDPSEEFGBVMU@UJNF[POF
DPOpHBDUJWF@SFDPSEEFGBVMU@UJNF[POF
λΠϜκʔϯจࣈྻͷอଘܗࣜ w %#ʹλΠϜκʔϯจࣈྻΛอଘ͢Δέʔε w τϨλͰͭͷళฮ͕ͭͷλΠϜκʔϯΛ͍࣋ͬͯΔ w "TJB5PLZPͷΑ͏ʹਖ਼ࣜͳจࣈྻͰอଘͨ͠ํ͕ྑ͍ w 3BJMTͩͱॖܗ "DUJWF4VQQPSU5JNF;POF."11*/(
͕ࢦఆͰ ͖Δ͕ɺ3BJMTҎ֎͔ΒσʔλʹΞΫηε͢ΔࡍʹࠔΔͷͰɺ ॖܗอଘ͠ͳ͍΄͏͕ྑ͍
࣌Λѻ͏Ϋϥε w %BUF 3VCZ w %BUF5JNF 3VCZ w
5JNF 3VCZ w "DUJWF4VQQPSU5JNF8JUI;POF 3BJMT w 3BJMTΞϓϦͳΒҰ൪͓͢͢Ί
"DUJWF4VQQPSU5JNF8JUI;POF w DPOpHBQQMJDBUJPOSCͷλΠϜκʔϯΛ༻͢ΔͷͰɺγεςϜͷ λΠϜκʔϯʹӨڹΛड͚ͳ͍ w 3VCZͷ5JNFOPXͳͲ3VCZඪ४ͷڍಈͰɺγεςϜͷλΠϜκʔ ϯʹӨڹΛड͚Δ w "DJUWF3FDPSEΛී௨ʹͬͯΔͱDSFBUFE@BUͳͲ "DUJWF4VQQPSU5JNF8JUI;POFͳͷͰɺ͍ͭͷ·ʹ͔͍ͬͯΔ͜
ͱ͕ଟ͍
έʔεผ༻ྫ w ݱࡏ࣌ࠁΛऔಘ͢Δ w 5JNF[POFOPX·ͨ5JNFDVSSFOU 5JNF[POFOPXΛฦ͢ w ֎෦͔Βೖྗ͞ΕΔ࣌ࠁΛѻ͏࣌ w
TUBSU@BU5JNF[POFBU QBSBNT<TUBSU@BU>UP@J
τϨλʹ͓͚Δॕ w ҿ৯ళͷ߹ɺॕಛผͳӦۀ࣌ؒΛઃఆ͍ͯ͠Δ w ௨ৗ͓ٳΈͷ݄༵͕ͩɺ݄༵͕ॕͰ͋Ε։ళ͍ͨ͠ w ॕͷલ͘·ͰҿΈ͍ͨਓ͕ଟ͍ͷͰɺӦۀ࣌ؒΛΊʹ ͍ͨ͠
None
None
None
τϨλʹ͓͚Δॕ w ॕΛѻ͏HFN͍ͬͯͳ͍ w IUUQTHJUIVCDPNIPMJEBZTIPMJEBZTͳͲ w )PMJEBZNPEFMͱͯ͠%#ʹॕσʔλΛӬଓԽ͍ͯ͠Δ
ॕσʔλͷूΊํ w ॕຖҟͳΔͷͰɺৗʹσʔλΛߋ৽͠ͳ͚Ε͍͚ͳ͍ w ຊͷ߹ɺຖ݄͝ΖͷใͰ࣍ͷͷྐྵཁ߲Λൃද w IUUQFDPNULOBPBDKQLPZPNJZPLP
ւ֎ͷॕ w ΞϝϦΧΦʔετϥϦΞͷ߹ɺશࠃڞ௨ͷॕͷଞʹभ͝ͱʹ ॕ͕ҟͳΔ w τϨλͰॕʹରԠ͍ͯ͠ΔࠃݱࡏຊɺγϯΨϙʔϧɺͷϲ ࠃͷΈ w γϯΨϙʔϧɺͷॕσʔλ֤ࠃͷαΠτ͔Βऔಘͯ͠ɺ γϯΨϙʔϧݱϝϯόʔɺਓϝϯόʔ͕ࢹ֬ೝͯ͠อଘ͢Δ
τϨλʹ͓͚Δ4.4ͷར༻༻్ w ༧࡞࣌ɾมߋ࣌ɾΩϟϯηϧ࣌ͷ௨ w ແஅΩϟϯηϧυλΩϟϯࢭͷϦίϯϑΝʔϜ w ͓ళͷϧʔϧΛࣄલʹ͓Βͤ w Εͷ͝࿈བྷ w
དྷళޙͷ͓ྱ
None
τϨλʹ͓͚Δւ֎Ͱͷ4.4ૹ৴ w ΠϯόϯυधཁͰɺผͷࠃͷ͓٬ཱྀ༷͕ߦલʹ͓ళΛ༧͢Δέʔ ε͕ଟ͍ w γϯΨϙʔϧͳͲͷҿ৯ళ w ߳ߓʹॅΜͰΔਓ͕ͷ͓ళΛ༧͔ͯ͠Βཱྀߦʹߦ͘ w ҿ৯ళଆ͓٬ཱྀ༷͕ߦʹߦ͘લʹ4.4Ͱ࿈བྷΛૹΓ͍ͨʂ
w 4.4ૹ৴αʔϏε5XJMJPΛར༻
ࠃ൪߸ w ຊ ɺ γϯΨϙʔϧ ͷΑ͏ͳ֤ࠃʹׂΓͯΒΕͨࠃࡍ ి൪߸ w
5XJMJP4.4ૹ৴ʹࠃ൪߸͕ඞਢ w ͓٬༷ͷి൪߸Λอଘ͢Δͱ͖ʹඞͣࠃ൪߸·Ͱอଘ͓ͯ͘͠ w ࠃ൪߸͕ૹΒΕͯ͜ͳ͍߹ɺళฮ͕͋Δࠃͷࠃ൪߸ΛೖΕ͍ͯ Δ
None
None
ࠓ͓ͨ͜͠ͱ • λΠϜκʔϯΛߟྀͨ͠ΞϓϦέʔγϣϯ։ൃʹ͍ͭͯ • τϨλʹ͓͚Δւ֎ରԠͷࣄྫ