Toss Bank
ํ ์ค๋ฑ ํฌ๋ ์ธํฐ๋ท ์ ๋ฌธ ์ํ์ ๋๋ค. Housing Loan Squad(์ ์ธ๋์ถ)์์ FullStack Developer๋ก ์ ์ธ๋์ถ ์ฌ์ฌยท์ด์ ์์คํ LUMOS(Loan Universal Management Operating System)๋ฅผ ๊ฐ๋ฐํ์ต๋๋ค. ์ ์์ธ ๋์ถ์ ํน์ฑ์ ์ฌ์ฌยท์ด์์ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํ๋ฐ, ์ด๋ฅผ ์ต์ํํ๋ ํจ์จ์ ์ธ ์ฌ์ฌ ์์คํ ์ LUMOS์ ๋ น์ฌ๋ด ํ์ํ ๋๋น ์๋์ ์ผ๋ก ์ ์ ์ธ์(26๋ช )์ผ๋ก ๋์ถ ์ฌ์ฌ๋ฅผ ์งํํ๊ณ ์ฐ๊ฐ ์ธ๊ฑด๋น ์ฝ 50์ต ์ ๊ฐ ํจ๊ณผ๋ฅผ ์ป์์ต๋๋ค.
26๋ช
์ฌ์ฌ ์ธ์
ํ์ํ ๋๋น ์ต์ ์ธ์์ผ๋ก ์ด์
์ฝ 50์ต
์ฐ๊ฐ ์ธ๊ฑด๋น ์ ๊ฐ ํจ๊ณผ
ํจ์จ์ ์ฌ์ฌ ์์คํ
LUMOS
50%โ
๊ถ๋ฆฌ์กฐ์ฌ ์ฒ๋ฆฌ ์๊ฐ
60๋ถ โ 30๋ถ
9โ4๋ถ
๋ฐฐํฌ ์๊ฐ ๋จ์ถ
yarn berry ยท Docker ์บ์ฑ
LUMOS โ ์ ์ธ๋์ถ ์ฌ์ฌยท์ด์ ์์คํ
- ๊ฐ์ํ๊ธฐยท์๋ก๋ฐ๊ธฐยท์ฃผ๊ธฐ๋ณ์ ๊ฒยท๋ชฉ์ ๋ฌผ ์์ธํ์ธยท์ธ์ํฐ ์ฃผ์ ๊ฒ์ยท์งํด๋ณด์ฆ ๋ณด์ฆ๋ฃ์ฐ๋ยทํ์์๋์ธ๊ด๋ฆฌ ๋ฑ ์ ์ธ๋์ถ ์ฌ์ฌยท์ด์์ ํ์ํ ์ ์์ญ์ ๊ธฐ๋ฅ์ ์ฃผ๋์ ์ผ๋ก ๊ฐ๋ฐํ์ต๋๋ค.
- LUMOS ์์ฒด ์๋ฆผ ์๋น์ค๋ฅผ ๊ตฌ์ถํด ๋น๋๊ธฐ ์ ์ธ๋์ถ ์๋ฅ ๊ฒํ ํ๋ก์ธ์ค ์๊ฐ์ ๋จ์ถ โ ๋ด๋น์์ ๊ถ๋ฆฌ์กฐ์ฌ ์ฒ๋ฆฌ ์๊ฐ์ 60๋ถ์์ 30๋ถ์ผ๋ก 50% ์ค์๊ณ , ์ค๋ฌธ์กฐ์ฌ์์ ๋ด๋น์ ์ ์์ด ๋ง์กฑํ์ต๋๋ค.
- ์๋ต์ด ๋๋ฆฌ๊ฑฐ๋ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ด ํ์ํ ์ง์ ์ Optimistic Update๋ฅผ ์ ์ฉํด UX๋ฅผ ๊ฐ์ ํ๊ณ , ๋ธ๋ก๊ทธ ๊ธ๋ก ์ ๋ฆฌํด ํ์ ๊ณต์ ํ์ต๋๋ค.
- API ์๋ตยท์ฌ์ฉ์ ์ ๋ ฅ ๋ฑ ์ธ๋ถ์์ ๋ค์ด์จ ๊ฐ์ ๋ฐํ์์ ๊ฒ์ฆํ๊ธฐ ์ํด Zod๋ฅผ ์ ๊ทน ํ์ฉํด ํ์ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- ํ์ด์ง์ network waterfall์ ๋ฐ๊ฒฌํด ์ฟผ๋ฆฌ๋ฅผ ๋ณ๋ ฌ๋ก ์คํํ๋๋ก ๊ฐ์ , LCP๋ฅผ ๋จ์ถํ์ต๋๋ค.
- yarn berry ๋ง์ด๊ทธ๋ ์ด์ ๊ณผ Dockerfile ์บ์ฑ ๋ ์ด์ด ๋ถ๋ฆฌ๋ก ์ด ๋ฐฐํฌ ์๊ฐ์ 9๋ถ์์ 4๋ถ์ผ๋ก ๋จ์ถํ๊ณ , Phantom Dependency๋ฅผ ์ ๊ฑฐํด ํจํค์ง ์ค์น ์๊ฐ์ ์ค์์ต๋๋ค.
- ์ ์ธ๋์ถ ์ด์์์ ๋ฐ์ํ๋ CS๋ฅผ ํ๋ฃจ ํ๊ท 6~12๊ฑด์์ 0~3๊ฑด์ผ๋ก ์ค์ฌ ์์ ์ ์ธ ์ด์์ ๊ธฐ์ฌํ์ต๋๋ค.
- ์ํด๋ฆฌ์์ ํ๋ก์ ํธ์ ๊ฐ์ ์ ๊ณผ ๋์๊ฐ์ผ ํ ๋ฐฉํฅ์ ํค๋ ธํธ๋ก ์ ๋ฆฌํด ๊ณต์ ํ์ต๋๋ค.
LUMOS ํ๋ฉด
๋ฐํ ์๋ฃ
Tossbank FullStack Engineer Weekly ยท 2023.10 โ ํ๋ก์ ํธ์ ๊ฐ์ ์ ๊ณผ ๋์๊ฐ์ผ ํ ๋ฐฉํฅ์ ์ ๋ฆฌํด ๋ฐํํ์ต๋๋ค.
๊ธฐ์ ์คํ
FrontendReactNext.jsTypeScriptToss Design SystemZodReact QueryReact Hook Form
BackendKotlinSpringMySQLMongoDBKafka