๐Ÿšค ์„ฑ์žฅ์ผ์ง€ 6.0

์ฑ… ํ–‰๋ณตํ•œ ์ด๊ธฐ์ฃผ์˜์ž(์›จ์ธ ๋‹ค์ด์–ด)์˜ ๋‚ด์šฉ์— ์ž๊ทน๋ฐ›์•„ ์‹œ์ž‘ํ•˜๋Š” ์†Œ๋ฐ•ํ•œ ์„ฑ์žฅ๊ธฐ๋ก

์‚ด์•„์žˆ๋Š” ๊ฝƒ๊ณผ ์ฃฝ์€ ๊ฝƒ์€ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ณ„ํ•˜๋Š”๊ฐ€?
์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์‚ด์•„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
์ƒ๋ช…์˜ ์œ ์ผํ•œ ์ฆ๊ฑฐ๋Š” ์„ฑ์žฅ์ด๋‹ค!

๐ŸŒพ (4.0)ํ•™์Šต ํ‚ค์›Œ๋“œ์—์„œ ์ตœ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์ •๋ณด ์ œ๊ณต, ๊ณ ๋ฏผ์—์„œ ๋‚ด ๊ฒฝํ—˜์„ ์ž์„ธํžˆ ์ ์ž!
๐ŸฅŠ (5.0)ํ•™์Šต ํ‚ค์›Œ๋“œ๋Š” ํ•œ์ค„์˜ ํ•ต์‹ฌ์œผ๋กœ๋งŒ ์ •๋ฆฌ, ์„ฑ๊ณต/์‹คํŒจ ์ผ์ง€ ์ž‘์„ฑํ•˜๊ธฐ! ์ด ๋•Œ, ์‹คํŒจ์˜ ๊ฒฝํ—˜์€ ์ž์„ธํžˆ ์ ๊ธฐ!
๐Ÿ‰ (6.0)<์™„์ „ ๊ฐœํŽธ!!!> ๋งค์ผ ์Šต๊ด€์ ์œผ๋กœ ํ•ต์‹ฌ๋งŒ ์ ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ”„๋ ˆ์ž„ ๋ณ€๊ฒฝ. ์„ฑ๊ณต๋ณด๋‹จ ์‹คํŒจ์— ์ดˆ์ ์„ ๋งž์ถ”๊ธฐ.

  • ๐Ÿ‰ (6.1)<์ˆ˜์ •> ๋งค๋ฒˆ ์„ฑ๊ณต, ์‹คํŒจ๋ฅผ ๋”ฐ๋กœ ์ ๋Š” ๊ฒƒ๋ณด๋‹จ ๊ฒฝํ—˜์œผ๋กœ ํ‘œํ˜„ํ•˜์ž!
  • ๐Ÿ‰ (6.2)<์ˆ˜์ •> ์ผ์ง€ ์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ • ๋ณ€๊ฒฝ!(๊ฒฝํ—˜ -> ๊ณ ๋ฏผ -> ํšŒ๊ณ  -> ๊ตํ›ˆ)

โ˜€๏ธ ์˜ค๋Š˜์˜ ๊ฒฝํ—˜

Server-Side Routing vs Client-Side Routing

