๐Ÿธminzzi
Minzzi์•ผ
๐Ÿธminzzi
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (132)
    • ์˜ค๋ฅ˜ํ•ด๊ฒฐ (14)
    • FE (36)
      • Next.js (17)
      • React (4)
      • React Native (0)
      • TypeScript (1)
      • JavaScript (14)
    • BE (0)
      • Nest.js (0)
    • ๋ฐ๋ธŒ์ฝ”์Šค (7)
    • ์›น ํ”„๋กœ์ ํŠธ (5)
    • CS (28)
      • Algorithm (5)
      • Python (4)
      • C++ (2)
      • Operating System (4)
      • Computer Networking (3)
      • Data Structure (1)
      • Machine Learning (3)
      • Tip (6)
    • Github (4)
    • Flutter (3)
      • ํ”„๋กœ์ ํŠธ (3)
    • Private (3)
      • ํšŒ๊ณ  (7)
      • ๋ฉด์ ‘ (17)
    • ๊ฐœ๋ฐœ๋„์„œ (7)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ๋ฉด์ ‘
  • ๋ชจ๋˜๋ฆฌ์•กํŠธ๋”ฅ๋‹ค์ด๋ธŒ
  • ์›์‹œํƒ€์ž…
  • layout shift
  • ํž™์˜์—ญ
  • ์ด๋ฒคํŠธ๋ฃจํ”„
  • ์ฝœ์Šคํƒ
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • ์‹คํ–‰์ปจํ…์ŠคํŠธ
  • ๋ ‰์‹œ์ปฌ
  • ํ˜ธ์ด์ŠคํŒ…
  • ์ด๋ฏธ์ง€ ์ตœ์ ํ™”
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • react
  • next.js
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • reflow
  • SSR
  • ์˜ค๋ธ”์™„
  • ์‹คํ–‰์ปจํƒ์ŠคํŠธ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๐Ÿธminzzi

Minzzi์•ผ

Private/๋ฉด์ ‘

ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(์ด๋ฒคํŠธ ๋ฃจํ”„)

2024. 11. 13. 22:17

1. ์ด๋ฒคํŠธ๋ฃจํ”„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

<์•Œ๊ณ ์žˆ๋Š”๋Œ€๋กœ ๋จผ์ € ์ ์€ ๋‚ด์šฉ>

์ด๋ฒคํŠธ ๋ฃจํ”„๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์‹ฑ๊ธ€์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์ž‘์—…๋“ค์€ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌ๋˜๊ณ , ์ฝœ์Šคํƒ์— ์ž‘์—…์ด ์Œ“์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. API๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ฑฐ๋‚˜ ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ์ž‘์—… ๋“ฑ์˜ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์ˆ˜์ ์œผ๋Ÿฌ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•˜๋Š”๋ฐ์š”, ์ด๋•Œ Web API๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ ์ž‘์—…์ด ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝœ์Šคํƒ์— ๋น„๋™๊ธฐ ์ž‘์—…์ด ์‹คํ–‰๋˜๋ฉด ๋น„๋™๊ธฐํ•จ์ˆ˜๋Š” Web API๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  Web API๋Š” Task queue๋ผ๊ณ ๋„ ํ•˜๋Š” Callback Queue์— ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ ๋ฃจํ”„๋Š” ์ฝœ์Šคํƒ๊ณผ ์ฝœ๋ฐฑํ๋ฅผ ๊ณ„์† ํ™•์ธํ•˜์—ฌ ์ฝœ์Šคํƒ์— ์žˆ๋Š” ์ž‘์—…์„ ์šฐ์„ ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ฝœ์Šคํƒ์ด ๋น„๋ฉด ์ฝœ๋ฐฑํ์— ์žˆ๋Š” ์ž‘์—…์„ ์ฝœ์Šคํƒ์— ๋„ฃ์–ด ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

 

<๊ณต๋ถ€ ์ดํ›„ ์ˆ˜์ •ํ•œ ๋‚ด์šฉ>

์ด๋ฒคํŠธ ๋ฃจํ”„๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ค‘์š”ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์‹ฑ๊ธ€์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์ž‘์—…๋“ค์€ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌ๋˜๊ณ , ์ฝœ์Šคํƒ์— ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ฝ”๋“œ๋“ค์ด ์Œ“์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ fetch๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ฑฐ๋‚˜ setTimeout ํ•จ์ˆ˜ ๋“ฑ์˜ Web API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝœ์Šคํƒ์— ๋น„๋™๊ธฐ ์ž‘์—…์ด ์‹คํ–‰๋˜๋ฉด ๋น„๋™๊ธฐํ•จ์ˆ˜๋Š” Wep API๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  Web API๋Š” Callback Queue๋ผ๊ณ ๋„ ํ•˜๋Š” Task Queue์— ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ ๋ฃจํ”„๋Š” ์ฝœ์Šคํƒ๊ณผ ํƒœ์Šคํฌํ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉฐ ์ฝœ์Šคํƒ์— ์žˆ๋Š” ์ž‘์—…์„ ์šฐ์„ ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ฝœ์Šคํƒ์ด ๋น„์›Œ์ง€๋ฉด ํƒœ์Šคํฌํ์— ์žˆ๋Š” ์ž‘์—…์„ ์ฝœ์Šคํƒ์— ๋„ฃ์–ด ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

 

