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
4k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
グローバルサービスを作る時に考えておくこと #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
900
プロダクト開発におけるライブラリアップデートのタイミング #gotandarb
m_nakamura145
0
460
成長したrailsアプリの割れ窓を防ぐCircleCI #circlecijp
m_nakamura145
2
1k
オンライン予約徹底解説 #railsdm2019
m_nakamura145
4
6k
SaaSのDBリファクタリング #omotesandorb
m_nakamura145
2
410
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
440
Other Decks in Programming
See All in Programming
React本体のコードリーディング
high_g_engineer
1
140
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
740
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
310
Cloudflare is Agents
chimame
0
150
Built Our Own Background Agent at LayerX
layerx
PRO
9
5.1k
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
170
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
540
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
600
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
440
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
160
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
890
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
How GitHub (no longer) Works
holman
316
150k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
260
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Between Models and Reality
mayunak
4
390
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Building an army of robots
kneath
306
46k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Raft: Consensus for Rubyists
vanstee
141
7.6k
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
ࠓ͓ͨ͜͠ͱ • λΠϜκʔϯΛߟྀͨ͠ΞϓϦέʔγϣϯ։ൃʹ͍ͭͯ • τϨλʹ͓͚Δւ֎ରԠͷࣄྫ