๋ณดํ†ต Server-Side Rendering๊ณผ Client-Side Rendering์„ ๊ตฌ๋ถ„ํ•ด์„œ ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋‘˜์„ Routing ๋ฐฉ์‹์— ๋”ฐ๋ผ์„œ๋„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. SSR(Server-Side Routing)์€ ์„œ๋ฒ„์—์„œ ๋ผ์šฐํŒ…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹, CSR(Client-Side Routing)์€ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ผ์šฐํŒ…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค. SSR์€ ํŽ˜์ด์ง€ ๋ณ„๋กœ html ํŒŒ์ผ์„ ๋ฐ›๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์‹ค์ƒ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ผ์šฐํŒ…์ด๋ผ๋Š” ๋‹จ์–ด๋Š” ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ CSR์€ ๋ผ์šฐํŒ…์„ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ๋Š” ๋‹จ์ผ ํŽ˜์ด์ง€๋งŒ์„ ์ „์†กํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ผ์šฐํŒ…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ด์ œ ์—ฌ๊ธฐ์„œ window.location๊ณผ history api์˜ ์ฐจ์ด๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค. ์กฐ๊ธˆ ๋‹จ์ˆœํ•˜๊ฒŒ ํ•˜๋ฉด window.location์€ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์„ ์˜๋ฏธํ•˜๊ณ  history api๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” api๋ฅผ ์˜๋ฏธํ•œ๋‹ค. window.location์€ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ๋˜๊ณ  ์„œ๋ฒ„์— ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜๊ฒŒ ๋œ๋‹ค. ๋ฐ˜๋ฉด์— history api๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” api์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์„ ๋ณ€๊ฒฝํ•ด๋„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ๋˜์ง€ ์•Š๊ณ  ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ๋งŒ ๋ณ€๊ฒฝ๋œ๋‹ค. ์ฆ‰, ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด window.location์€ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ผ์šฐํŒ…์„ ์˜๋ฏธํ•˜๊ณ  history api๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ผ์šฐํŒ…์„ ์˜๋ฏธํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋‘˜์˜ ์ฐจ์ด์ ์„ ์ž˜ ์•Œ๊ณ  ์‚ฌ์šฉํ† ๋ก ํ•˜์ž!!! (์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” react-router-dom์€ history api๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.)

๐Ÿซง ์˜ค๋Š˜์˜ ๊ณ ๋ฏผ

์ด๋ ฅ์„œ ๋‹ค๋“ฌ๊ธฐ

์ด๋ ฅ์„œ๋ฅผ ์™„์ „ํžˆ ๋œฏ์–ด ๊ณ ์ณค๋‹ค. ์ตœ๋Œ€ํ•œ ๊ธฐ์ˆ ์ ์ธ ์ด์Šˆ์— ๋Œ€ํ•ด์„œ ์ง‘์ค‘ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ณ ์น˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๊ฒŒ ๋˜ ์ •๋ง ๊ดœ์ฐฎ์€ ๋ฐฉ๋ฒ•์ธ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋‚ด์ผ๊นŒ์ง€ ์ž‘์„ฑํ•ด์„œ ๊ฐ€๊นŒ์šด ๊ฐœ๋ฐœ์ž๋ถ„๋“ค๊ป˜ ํ”ผ๋“œ๋ฐฑ์„ ์š”์ฒญํ•ด๋ณด๋ ค ํ•œ๋‹ค.

๐ŸŒˆ ์˜ค๋Š˜์˜ ํšŒ๊ณ 

์ €๋…์— ์ชผ๋” ์‰ฌ์—„์‰ฌ์—„ํ–ˆ๋‹ค. ์ƒ๊ฐํ•œ๋งŒํผ ๊ฐ•์˜๋ฅผ ๋“ฃ์ง„ ๋ชปํ–ˆ์ง€๋งŒโ€ฆ ๊ทธ๋ž˜๋„ ๊ณ„ํš ์„ธ์šด ์ •๋„๋Š” ์–ผ์ถ” ๋‹ค ํ•œ๋“ฏ..! ๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜ ๋“œ๋””์–ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ์ด๋ ฅ์„œ๋ฅผ ์—ด์‹ฌํžˆ ๋‹ค๋“ฌ์—ˆ๋‹ค. ๋ฏธ๋ฃจ๊ณ  ๋ฏธ๋ค˜๋˜ ์ผ์ธ๋งŒํผ ์ •๋ง ๋ฟŒ๋“ฏํ•˜๋‹ค. ์–ผ๋ฅธ ์ด๋ ฅ์„œ ํ”ผ๋“œ๋ฐฑ๋„ ๋ฐ›๊ณ  ์—ด์‹ฌํžˆ ์ œ์ถœํ•˜๋ฉด์„œ ์ทจ์—…ํ•ด์•ผ์ง€!!!

๐Ÿพ ์˜ค๋Š˜์˜ ๊ตํ›ˆ

ํ•˜๋ฉด ์ต์ˆ™ํ•ด์ง„๋‹ค. ์•„ ๊ทธ๋ฆฌ๊ณ  ์—์–ด์ปจ์€ ๊ผญ ์ฒญ์†Œํ•˜์ž.(ใ…‹ใ…‹)

๐Ÿชต ์ฐธ๊ณ