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
Server-Side Team in Toreta
Search
Masato Nakamura
August 08, 2017
Programming
440
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Server-Side Team in Toreta
https://atnd.org/events/89458
の発表資料です
Masato Nakamura
August 08, 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
グローバルサービスを作る時に考えておくこと #railsdm
m_nakamura145
4
4k
What material do you use in DMM eikaiwa? #DMM英会話 #clem_jp
m_nakamura145
1
4.8k
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
540
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
490
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
310
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
260
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
220
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
190
Android CLI
fornewid
0
210
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
110
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
1
3.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
The Cult of Friendly URLs
andyhume
79
7k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
380
Product Roadmaps are Hard
iamctodd
55
12k
Practical Orchestrator
shlominoach
191
12k
Site-Speed That Sticks
csswizardry
13
1.4k
Utilizing Notion as your number one productivity tool
mfonobong
4
520
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
Server-Side Team in Toreta @m_nakamura145
ࣗݾհ • Masato Nakamura • @m_nakamura145 • Server-Side Engineer •
Recruit Holdings -> Toreta(2016/10ʙ)
ࠓ͓͢Δ͜ͱ • τϨλͷαʔϏεͱAPIΞʔΩςΫνϟ • αʔόαΠυνʔϜͷϛογϣϯ • Ϣʔβͷ՝Λղܾ͢ΔͨΊʹ͍ͬͯΔ͜ͱ
None
None
None
None
None
None
Toreta Core API • First commit20138݄ • िʹ1ճͷDeploy • ݱࡏ5໊Ͱ։ൃ
• @swdyh,@ziguzagu,@serihiro,@fregdee,@m-nakamura145
+----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes |
Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 22229 | 19006 | 173 | 942 | 5 | 18 | | Helpers | 223 | 200 | 0 | 26 | 0 | 5 | | Models | 12651 | 7693 | 187 | 510 | 2 | 13 | | Mailers | 370 | 312 | 10 | 19 | 1 | 14 | | Javascripts | 4701 | 2948 | 16 | 367 | 22 | 6 | | Libraries | 1699 | 1264 | 36 | 112 | 3 | 9 | | Concern specs | 478 | 396 | 0 | 3 | 0 | 130 | | Controller specs | 29728 | 26235 | 3 | 7 | 2 | 3745 | | Helper specs | 139 | 118 | 0 | 0 | 0 | 0 | | Lib specs | 498 | 441 | 0 | 0 | 0 | 0 | | Mailer specs | 2009 | 1721 | 0 | 1 | 0 | 1719 | | Model specs | 13909 | 10891 | 0 | 2 | 0 | 5443 | | Request specs | 91 | 66 | 0 | 0 | 0 | 0 | | View specs | 672 | 569 | 0 | 0 | 0 | 0 | | Worker specs | 3583 | 3113 | 1 | 4 | 4 | 776 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 92980 | 74973 | 426 | 1993 | 4 | 35 | +----------------------+-------+-------+---------+---------+-----+-------+
ن • αʔϏεఏڙࠃ:15ϱࠃҎ্ʢຊɺγϯΨϙʔϧɺɺؖࠃɺϕτφϜɺϚ ϨʔγΞɺΠϯυωγΞɺλΠɺΧϯϘδΞɺϑΟϦϐϯɺχϡʔδʔϥϯυɺΦʔετϥϦΞɺ ΞϝϦΧɺΠΪϦεɺΤδϓτ, etc…ʣ • ళฮ:8500ళฮ • ྦྷܭ༧ਓ:1ԯ2000ສਓ
"1*ΞʔΩςΫνϟ
Toreta Manager iPad Client Web Reservation (Customer) Phone Call Toreta
Core API
POS Toreta Manager iPad Client Web Reservation (Customer) Phone Call
POS Connect API Toreta Core API
POS Toreta Manager iPad Client Web Reservation (Customer) Phone Call
Gourmet media POS Connect API Toreta Core API Mail Importer API
POS Toreta Manager iPad Client Web Reservation (Customer) Phone Call
Gourmet media POS Connect API Toreta Core API Mail Importer API MySQL to BigQuery
αʔόαΠυνʔϜͷϛογϣϯ • ٕज़ͱσʔλΛͬͯϢʔβͷຊ࣭తͳ՝Λղܾ͢Δ • ϢʔβʹܟҙΛࠐΊͯରԠ͢Δ • ٕज़Ͱ৫શମͷੜ࢈ੑΛ্͛Δ
ΞΫγϣϯ • τϨλͷશAPIͷઃܭɾ։ൃɾӡ༻ • ͚ࣾπʔϧʢa.k.aτϨλཧʣͷ։ൃ • ͍߹ΘͤରԠ • ੳΫΤϦͷ࡞
τϨλཧ • ͚ࣾཧπʔϧ • ಋೖళฮͷτϨλར༻ঢ়گΛݟΔɾઃఆΛཧ͢Δ • ࣾһશһ͕ຖݟΔ
None
"1*։ൃ • Design Doc • Github issues • ࣮ɾςετ •
ಈ࡞֬ೝ on Shining Wizard • QA • ϦϦʔε
None
None
• ػೳ։ൃͱಉ͡ॏཁͰϦϑΝΫλϦϯά͢Δ • খ͍͞ϦϑΝΫλϦϯάػೳ։ൃͷϓϩδΣΫτͰߦ͏ • GemͷཧͳͲɺ͋Δఔ·ͱ·ͬͨλεΫվળ෦Ͱߦ͏ • େ͖͍ϦϑΝΫλϦϯάͦΕࣗମΛϓϩδΣΫτʹ͢Δ Refactoring
None
͍߹ΘͤରԠ • ͓٬༷͔Βͷతͳ͍߹ΘͤΧελϚʔαϙʔτνʔϜ ͕ରԠ • όάͷ͍ٙෳࡶͳ༷֬ೝͷ࣌ʹΤϯδχΞ͕ରԠ • ࣋ͪճΓ੍Ͱͳ͘ɺνʔϜશһͰԠͯ͠ૣ͔ͬͨਓ͕ରԠ • جຊతʹͰ͖Δ͚͙ͩ͢ରԠͦ͠ͷͰղܾ͢Δ
None
None
σʔλͱ͖߹͏ • ਖ਼͍͠՝ʹऔΓΉͨΊʹ • ࡞ͬͨػೳ͕՝Λղܾ͔ͨ͠Λ͔֬ΊΔͨΊʹ • τϨλΛಋೖ͍͍ͯͨͩͨ͠ళฮΛαϙʔτ͢ΔͨΊʹ
ਖ਼͍͠՝ʹऔΓΉ • ৽ػೳͷՁԾઆΛߟ͑Δஈ֊͔ΒσʔλΛݟͳ͕Βٞ͢Δ
None
࡞ͬͨػೳ͕՝Λղܾ͔ͨ͠Λ͔֬ΊΔ • ৽ػೳΛϦϦʔε͢Δ͚ͩͰऴΘΒͳ͍ • ࣮ࡍʹػೳ͕ΘΕ͍ͯΔ͔Λσʔλ͔Β֬ೝ͢Δ • ࣍ͷਖ਼͍͠՝ͷώϯτΛಘΔ
None
• τϨλΛಋೖ͍͍ͯͨͩͨ͠ళฮΛαϙʔτ͠ɺച্Λ࠷େԽ ͢Δάϧʔϓ • SaaSͷཁ • ʢChurmʣΛ͘͢ΔͨΊʹɺళฮʹ͚༷ͯʑͳΞΫ γϣϯΛى͜͢ • ΞΫγϣϯΛى͖͜͢ళฮΛσʔλ͔Βಋ͖ग़͢
Customer Success Group
None
σʔλͷ࣭Λ্͍͛ͯ͘ • ܧଓతͳDB Refactoring • Data Martͷ࡞ • ࠓ·ͰऔΕͯͳ͔ͬͨσʔλΛऔΕΔΑ͏ʹ͢Δ •
ྫ: τϨλϑΥϯ • ࣾͰ͍Ζ͍Ζͳਓ͕σʔλੳΛߦ͑ΔΑ͏ʹ͢Δ
None
None
• τϨλͷαʔϏεͱAPIΞʔΩςΫνϟ • αʔόαΠυνʔϜͷϛογϣϯ • Ϣʔβͷ՝Λղܾ͢ΔͨΊʹ͍ͬͯΔ͜ͱ ࠓ͓ͨ͜͠ͱ