๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘ฉ‍๐Ÿ’ป ๊ฐœ๋ฐœ ๊ณต๋ถ€/2025 ํ•œ๊ฒฝxํ† ์Šค ๋ถ€์บ (Fullstack)

[ํ•œ๊ฒฝxToss] Fullstack ๊ฐœ๋ฐœ - ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  ๐Ÿ“š๐Ÿ‘ฉ‍๐Ÿ’ป

728x90
๋ฐ˜์‘ํ˜•

 

[ํ•œ๊ตญ๊ฒฝ์ œ์‹ ๋ฌธ with toss bank] Tech ์šฐ์ˆ˜์ธ์žฌ ์–‘์„ฑ์„ ์œ„ํ•œ ํ’€์Šคํƒ ๊ณผ์ • 2๊ธฐ

 

์•ฝ 3์ฃผ ๋™์•ˆ ์ง„ํ–‰ํ•œ ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ.

์ง€๋‚œ ์ฃผ์— ๋ฐœํ‘œ๊ฐ€ ๋๋‚ฌ๋Š”๋ฐ, ๋” ๋ฏธ๋ค˜๋‹ค๊ฐ€๋Š” ๊ธฐ์–ต์ด ํœ˜๋ฐœ๋  ๊ฒƒ ๊ฐ™์•„ ์„œ๋‘˜๋Ÿฌ ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•œ๋‹ค

 

โฌ‡๏ธ ํ”Œ์  ์†Œ์Šค โฌ‡๏ธ

 

https://github.com/inthhh/bufl_fe

 

GitHub - inthhh/bufl_fe: ๋ฒ„ํ”Œ - ์›”๊ธ‰ ์ชผ๊ฐœ๊ธฐ ์ž๋™ํ™” ์„œ๋น„์Šค

๋ฒ„ํ”Œ - ์›”๊ธ‰ ์ชผ๊ฐœ๊ธฐ ์ž๋™ํ™” ์„œ๋น„์Šค. Contribute to inthhh/bufl_fe development by creating an account on GitHub.

github.com


 

๋ชฉ์ฐจ

 

1. ํŒ€ ๋นŒ๋”ฉ

2. ์ฃผ์ œ

3. ๊ธฐํš์•ˆ ์ž‘์„ฑ

4. ๊ฐœ๋ฐœ

    - ๊ฐœ๋ฐœ ์ง„ํ–‰

    - ์‚ฌ๊ฑด์‚ฌ๊ณ 

5. ๋ฐœํ‘œ ์ค€๋น„

 


1. ํŒ€ ๋นŒ๋”ฉ

ํŒ€์€ ๊ฐ•์‚ฌ๋‹˜๊ป˜์„œ ์ž„์˜๋กœ ์กฐํ•ฉ/์กฐ์ •ํ•ด์ฃผ์…จ๋‹ค.

์‹ค๋ ฅ ๊ธฐ์ค€์œผ๋กœ ํŒ€์žฅ์„ ์šฐ์„  ์ •ํ•˜์‹  ํ›„, ๋ฐธ๋Ÿฐ์Šค๋ฅผ ์กฐ์ ˆํ•˜๋ฉฐ ํŒ€์›์„ ๋„ฃ์œผ์…จ๋‹ค๊ณ  ํ–ˆ๋‹ค

ํŒ€๋นŒ๋”ฉ ์ด์ „์— ๊ฐ•์‚ฌ๋‹˜๊ณผ ์‚ฌ์ „ ๋ฏธํŒ…์„ ์ž ๊น ํ–ˆ์—ˆ๋Š”๋ฐ, ํŒ€์žฅ์„ ์ œ์•ˆ๋ฐ›๊ฒŒ ๋˜์–ด์„œ ๊ธฐ๋ถ„์ด ์ข‹์•˜๋‹ค ใ…Ž.ใ…Ž

๋ฐฑ์—”๋“œ๋Š” ์ž˜ ๋ชจ๋ฅด์ง€๋งŒ, ํ”„๋ก ํŠธ์—”๋“œ๋Š” ์ž์‹ ์ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ์ด๋Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๋‹ค.

 

