23.05.01 TIL ๐Ÿฅถ

์ƒค์ด๋‹ˆยท2023๋…„ 5์›” 1์ผ
0

learned.log

๋ชฉ๋ก ๋ณด๊ธฐ
41/46

์˜ค๋Š˜์˜ ๋‚˜๋Š” ๋ฌด์—‡์„ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์› ๋‚˜์š”?

[1] Domain Name Resolution

[2] ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง

  1. ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ v6

    • ๋ฆฌ์•กํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ๋ฅผ ๋‹ค๋ฃจ๊ณ , ์ฃผ์†Œ์— ๋”ฐ๋ผ ํ•ด๋‹นํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
    • v6 ๋ฒ„์ „๋ถ€ํ„ฐ๋Š” ๊ธฐ์กด์˜ Route ์ปดํฌ๋„ŒํŠธ๊ฐ€ Routes๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค. Routes๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ Route๋ฅผ ํ•œ๋ฒˆ์— ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ์„ ๋˜์—ˆ์œผ๋ฉฐ, ๋ณด๋‹ค ์„ธ๋ฐ€ํ•œ ๊ฒฝ๋กœ ์ง€์ •์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค.
  2. Routes

    • Routes ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์†Œ์— ๋”ฐ๋ผ ํ•ด๋‹นํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค.
    • ๊ฐ ํŽ˜์ด์ง€๋ฅผ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค์–ด ๋ Œ๋”๋งํ•œ๋‹ค.
  3. Link

    • Link ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ์ด๋™์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.
    • ํด๋ฆญ ์‹œ ํ•ด๋‹น ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋œ๋‹ค.
  4. useParams

    • ๋™์ ์ธ ๊ฒฝ๋กœ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
    • Route ์ปดํฌ๋„ŒํŠธ์—์„œ path์— :ํŒŒ๋ผ๋ฏธํ„ฐ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์œ„์น˜์— ๋™์ ์ธ ๊ฐ’์„ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, useParams ํ›…์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
  5. useSearchParams

    • ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ฃผ์†Œ ๋์— ?key=value ํ˜•์‹์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , useSearchParams ํ›…์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๊ฐ’์„ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
  6. useNavigate

    • ํŽ˜์ด์ง€ ์ด๋™์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • Link์™€ ๋‹ฌ๋ฆฌ ํด๋ฆญ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ๋กœ ํŽ˜์ด์ง€ ์ด๋™์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  7. react-helmet ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

    • react-helmet ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€์˜ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ํŽ˜์ด์ง€ ์ œ๋ชฉ, ๋ฉ”ํƒ€ ์„ค๋ช… ๋“ฑ์„ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.
  8. ์‹ฑ๊ธ€ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA)

    • ์ „ํ†ต์ ์ธ ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ, ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ์ฒ˜์Œ์— ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉ์ž์˜ ์ƒํ˜ธ์ž‘์šฉ์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•œ๋‹ค.
    • ๋ฆฌ์•กํŠธ๋Š” SPA ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
  9. ๋ฆฌ์•กํŠธ๊ฐ€ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐฉ์‹

    ๋ฆฌ์•กํŠธ๋Š” ๊ฐ€์ƒ DOM(Virtual DOM)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ Œ๋”๋งํ•œ๋‹ค. ๊ฐ€์ƒ DOM์€ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๋Š” ๊ฐ€๋ฒผ์šด ๊ฐ€์ƒ์˜ DOM ํŠธ๋ฆฌ๋กœ, ์‹ค์ œ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ Œ๋”๋ง๋˜๋Š” DOM๊ณผ ๋™์ผํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋‹ค.

    ๋ฆฌ์•กํŠธ์—์„œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ์‹ค์ œ DOM๊ณผ ๋น„๊ตํ•˜์—ฌ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๊ฐ€์ƒ DOM๊ณผ ๋น„๊ตํ•˜์—ฌ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ์‹ค์ œ DOM์— ๋ฐ˜์˜ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ  ๋ Œ๋”๋ง ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

    ๋˜ํ•œ, ๋ฆฌ์•กํŠธ๋Š” SPA(Single Page Application) ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค. SPA๋Š” ํ•œ ๊ฐœ์˜ ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑ๋œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜๋ฏธํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ž™์…˜์ด ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์™€์„œ ๋™์ ์œผ๋กœ ํ™”๋ฉด์„ ๊ฐฑ์‹ ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ฆฌ์•กํŠธ๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋ผ์šฐํŒ…์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋น ๋ฅด๊ณ  ๋ถ€๋“œ๋Ÿฌ์šด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•œ๋‹ค.

๊ณต๋ถ€ํ•˜๋ฉด์„œ ์–ด๋–ค ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‚˜์š”?

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

๋‚ด์ผ์˜ ๋‚˜๋Š” ๋ฌด์—‡์„ ๊ณต๋ถ€ํ•ด์•ผ ํ• ๊นŒ์š”?

  • ๋ฆฌ์•กํŠธ hook ํ•™์Šต ๋ฐ ๋ณต์Šต
    • useLayoutEffect ๋ผ๋Š” Hooks๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. ๋‹ค์–‘ํ•œ hooks์— ๋Œ€ํ•ด ์ตํ˜€๋ณด๊ณ ์žํ•œ๋‹ค.
  • ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜

0๊ฐœ์˜ ๋Œ“๊ธ€