HH99-StockHub / FrontEnd

0 stars 2 forks source link

[StockHub]

์นด์นด์˜ค๋ฐฐ๋„ˆ

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

Web Site https://stockhub.co.kr/

Stock Hub๋Š” ๋‚ด๊ฐ€ ์„ ํƒํ•œ ์ข…๋ชฉ์— ๋Œ€ํ•œ ๋งค์ˆ˜ ์˜๊ฒฌ์„ ๊ณต์œ ํ•˜๋Š” ์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค๋กœ๋ถ€ํ„ฐ ๊ฒŒ์‹œ๊ธ€์— ๋Œ€ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›๋Š” ๊ฒƒ์€ ๋ฌผ๋ก , ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ์‹œ์ ๋ถ€ํ„ฐ์˜ ์ˆ˜์ต๋ฅ ๋„ ๋ณด์—ฌ์ค˜์š”! ์‚ฌ๊ณ  ์‹ถ์€ ์ข…๋ชฉ์ด ์žˆ๋Š”๋ฐ, ๋‚ด ์ƒ๊ฐ์ด ๋งž๋Š”์ง€ ํ™•์‹ ์ด ์—†๋‹ค๋ฉด Stock Hub์˜ ๊ณ ์ˆ˜๋“ค์—๊ฒŒ ๊ฒ€์ฆ์„ ๋ฐ›์•„๋ณด์‹œ์ฃ ! ์ˆจ์–ด์žˆ๋˜ ๋ฐฉ๊ตฌ์„ ์• ๋„๋ฆฌ์ŠคํŠธ๋“ค์ด ๋งˆ์Œ๊ป ๋ชฉ์†Œ๋ฆฌ๋ฅผ ๋‚ด๋Š” ๊ทธ๋‚ ๊นŒ์ง€ ํ™”์ดํŒ…์ž…๋‹ˆ๋‹ค!

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ๋ฐ ํ™˜๊ฒฝ

2022/06/24 ~ 2022/08/05
FrontEnd : React
BackEnd : SpringBoot

์™€์ด์–ดํ”„๋ ˆ์ž„

ํ”ผ๊ทธ๋งˆ https://www.figma.com/file/xg1wpWqkAv4cK4DIYlfHjV/%ED%95%AD%ED%95%B499_StockHub?node-id=0%3A1

ํŒ€ ๋…ธ์…˜

๋…ธ์…˜ https://swift-pelican-d17.notion.site/StockHub-3192bde33d57493da00ff60d3f3645a3

ํŒ€์›์†Œ๊ฐœ

Name GitHub / Contact Position
Frontend Github Link https://github.com/HH99-StockHub/FrontEnd
๋ฐ•ํƒœํ˜•VL https://github.com/bigtae1007 FE / React
์ •์‹ ์˜ https://github.com/sinyoung12 FE / React
Backend Github Link https://github.com/HH99-StockHub/BackEnd
์กฐํ•œ์šธL https://github.com/gaius365 BE / Spring
๋ฌธ์ค€ํ˜ธ https://github.com/mjoonho BE / Spring
์ฃผ ํฌ https://github.com/Joo-hui BE / Spring
Designer
์ด์€์ง€ momo1038@naver.com Designer

์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜

image

โš™ ์ฃผ์š” ๊ธฐ๋Šฅ

๊ธฐ์ˆ ์Šคํƒ ๋ฐ ์„ ์ • ์ด์œ 

:boom: Frontend