์šฐ๋ฆฌ ํŒ€์—๋Š” ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์ ‘ํ•ด๋ณด๋Š” ํŒ€์›์ด ์žˆ์—ˆ์ง€๋งŒ

์ด์™ธ์˜ ๋‹ค๋ฅธ ํŒ€์›๋“ค์€ ๋ชจ๋‘ ๊ฒฝํ—˜์ด ์žˆ์–ด์„œ ๋‹คํ–‰์ด์—ˆ๋‹ค

FE/BE ์—ญํ•  ๋ถ„๋ฐฐ๋„ ๊ฒฝํ—˜์— ๋”ฐ๋ผ์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ 3๋ช…/2๋ช…์œผ๋กœ ์ •ํ•ด์กŒ๋‹ค.

 


2. ์ฃผ์ œ

๊ฐ์ž ์•„์ด๋””์–ด๋ฅผ ์„œ์นญ ํ›„ ๊ณต์œ ํ•˜๋ฉฐ ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐ ์‹์œผ๋กœ ์˜๋…ผํ–ˆ๋‹ค.

์ด๋ฒˆ ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ๋Š” '๊ธˆ์œต API๋ฅผ ํ™œ์šฉํ•˜๋Š” ์„œ๋น„์Šค'๋ผ๋Š” ํฌ๊ด„์ ์ธ ์ฃผ์ œ์˜€๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค์–‘ํ•œ ์˜๊ฒฌ๋“ค์„ ๊ณต์œ ํ•˜๊ณ  ํ† ์˜ํ–ˆ๊ณ 

์ตœ์ข…์ ์œผ๋กœ ํˆฌํ‘œ๋ฅผ ํ†ตํ•ด์„œ '์›”๊ธ‰ ์ชผ๊ฐœ๊ธฐ'๋ผ๋Š” ์ฃผ์ œ๋ฅผ ํ™•์ •ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

์• ์ดˆ์— ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ์˜€๊ณ , ๊ธฐํš์˜ ์ฐฝ์˜์„ฑ์— ๋Œ€ํ•œ ์ ์ˆ˜ ๋น„์œจ์€ ๋‚ฎ๋‹ค๊ณ  ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์—

๊ฐœ๋ฐœ์— ์‹œ๊ฐ„์„ ๋” ์Ÿ์•„์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์–ด์„œ ์ฃผ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ํ™•์ •ํ•œ ๊ฒƒ๋„ ์žˆ๋‹ค.

 

์ดํ›„ ์•„์ด๋””์–ด๋ฅผ ๋ฐœ์ „์‹œ์ผœ ๊ธฐํš์•ˆ์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์ฒดํ™”๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค! (chatGPT ํ™œ์šฉ)

 


3. ๊ธฐํš์•ˆ ์ž‘์„ฑ

 

์‚ฌ์šฉ ๊ธฐ์ˆ  ์Šคํƒ์€ ์˜๋…ผ ํ›„ ์›ํ™œํ•œ ํ˜‘์—…์„ ์œ„ํ•ด Typescript ๋ฐ Node JS๋กœ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค!!

๊ทธ๋ฆฌ๊ณ  ์ด์ „์— ํ˜‘์—… ์‹œ ์Šค์›จ๊ฑฐ์˜ ๋„์›€์„ ๋งŽ์ด ๋ฐ›์•„๋ณธ ๊ฒฝํ—˜์ด ์žˆ์–ด์„œ,

์Šค์›จ๊ฑฐ ํ™œ์šฉ์„ ์ œ์•ˆํ–ˆ๊ณ  API docs๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 

๊ธฐํš์•ˆ์€ ํฌ๊ฒŒ ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ž‘์„ฑํ•˜์˜€๋‹ค.

 

๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๐Ÿ“Œ ์ฃผ์š” ๊ธฐ๋Šฅ

    - ๊ธฐ๋Šฅ ์„ค๋ช…

    - ๋Œ€ํ‘œ ์‚ฌ์šฉ ๊ธฐ์ˆ 

๐Ÿ“ข ๊ธฐ๋Œ€ ํšจ๊ณผ

 

