TIL 56 - 2: [์ธ์ฆ/๋ณด์•ˆ] ๊ธฐ์ดˆ

์ด๋ฒˆ ์Šคํ”„๋ฆฐํŠธ๋Š” ์ด์ „ ์„น์…˜3์—์„œ ๋ฐฐ์› ๋˜ ๋‚ด์šฉ๋“ค์„ ๋งŽ์ด ๋‹ค๋ฃจ์–ด๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ๋ณต์Šตํ•˜๋Š”๋ฐ ์œ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋•๋ถ„์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์„œ๋ฒ„, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๊ณ , ๋ฐ์ดํ„ฐ๋“ค์ด ์–ด๋–ป๊ฒŒ ์ด๋™ํ•˜๋Š”์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. 

 

Session

์ผ์ • ์‹œ๊ฐ„๋™์•ˆ ๊ฐ™์€ ์‚ฌ์šฉ์ž(๋ธŒ๋ผ์šฐ์ €)๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” ์ผ๋ จ์˜ ์š”๊ตฌ๋ฅผ ํ•˜๋‚˜์˜ ์ƒํƒœ๋กœ ๋ณด๊ณ , ๊ทธ ์ƒํƒœ๋ฅผ ์œ ์ง€์‹œํ‚ค๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

๋ฐฉ๋ฌธ์ž๊ฐ€ ์›น ์„œ๋ฒ„์— ์ ‘์†ํ•ด ์žˆ๋Š” ์ƒํƒœ(์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ์— ์„ฑ๊ณตํ•œ ์ƒํƒœ)๋ฅผ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋ณด๊ณ  ๊ทธ๊ฒƒ์„ ์„ธ์…˜์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค.

 

๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๊ฐ„์— ์„ธ์…˜์ด ์–ด๋–ป๊ฒŒ ์ด์šฉ๋˜๋Š”์ง€๋Š” Sprint์—์„œ ๊ทธ๋ฆผ์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

 

์ด๋Ÿฌํ•œ ์„ธ์…˜์„ ๋Œ€์‹  ๊ด€๋ฆฌํ•ด์ฃผ๋Š” express-session์ด๋ผ๋Š” ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜ ์•„์ด๋””๋ฅผ ์ฟ ํ‚ค์— ์ €์žฅํ•˜๊ณ , ์ข…์†๋˜๋Š” ๊ณ ์œ ํ•œ ์„ธ์…˜ ๊ฐ์ฒด๋ฅผ ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. req.session์ด ๋ฐ”๋กœ ์„ธ์…˜ ๊ฐ์ฒด์ด๊ณ , ์„ธ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

 

 

Sprint

๋กœ๊ทธ์ธ ํ•  ๋•Œ Browser์™€ Server ์‚ฌ์ด์— ์„ธ์…˜์ด ์–ด๋–ป๊ฒŒ ์ด์šฉ๋˜๋Š”์ง€๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ์•„์›ƒ์„ ํ•  ๋•Œ๋Š” ์„œ๋ฒ„์˜ ์„ธ์…˜ ์ •๋ณด๋ฅผ ์‚ญ์ œํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ์˜ ์ฟ ํ‚ค๋ฅผ ๊ฐฑ์‹ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ฟ ํ‚ค๋ฅผ ์ž„์˜๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์‹  set-cookie๋กœ ์„ธ์…˜ ์•„์ด๋””์˜ ํ‚ค๊ฐ’์„ ๋ฌดํšจํ•œ ๊ฐ’์œผ๋กœ ๊ฐฑ์‹ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

ํด๋ผ์ด์–ธํŠธ ํŒŒํŠธ์—์„œ fetch๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ณ„์† ๋ง‰ํžˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋Š”๋ฐ, ์•Œ๊ณ ๋ณด๋‹ˆ ๋ฐฐ์šฐ์ง€ ์•Š์€ axios๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์ด์ „์— ๋ฐฐ์› ๋˜ fetch์™€ ๋งŽ์ด ๋น„์Šทํ•ด์„œ ์ดํ•ดํ•˜๊ธฐ๋Š” ์‰ฌ์› ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฐ์šฐ์ง€ ์•Š์•˜๋˜ ๋ถ€๋ถ„์„ ์Šคํ”„๋ฆฐํŠธ์—์„œ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•ด๋ณธ ๊ฒƒ์€ ๊ฑฐ์˜ ์ฒ˜์Œ์ด์–ด์„œ ๊ทธ๋Ÿฐ์ง€ ์žฌ๋ฏธ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค! 

fetch๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ API์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•„๋‹Œ node.js ํ™˜๊ฒฝ์—์„œ๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์„œ๋ฒ„ ํ™˜๊ฒฝ์€ node.js๋กœ ๊ตฌ์ถ•๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— axios๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.