๊ธฐ์ˆ  ์Šคํ… ์„ ์ • ์ด์œ  * CloudFront * ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ด์œ ๋Š” https ํ™˜๊ฒฝ์œผ๋กœ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. * ๊ตญ๋‚ด ์ฃผ๊ฐ€๋งŒ ๋ณด์—ฌ์ฃผ๋Š” ๋งŒํผ ํ”„๋กœ์ ํŠธ์— ํƒ€๊ฒŸ์€ ๊ตญ๋‚ด ์„ฑ์ธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ CloudFront CDN ์„œ๋น„์Šค๊ฐ€ ๊ผญ ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ๋Š” ์•„๋‹ˆ๋ผ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ CDN ์„œ๋น„์Šค์— ๋ฉ”๋ฆฌํŠธ๊ฐ€ ์žˆ๋‹ค๋Š” ์ ๊ณผ amplify , vercel ๋‹ค์–‘ํ•œ ํ›„๋ณด๋“ค ์ค‘ ์—ฐ๊ฒฐ๋งŒ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ฐฐํฌ๋˜๋Š” ํ™˜๊ฒฝ๊ณผ ๋‹ค๋ฅด๊ฒŒ github action์„ ์ด์šฉํ•ด์„œ ๋ฐฐํฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ํ•˜๋‚˜ ๋” ํ•™์Šตํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์š•์‹ฌ์œผ๋กœ CloudFront๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. * React-Query * ํ•ญํ•ด ์ „๋ฐ˜์ ์ธ ๊ณผ์ •์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ redux-thunk๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์ƒˆ๋กœ์šด ๊ธฐ์ˆ  ์Šคํƒ์„ ๋Š˜๋ ค๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์š•์‹ฌ๊ณผ ์šฐํ•˜ํ•œํ…Œํฌ์„ธ๋ฏธ๋‚˜์—์„œ React Query ์˜์ƒ์„ ๋ณด๊ณ  ํ˜ธ๊ธฐ์‹ฌ์„ ๊ฐ–๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. * ์ดˆ๋ฐ˜ ๊ธฐํš ๋‹น์‹œ ์‹ค์‹œ๊ฐ„ ์ฃผ๊ฐ€ ๋ฐ์ดํ„ฐ ๋“ฑ **์‹ค์‹œ๊ฐ„**์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, store์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์œ ์—ฐํ•œ refetch๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” query๊ฐ€ ์ ์ ˆํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. * Recoil * MVP ๊ฐœ๋ฐœ ๋‹น์‹œ์—๋Š” ์ต์ˆ™ํ•œ Redux๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™•์‹คํ•œ ์ƒํƒœ๊ด€๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ํ”Œ๋กœ์šฐ๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์œผ๋ฉด์„œ, ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ๋งŽ๋‹ค๋Š” ๋‹จ์ ์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. * ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ react-query๋ฅผ ์ด์šฉํ•˜๋‹ค๋ณด๋‹ˆ ๋ฐ์ดํ„ฐ ํ”Œ๋กœ์šฐ์˜ ์žฅ์ ์ด ์‚ฌ๋ผ์กŒ๊ณ , ์ƒํƒœ๊ด€๋ฆฌ์— ํ•„์š”์„ฑ ๋˜ํ•œ ์ ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋„์ž…ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. * redux๋ณด๋‹ค ๊ฐ€๋ณ๊ณ  ์ด ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฆฌ์„œ์น˜ํ•˜์—ฌ Context API, mobX, recoil 3๊ฐœ์˜ ํ›„๋ณด๊ตฐ์„ ๋ฐœ๊ฒฌํ–ˆ๊ณ , ์ฝ”๋“œ ๋ณผ๋ฅจ์„ ์ค„์—ฌ๋ณด์ž๋Š” 1์ฐจ์ ์ธ ๋ชฉํ‘œ์™€, ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„์„ ๊ณ ๋ คํ–ˆ์„ ๋•Œ ๋น ๋ฅด๊ฒŒ ์Šต๋“ํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” 2์ฐจ ๋ชฉํ‘œ์— ๋ถ€ํ•ฉํ•˜๋Š” ํ›„๋ณด๊ตฐ ์ค‘ ๋ฆฌ์•กํŠธ ํ›…๊ณผ ์œ ์‚ฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณด์ด๋ฉฐ, Docs๋ฅผ ๋ดค์„ ๋•Œ ์ž˜ ์ •๋ฆฌ๋œ ๊ฒƒ ๊ฐ™์€ ๋งค๋ ฅ์ ์ธ ๋Š๋‚Œ์„ ๋ฐ›์•„ recoil์„ ์„ ํƒํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. * styled componenent * ๋””์ž์ด๋„ˆ๋„ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ์œ„ํ•ด ์ฐธ์—ฌํ–ˆ๋Š”๋ฐ, ๊ฐœ๋ฐœ ์ˆ˜์ค€์ด ๋‚ฎ์•„ ๋””์ž์ด๋„ˆ์˜ ํฌํŠธํด๋ฆฌ์˜ค ์งˆ์„ ๋‚ฎ์ถ”๋ฉด ์•ˆ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋””์ž์ด๋„ˆ๊ฐ€ ์›ํ•˜๋Š” ๋””์ž์ธ๊ณผ ํšจ๊ณผ๋ฅผ ๊ฐ€์žฅ ์ž˜ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ต์ˆ™ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ์—, ๊ณผ์ •์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ๊ฐ€์žฅ ์ต์ˆ™ํ•œ styled-compoenents๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. * ApexChart * ์ฐจํŠธ๋ฅผ ๊ตฌํ˜„ํ•จ์— ์žˆ์–ด์„œ, CSS๋ฅผ ์ด์šฉ ๋˜๋Š” SVG๋ฅผ ํ•™์Šตํ•ด ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ–ˆ์Šต๋‹ˆ๋‹ค. CSS๋งŒ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ง‰๋Œ€์™€ ๊ธˆ์•กํ‘œ๋งŒ์„ ์ž‘์„ฑํ–ˆ์„ ๋•Œ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ์š”ํ–ˆ๊ณ , hover์‹œ ์ฃผ๊ฐ€ ์ •๋ณด ๋ณด์ž„ ๋“ฑ ํ”ํžˆ ๋ณด์ด๋Š” ์ฐจํŠธ์— ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋” ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๊ธฐ๋ณธ ํ˜•ํƒœ๋ณด๋‹ค ์ด์˜์ง€ ๋ชปํ•˜๋‹ค๋Š” ์ ๋„ ๋ฌธ์ œ๊ฐ€ ๋์Šต๋‹ˆ๋‹ค. * ํ”„๋กœ์ ํŠธ์˜ ์™„์„ฑ๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๊ฒŒ๋๊ณ , candle ์ฐจํŠธ์™€ line ์ฐจํŠธ๋ฅผ ๋‘˜๋‹ค ์ œ๊ณตํ•˜๊ณ , ์ปค์Šคํ…€์ด ๊ฐ€๋Šฅํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ํƒ ๊ธฐ์ค€์œผ๋กœ ์žก๊ณ  ์„œ์น˜ ๊ณผ์ •์—์„œ docs๊ฐ€ ์ž˜ ๋˜์–ด์žˆ์œผ๋ฉฐ ๋งŽ์€ ์˜ต์…˜์œผ๋กœ ์ปค์Šคํ…€ํ•˜๊ธฐ ํŽธ๋ฆฌํ•œ ApexChart๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. * sockJS, stomp * ์ฒ˜์Œ ์‹œ๋„ํ•ด๋ณด๋Š” ๊ธฐ๋Šฅ์  ๋„์ „์ด์—ˆ๊ธฐ์—, ๊ด€๋ จ๋œ ์†Œ์Šค๊ฐ€ ๋งŽ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. spring๊ณผ ์•Œ๋ฆผ์ด๋‚˜ ์ฑ„ํŒ…๊ณผ ๊ฐ™์€ ํ…์ŠคํŠธ ์†Œ์ผ“ ์—ฐ๊ฒฐ์€ stomp๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉฐ, ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ธŒ๋ผ์šฐ์ €์— ๊ฒฝ์šฐ SockJS๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋‚ด์šฉ์„ ๋ดค๊ณ , ๋Œ€๋ถ€๋ถ„์˜ ์˜ˆ์ œ ๋“ฑ์ด stomp์™€ sockjs๋กœ ๊ตฌํ˜„ํ•œ ๊ฒƒ์„ ํ™•์ธํ•˜์—ฌ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. * axios * ํ›„๋ณด๋Š” ajax, axios, fetch 3๊ฐ€์ง€๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ajax๋Š” Jquery๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ •๋ง ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, ์ˆœ์ˆ˜ Ajax๋งŒ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ง๊ด€์ ์ด์ง€ ๋ชปํ•˜๊ณ  ์ต์ˆ™ํ•˜์ง€ ์•Š์•„ ์ œ์™ธํ–ˆ์Šต๋‹ˆ๋‹ค. * axios, fetch ๋‘˜ ์ค‘์—์„œ ์žฅ ๋‹จ์ ์„ ๋น„๊ตํ•ด ๋ดค์Šต๋‹ˆ๋‹ค. fetch๋Š” ๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ์„ค์น˜๊ฐ€ ํ•„์š”์—†๊ณ  axios์— ๋น„ํ•ด ๊ฐ€๋ณ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์—‡๊ณ  axios๋Š” ์ž๋™์œผ๋กœ JSON๋ฐ์ดํ„ฐ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜์ด ๋˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋” ํŽธํ•˜๊ณ  ๊ธฐ๋Šฅ์ด ๋งŽ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘˜์„ ๋น„๊ตํ–ˆ์„ ๋•Œ react๋Š” axios๊ฐ€ ๋” ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์–˜๊ธฐ๋„ ๋งŽ์•˜๊ณ , ์†๋„ ์ฐจ์ด์—์„œ ์œ ์˜๋ฏธํ•œ ํฌ๊ธฐ์— ์ฐจ์ด๊ฐ€ ์žˆ์ง€ ์•Š์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ , ์ต์ˆ™ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•œ axios๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.
## ๐Ÿ”ฅ Trouble Shooting
์ด์Šˆ https://github.com/HH99-StockHub/FrontEnd/issues/1 ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ์—์„œ ์ž‘์„ฑ ํฌ์ธํŠธ๋ฅผ ์‚ญ์ œํ•˜๋ฉด ๊ทธ ํ•˜์œ„ ์ž‘์„ฑ ํฌ์ธํŠธ ๊ฐ€ ์ดˆ๊ธฐํ™” ๋˜๋Š” ์ด์Šˆ
https://github.com/HH99-StockHub/FrontEnd/issues/6 ์ฃผ์‹ ์ข…๋ชฉ ์„ ํƒ ์‹œ ๋“œ๋กญ๋‹ค์šด ํ•ญ๋ชฉ์„ ํ‚ค๋ณด๋“œ ๋ฐฉํ–ฅํ‚ค๋กœ ์„ ํƒ ํ•  ์ˆ˜ ์žˆ๋„๋ก
https://github.com/HH99-StockHub/FrontEnd/issues/11 KaKao ๋กœ๊ทธ์ธ ์‹œ ๋กœ๊ทธ์ธ ์š”์ฒญ์„ 2๋ฒˆ ํ•˜๋Š” ์ด์Šˆ
https://github.com/HH99-StockHub/FrontEnd/issues/37 ํŠน์ • submit ์ด๋ฒคํŠธ ์‹œ useQuery ์‹คํ–‰ํ•˜๊ธฐ
https://github.com/HH99-StockHub/FrontEnd/issues/49 ์ƒ์„ธํŽ˜์ด์ง€์—์„œ ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ๋ฒ„ํŠผ์ด ์ž์‹ ์ด ์“ด ๊ธ€์ด๋ฉด true๋กœ ๋ฐ”๊ฟ” ํ™”๋ฉด์— ๋ณด์ด๊ฒŒํ•˜๊ณ 
๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๊ธ€์ด๋ฉด false๋กœ ๋ฐ”๊ฟ” ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ๋ฒ„ํŠผ์ด ํ™”๋ฉด์— ์•ˆ๋ณด์ด๊ฒŒ ํ•˜๊ธฐ
https://github.com/HH99-StockHub/FrontEnd/issues/122 ๋„๋ฉ”์ธ ์ฃผ์†Œ์™€ S3 ์ฃผ์†Œ์— ๋ฒ„์ „์ด ๋‹ค๋ฅธ ์ด์Šˆ
## ๐Ÿ‘€ FE ์ปจ๋ฒค์…˜
WIKI https://github.com/HH99-StockHub/FrontEnd/wiki/FE-:-Git-Flow Git-Flow
https://github.com/HH99-StockHub/FrontEnd/wiki/FE-:-%EC%BD%94%EB%93%9C-%EC%BB%A8%EB%B2%A4%EC%85%98 FE ์ฝ”๋“œ ์ปจ๋ฒค์…˜
https://github.com/HH99-StockHub/FrontEnd/wiki/FE-%ED%9A%8C%EC%9D%98%EB%A1%9D FE ํšŒ์˜๋ก
## ์œ ์ € ํ”ผ๋“œ๋ฐฑ ๋ฐ ๊ฐœ์„ ์‚ฌํ•ญ
๊ฐœ์„ ์‚ฌํ•ญ * ์ดˆ๊ธฐ ๋ฐฐํฌ ํ›„์— ๊ฒŒ์‹œ๊ธ€์ด ์—†์„ ๊ฒฝ์šฐ ๋„ˆ๋ฌด ํšกํ•ด ๋ณด์ธ๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์ด ์žˆ์–ด, ํ…์ŠคํŠธ๋กœ ์ด๋ฃฌ ์นด๋“œ๋ฅผ ๋„ฃ์–ด ์—ฌ๋ฐฑ์„ ์ฑ„์› ์Šต๋‹ˆ๋‹ค. ![gq](https://user-images.githubusercontent.com/97582834/183237173-5f376de9-0188-481b-951f-91807e25a6f2.JPG) * ์ฐจํŠธ์—์„œ ๋‚ ์งœ ๊ตฌ๋ถ„์ด ํž˜๋“ค๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์ด ์žˆ์–ด, ์ „๋…„๋„ ๋‚ ์งœ์—๋Š” ์—ฐ๋„๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ![h122](https://user-images.githubusercontent.com/97582834/183237198-22f97da9-c3be-4bf6-ad78-45104699c0d1.JPG) * ๊ฒŒ์‹œ๊ธ€์„ ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ๋‚ด์šฉ์ด ์—†์œผ๋ฉด ์•ˆ๋‚ด ๋ฌธ๊ตฌ ํ•˜๋‚˜๋งŒ ๋‚˜์˜ค๊ณ  ํ™”๋ฉด์ด ๋นˆํ™”๋ฉด์ด๋ผ ๋ถˆํŽธํ•˜๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์ด ์žˆ์–ด, ์ถ”๊ฐ€ ์•ˆ๋‚ด ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ![1234](https://user-images.githubusercontent.com/97582834/183237230-f07d3bfe-5098-4f14-933a-90f39fceef02.JPG) * ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ์‹œ ์‹ค์ˆ˜๋กœ ๋ˆŒ๋ €๋Š”๋ฐ ์–ด๋–ค ํ™•์ธ์กฐ์น˜ ์—†์ด ์‚ญ์ œ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด, ํ•œ๋ฒˆ ๋” ํ™•์ธํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ![5123](https://user-images.githubusercontent.com/97582834/183237243-f130431c-a804-4b9e-ba0a-14df4985a3c6.JPG)