๋งŒ์žฅ์ผ์น˜๋กœ ์ฃผ์ œ๋ฅผ ๋นจ๋ฆฌ ํ™•์ •ํ•ด์„œ ๊ทธ๋Ÿฐ์ง€, ๊ตฌ์ฒดํ™”๋„ ์›ํ™œํ•˜๊ฒŒ ์ง„ํ–‰๋˜์—ˆ๊ณ 

์šฐ๋ฆฌ ํŒ€์ด ๊ฐ€์žฅ ๋นจ๋ฆฌ ๊ธฐํš์•ˆ์„ ์ œ์ถœํ–ˆ๋‹ค ๐Ÿ˜Ž

 


4. ๊ฐœ๋ฐœ

4-1) ๊ฐœ๋ฐœ ์ง„ํ–‰ ๐Ÿ’ป

 

ํŒ€ ์กฐ์ง์„ ์ƒ์„ฑํ•˜๊ณ , ํ”„๋ก ํŠธ์™€ ๋ฐฑ์—”๋“œ ๊ฐ๊ฐ์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค

 

 

๊ฐœ๋ฐœ๋œ ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค์€ ํฌ๊ฒŒ 3๊ฐ€์ง€์ด๋‹ค.

 

 

์›น ์ƒ์— ๋ชจ๋ฐ”์ผ ํ™”๋ฉด์œผ๋กœ ๊ตฌํ˜„ํ–ˆ์œผ๋ฉฐ

 

์นดํ…Œ๊ณ ๋ฆฌ ๋น„์œจ์„ ์‹œ๊ฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ Chart.js,

์ „์—ญ ์ƒํƒœ๊ด€๋ฆฌ์™€ ์„œ๋ฒ„์— ์ „์†กํ•˜๊ธฐ ์ „ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ Redux,

AI ์ถ”์ฒœ ์‹œ์Šคํ…œ ๊ตฌํ˜„์„ ์œ„ํ•œ Anthropic API

 

๋“ฑ์˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

 

 

ํŠนํžˆ open AI API๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ „์†กํ•˜๊ณ  ์‘๋‹ต๋ฐ›๊ธฐ๊นŒ์ง€์˜ ์‹œ๊ฐ„์ด ๊ฝค๋‚˜ ๊ฑธ๋ ธ๊ธฐ ๋–„๋ฌธ์—,

์œ„์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ ๋ Œ๋”๋ง ์ด์ „์— ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ ์ค‘์ž„์„ ์•Œ๋ฆฌ๋Š” Spinner๋ฅผ ์‚ฝ์ž…ํ•˜์˜€๋‹ค. (ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…!)

 

์ด๋Ÿฐ ๋กœ๋”ฉ ์ค‘ ์ƒํƒœํ‘œ์‹œ๋ฅผ ์ฒ˜์Œ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋Š”๋ฐ ๋„ˆ๋ฌด ์‹ ๊ธฐํ–ˆ๋‹ค ใ…‹ใ…‹

๋ฐ์ดํ„ฐ๊ฐ€ ๋ Œ๋”๋ง๋˜๋Š” ์ฆ‰์‹œ state๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ์Šคํ”ผ๋„ˆ ๋Œ€์‹  ๋ฐ์ดํ„ฐ๊ฐ€ ๋„์›Œ์ง€๋„๋ก ํ•˜์˜€๋‹ค.

์—ฌ๋Ÿฌ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ ๋ดค์—ˆ๋Š”๋ฐ

์ด๋Ÿฐ ์‹์œผ๋กœ ๋งŒ๋“œ๋Š”๊ฑฐ๊ตฌ๋‚˜~ ์‹ถ์—ˆ์Œ

 

์‚ฌ์šฉ์ž ์ค‘์‹ฌ UI๋ฅผ ์œ„ํ•ด์„œ ํ•„์ˆ˜์ ์ธ ์š”์†Œ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

 

4-2) ์‚ฌ๊ฑด์‚ฌ๊ณ  ๐Ÿ”ฅ

 

