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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
1
520
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
320
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
370
1B+ /day規模のログを管理する技術
broadleaf
0
120
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
110
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
250
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
190
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
140
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Agentic UI
manfredsteyer
PRO
0
200
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
640
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Rails Girls Zürich Keynote
gr2m
96
14k
Discover your Explorer Soul
emna__ayadi
2
1.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Why Our Code Smells
bkeepers
PRO
340
58k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Un-Boring Meetings
codingconduct
0
320
Bash Introduction
62gerente
615
220k
The Curse of the Amulet
leimatthew05
2
13k
Side Projects
sachag
455
43k
WCS-LA-2024
lcolladotor
0
660
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ΞʔΩςΫνϟ • αʔόαΠυνʔϜͷϛογϣϯ • Ϣʔβͷ՝Λղܾ͢ΔͨΊʹ͍ͬͯΔ͜ͱ ࠓ͓ͨ͜͠ͱ