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.9k
グローバルサービスを作る時に考えておくこと #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
880
プロダクト開発におけるライブラリアップデートのタイミング #gotandarb
m_nakamura145
0
450
成長したrailsアプリの割れ窓を防ぐCircleCI #circlecijp
m_nakamura145
2
980
オンライン予約徹底解説 #railsdm2019
m_nakamura145
4
5.9k
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.7k
Server-Side Team in Toreta
m_nakamura145
1
420
Other Decks in Programming
See All in Programming
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
0
180
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
1
1.1k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.6k
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
180
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
520
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5k
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
350
gunshi
kazupon
1
140
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
0
700
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
110
Raft: Consensus for Rubyists
vanstee
141
7.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
How to make the Groovebox
asonas
2
1.9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
210
Why Our Code Smells
bkeepers
PRO
340
58k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
Statistics for Hackers
jakevdp
799
230k
Paper Plane
katiecoart
PRO
0
45k
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
ࠓ͓ͨ͜͠ͱ • λΠϜκʔϯΛߟྀͨ͠ΞϓϦέʔγϣϯ։ൃʹ͍ͭͯ • τϨλʹ͓͚Δւ֎ରԠͷࣄྫ