1. ์••์ถ• ์‚ฌ๊ฑด

    - ๊ฐœ๋ฐœ ์ดˆ๋ณด ํŒ€์›์ด ๋‹ค๋ฅธ ๋…ธํŠธ๋ถ์—์„œ ๊ฐœ๋ฐœ์„ ์ด์–ด ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•ด ํด๋”๋ฅผ ์••์ถ•ํ•ด์„œ ์˜ฎ๊ธด ์‚ฌ๊ฑด์ด๋‹ค.

 

๋ฌธ์ œ : ์ดํ›„ ๊ทธ ๋…ธํŠธ๋ถ์—์„œ ์ž‘์—… ๋‚ด์šฉ์„ git์— ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ•  ๋•Œ ๊ณ„์† ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊น€

์›์ธ : ์••์ถ• ๊ณผ์ •์—์„œ .git ํด๋”๊ฐ€ hidden์ด์–ด์„œ ๊ฐ™์ด ์••์ถ•๋˜์ง€ ์•Š์•˜๋˜ ๊ฒŒ ์›์ธ์ด์—ˆ๋‹ค ใ… ใ… 

          ์‹ ๋ฐ•ํ•œ ๋ฐœ์ƒ์ด์—ˆ์ง€๋งŒ ๊ฒฐ๊ตญ ํ•ด๋‹น PC์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์€ ๋‹ค์‹œ ๋ณต๋ถ™์„ ํ†ตํ•ด ์žฌ์ž‘์—…ํ•ด์•ผํ–ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : ํ•ด๋‹น ํŒ€์›์—๊ฒŒ github์˜ ์กด์žฌ ์ด์œ ๋ฅผ ์ƒ๊ธฐ์‹œ์ผœ์ฃผ๊ณ , ์งง์€ ๊ต์œก์„ ์ง„ํ–‰ํ•ด์ฃผ์—ˆ๋‹ค

 

2. ๊ฐœ๋ฐœ ํŒŒํŠธ ์žฌ๋ถ„๋ฐฐ

    - DRI๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ ํŒŒํŠธ๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ฐฐ๋ถ„ํ•˜์˜€๋Š”๋ฐ, ๊ฐ ํŒ€์›์˜ ์—ญ๋Ÿ‰ ์ฐจ์ด๋กœ ์Šค์ผ€์ค„ ์ง€์—ฐ์ด ์ƒ๊ธด ์‚ฌ๊ฑด์ด๋‹ค.

 

๋ฌธ์ œ : ์ด๋Œ€๋กœ๋ผ๋ฉด ๋ฐ๋“œ๋ผ์ธ ๋‚ด์— ์™„์„ฑ์„ ๋ชปํ•  ๊ฒƒ ๊ฐ™๋‹ค!!!

์›์ธ : ๊ฐœ์ธ ์—ญ๋Ÿ‰์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ํŒŒํŠธ ๋ถ„๋ฐฐ๋ฅผ ์ง„ํ–‰ํ•œ ํŒ€์žฅ(๋‚˜)์˜ ์‹ค์ˆ˜,,

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : ํ•ด๋‹น ์ƒํ™ฉ์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋Š”๊ฒŒ ๊ฐ€์žฅ ์ข‹์„์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์„ ํ† ์Šค๋ฑ…ํฌ ๋ฉ˜ํ† ๋‹˜๊ป˜ ๋ง์”€๋“œ๋ ธ๊ณ ,

                  ๋ฉ˜ํ† ๋‹˜์€ ๊ฐ€์žฅ ์šฐ์„ ์ˆœ์œ„์ธ "ํ”„๋กœ์ ํŠธ ์™„์„ฑ"๊ณผ ํŒ€์›๋“ค๊ณผ์˜ "์ƒํ™ฉ ๊ณต์œ "๊ฐ€ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•˜์…จ๋‹ค.

                  ๋”ฐ๋ผ์„œ ๋ชจ๋“  ํŒ€์›๋“ค์—๊ฒŒ ์ƒํ™ฉ์„ ๊ณต์œ ํ•˜๊ณ  ํ•ด๋‹น ํŒ€์›์˜ ํŒŒํŠธ๋ฅผ ์กฐ๊ธˆ์”ฉ ๋‚˜๋ˆ„์–ด ์žฌ๋ถ„๋ฐฐํ•˜์˜€๋‹ค..!

                  ๋•๋ถ„์— ๊ธฐํ•œ ๋‚ด์— ๊ณ„ํšํ•œ ๋‚ด์šฉ์„ ๋ชจ๋‘ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 