2. ์•ž์„œ ๋ง์”€ํ•˜์‹  ํƒœ์Šคํฌ ํ์˜ ์ข…๋ฅ˜์—๋Š” ๋ฌด์—‡์ด ์žˆ๋‚˜์š”?(๋งค์ผ๋ฉ”์ผ ์งˆ๋ฌธ)

<์•Œ๊ณ ์žˆ๋Š”๋Œ€๋กœ ๋จผ์ € ์ ์€ ๋‚ด์šฉ>

ํƒœ์Šคํฌ ํ๋Š” ๋งˆ์ดํฌ๋กœ ํƒœ์Šคํฌ ํ์™€ ๋งคํฌ๋กœ ํƒœ์Šคํฌ ํ๋ผ๋Š” ๋‘ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š” ์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๋” ๊ณต๋ถ€ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

<๊ณต๋ถ€ ์ดํ›„ ์ˆ˜์ •ํ•œ ๋‚ด์šฉ>

ํƒœ์Šคํฌ ํ๋Š” ๋งคํฌ๋กœ ํƒœ์Šคํฌ ํ์™€ ๋งˆ์ดํฌ๋กœ ํƒœ์Šคํฌ ํ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๋งคํฌ๋กœ ํƒœ์Šคํฌ ํ๋Š” setTimeout, setInterval ๊ณผ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ๋น„๋™๊ธฐ ์ž‘์—…๋“ค์ด ๋Œ€๊ธฐํ•˜๋Š” ํ์ž…๋‹ˆ๋‹ค. ๋งคํฌ๋กœ ํƒœ์Šคํฌ ํ๋Š” ์ด๋ฒคํŠธ ๋ฃจํ”„๊ฐ€ ์ฝœ์Šคํƒ๊ณผ ๋งˆ์ดํฌ๋กœ ํƒœ์Šคํฌ ํ์˜ ์ž‘์—…์„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•œ ํ›„ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์ดํฌ๋กœ ํƒœ์Šคํฌ ํ๋Š” Promise.then()๊ณผ ๊ฐ™์ด ๋†’์€ ์ค‘์š”๋„์˜ ์ž‘์—…๋“ค์ด ๋Œ€๊ธฐํ•˜๋Š” ํ์ž…๋‹ˆ๋‹ค. ๋งˆ์ดํฌ๋กœ ํƒœ์Šคํฌ ํ๋Š” ๋งคํฌ๋กœ ํƒœ์Šคํฌ ํ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์œผ๋ฉฐ ์ฝœ์Šคํƒ์ด ๋น„์›Œ์ ธ์žˆ์œผ๋ฉด ๋งˆ์ดํฌ๋กœ ํƒœ์Šคํฌ ํ์˜ ์ž‘์—…๋“ค์„ ๋จผ์ € ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

์ •๋ฆฌํ•˜๋ฉด, ํƒœ์Šคํฌํ๋Š” ๋งคํฌ๋กœ ํƒœ์Šคํฌ ํ์™€ ๋งˆ์ดํฌ๋กœ ํƒœ์Šคํฌ ํ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๋งˆ์ดํฌ๋กœ ํƒœ์Šคํฌ ํ์— ์žˆ๋Š” ์ž‘์—…๋“ค์ด๊ฐ€ ๋งคํฌ๋กœ ํƒœ์Šคํฌ ํ๋ณด๋‹ค ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์•„ ๋จผ์ € ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

 

๋”๋ณด๊ธฐ

https://www.maeil-mail.kr/

 

๋งค์ผ๋ฉ”์ผ - ๊ธฐ์ˆ  ๋ฉด์ ‘ ์งˆ๋ฌธ ๊ตฌ๋… ์„œ๋น„์Šค

๊ธฐ์ˆ  ๋ฉด์ ‘ ์งˆ๋ฌธ์„ ๋งค์ผ๋งค์ผ ๋ฉ”์ผ๋กœ ๋ณด๋‚ด๋“œ๋ฆด๊ฒŒ์š”!

www.maeil-mail.kr

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Private > ๋ฉด์ ‘' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(HTTP ํ†ต์‹ )  (1) 2024.11.18
ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(props, state)  (1) 2024.11.16
ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(์ด๋ฏธ์ง€ ์ตœ์ ํ™”)  (0) 2024.11.12
ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(์‹คํ–‰์ปจํ…์ŠคํŠธ, ์Šค์ฝ”ํ”„ ์ฒด์ธ)  (0) 2024.11.11
ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(reflow, repaint)  (0) 2024.11.10
    'Private/๋ฉด์ ‘' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(HTTP ํ†ต์‹ )
    • ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(props, state)
    • ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(์ด๋ฏธ์ง€ ์ตœ์ ํ™”)
    • ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(์‹คํ–‰์ปจํ…์ŠคํŠธ, ์Šค์ฝ”ํ”„ ์ฒด์ธ)
    ๐Ÿธminzzi
    ๐Ÿธminzzi

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”