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
Masato Nakamura
November 16, 2017
Programming
4
3.8k
グローバルサービスを作る時に考えておくこと #railsdm
https://techplay.jp/event/631428
Rails Developers Meetup #7 の発表資料です
Masato Nakamura
November 16, 2017
Tweet
Share
More Decks by Masato Nakamura
See All by Masato Nakamura
トレタのプロダクト開発 #TORETA_TECH_TALK
m_nakamura145
0
870
プロダクト開発におけるライブラリアップデートのタイミング #gotandarb
m_nakamura145
0
440
成長したrailsアプリの割れ窓を防ぐCircleCI #circlecijp
m_nakamura145
2
970
オンライン予約徹底解説 #railsdm2019
m_nakamura145
4
5.8k
SaaSのDBリファクタリング #omotesandorb
m_nakamura145
2
390
Sidekiq Worker設計のコツ #ebisurb
m_nakamura145
2
280
Maintain our records correctly #first_english_presentation
m_nakamura145
1
940
What material do you use in DMM eikaiwa? #DMM英会話 #clem_jp
m_nakamura145
1
4.6k
Server-Side Team in Toreta
m_nakamura145
1
410
Other Decks in Programming
See All in Programming
AI Agent 時代的開發者生存指南
eddie
4
2.1k
Devoxx BE - Local Development in the AI Era
kdubois
0
130
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
3
5.7k
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
180
CSC509 Lecture 07
javiergs
PRO
0
240
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
880
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
180
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
EMこそClaude Codeでコード調査しよう
shibayu36
0
320
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
230
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
150
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Code Reviewing Like a Champion
maltzj
526
40k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Invisible Side of Design
smashingmag
302
51k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Designing for Performance
lara
610
69k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
630
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
920
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
ࠓ͓ͨ͜͠ͱ • λΠϜκʔϯΛߟྀͨ͠ΞϓϦέʔγϣϯ։ൃʹ͍ͭͯ • τϨλʹ͓͚Δւ֎ରԠͷࣄྫ