5. ๋ฐœํ‘œ ์ค€๋น„

vercel ๋ฐฐํฌ ๋ฐ ๋””๋ฒ„๊น… ํ›„, ์‹œ์—ฐ์˜์ƒ์„ ์ดฌ์˜ํ•˜๊ณ  ๋ฐœํ‘œ ์ž๋ฃŒ๋ฅผ ์ œ์ž‘ํ•˜์˜€๋‹ค.

์‚ฌ์‹ค ์˜์ƒ์„ ์ผ์ฐ ์ œ์ž‘ํ–ˆ์—ˆ๋Š”๋ฐ ๋งˆ์Œ์— ์•ˆ ๋“ค์–ด์„œ...๐Ÿฅน ๋ฐœํ‘œ ์ „๋‚  ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋งŒ๋“ค์—ˆ๋‹ค.

๋ชจ๋“  ํŒ€์›๋“ค์ด ๋ถ™์–ด์„œ ์˜์ƒ์„ ์ œ์ž‘ํ–ˆ๊ณ , 3์‹œ๊ฐ„๋งŒ์— ๊ฝค๋‚˜ ํ€„๋ฆฌํ‹ฐ ์ข‹์€ ์˜์ƒ์„ ์™„์„ฑํ–ˆ๋‹ค. ์—„์ฒญ๋‚œ ํŒ€์›Œํฌ๊ฐ€ ๋น›๋‚œ๋˜ ์ˆœ๊ฐ„์ด์—ˆ๋‹ค ใ…‹ใ…‹ใ…‹ใ…‹

 

๋ง๊ณ ๋ณด๋“œ PPT ํ…œํ”Œ๋ฆฟ๊ณผ gif๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ์ข‹์€ ํ”„๋ ˆ์  ํ…Œ์ด์…˜์„ ๋งŒ๋“ค์—ˆ๊ณ ,

๋‚ด๊ฐ€ ๋ฐœํ‘œ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค

๋ฐœํ‘œ ์ฒซ ์ˆœ์„œ์˜€์–ด์„œ QnA์—์„œ ์˜ˆ์ƒ์น˜ ๋ชปํ–ˆ๋˜ ์งˆ๋ฌธ๋“ค์„ ์ œ๋Œ€๋กœ ๋‹ต๋ณ€ํ•˜์ง€ ๋ชปํ•œ๊ฒŒ ์กฐ๊ธˆ ์•„์‰ฌ์› ๋‹ค ใ…œใ…œ

 


 

์•„์ง ์ˆœ์œ„ ๋ฐœํ‘œ๊ฐ€ ๋‚˜์˜ค์ง€๋Š” ์•Š์•˜์ง€๋งŒ,

์ตœ์„ ์„ ๋‹คํ–ˆ๊ณ  ๊ธฐํšํ•œ ๋‚ด์šฉ์„ ๋ชจ๋‘ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ์— ์„ฑ๊ณตํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ›„ํšŒ๋Š” ์—†๋‹ค!!

๋ฆฌ๋”์‹ญ์— ๋Œ€ํ•ด์„œ๋„ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ๊ณ , ์ข‹์€ ํŒ€์›๋“ค์„ ๋งŒ๋‚œ ๋•๋ถ„์— ๋ชฉํ‘œํ•œ ๋ฐ”๋ฅผ ์ด๋ฃฐ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค ๐Ÿค“

 

๋ถ€ํŠธ์บ ํ”„์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋ฐฐ์šฐ๊ณ  ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค

์ด์ œ ๋ฐฑ์—”๋“œ ๋ฐฐ์šฐ์ž....!

728x90
๋ฐ˜์‘ํ˜•