Private

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘ ๋ชจ์•„๋ณด๊ธฐ1

    1. Sync, Async์˜ ์ฐจ์ด์ (๋™๊ธฐ, ๋น„๋™๊ธฐ์˜ ์ฐจ์ด์ )์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.Sync๋Š” ์ž‘์—… ์š”์ฒญ์ด ์ด๋ค„์ง€๊ณ , ์š”์ฒญ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Async๋Š” ํŠน์ •ํ•œ ์š”์ฒญ์˜ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€์Šค๋ ˆ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์š”์ฒญ๋œ ์ž‘์—…์„ ํ•˜๋‚˜์”ฉ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ setTimeout์ด๋‚˜ fetch๊ณผ ๊ฐ™์€ Web API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 2. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋™์ž‘ ์›๋ฆฌ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š”๋ฐ์š”, ๋Œ€ํ‘œ์ ์œผ๋กœ ๊ตฌ๊ธ€์˜ V8์—”์ง„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ๋ฉ”๋ชจ๋ฆฌํž™๊ณผ ์ฝœ์Šคํƒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ํž™์€ ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ๋“ฑ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ด๋ฃจ์–ด์ง€๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ์ฝœ์Šคํƒ์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝ..

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(๋ฐฐ์—ด)

    1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐฐ์—ด์€ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ์˜ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์—ฌ๋Ÿฌ ๊ฐ’์„ ํ•˜๋‚˜์˜ ์ž๋ฃŒ๊ตฌ์กฐ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด์€ ๋™์  ๋ฐฐ์—ด์ด๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด ๋†“์ง€ ์•Š์•„๋„ ๋˜๋ฉฐ, ์š”์†Œ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ ์กฐ์ ˆ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฐ์—ด์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐ์ฒด์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด, ๋ฐฐ์—ด ์š”์†Œ๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์—์„œ ์—ฐ์†์ ์ด์ง€ ์•Š์•„๋„ ๋˜๊ณ , ๋ฐฐ์—ด ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋งˆ์ง€๋ง‰์œผ๋กœ ๋‚ด์žฅ๋œ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ ์‰ฝ๊ฒŒ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด reduce, map ๋“ฑ์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.์ •๋ฆฌํ•˜..

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(์˜์กด์„ฑ๋ฐฐ์—ด)

    1. useEffect ์‚ฌ์šฉ ์‹œ ์˜์กด์„ฑ ๋ฐฐ์—ด์— ๋นˆ ๋ฐฐ์—ด์„ ๋„ฃ๋Š” ๊ฒƒ์„ ์ง€์–‘ํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?useEffect๋Š” ์˜์กด์„ฑ ๋ฐฐ์—ด๋กœ ์ „๋‹ฌํ•œ ๊ฐ’์˜ ๋ณ€๊ฒฝ์— ์˜ํ•ด ์‹คํ–‰๋˜์•ผ ํ•˜๋Š” ํ›…์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜์กด์„ฑ ๋ฐฐ์—ด์— ๊ฐ’์„ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœํžˆ ์ตœ์ดˆ ๋ Œ๋”๋ง ๋•Œ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•˜๋„๋ก ํ•œ๋‹ค๋ฉด ์ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ถ€์ˆ˜ ํšจ๊ณผ๊ฐ€ ์‹ค์ œ๋กœ ๊ด€์ฐฐํ•ด์„œ ์‹คํ–‰๋ผ์•ผ ํ•˜๋Š” ๊ฐ’๊ณผ๋Š” ๋ณ„๊ฐœ๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋นˆ ๋ฐฐ์—ด์„ ๋„ฃ๋Š” ๊ฒƒ์€ useEffect ํ›…์˜ ์ทจ์ง€์™€ ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ  ๋ฉด์ ‘(heap, CI/CD)

    1. ํž™์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.ํž™์€ ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์— ์‚ฌ์šฉ๋˜๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ํž™์— ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ด ๋๋‚œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ช…์‹œ์ ์œผ๋กœ ํ•ด์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.2. CI/CD์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”."์ง€์†์ ์ธ ํ†ตํ•ฉ/์ง€์†์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต ๋˜๋Š” ๋ฐฐํฌ CI(Continuous Integration)/CD(Continuous Delivery, Continuous Deployment)"์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค.`์ง€์†์ ์ธ ํ†ตํ•ฉ(CI)`์€ ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ •๊ธฐ์ ์œผ๋กœ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ ๊ณต์œ  ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ˜‘์—…์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” conflict๋ฅผ ์ˆ˜์‹œ๋กœ ํ™•์ธํ•˜๊ณ  ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ƒˆ๋กœ์šด ์—…๋ฐ์ดํŠธ์˜ ํ…Œ์ŠคํŠธ์™€ ์ถœ์‹œ ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.`์ง€์†์ ์ธ ..

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(script ์ฝ”๋“œ์˜ ์œ„์น˜)

    1. ์ฝ”๋“œ๋Š” ํƒœ๊ทธ์™€ ํƒœ๊ทธ ์ค‘์— ์–ด๋””์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด ์ข‹์€ ๊ฒƒ ๊ฐ™์€์ง€ ๋ณธ์ธ์˜ ์ƒ๊ฐ์„ ๋งํ•ด์ฃผ์„ธ์š”.์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ํฌ๊ธฐ์™€ ์‚ฌ์šฉ์„ฑ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ ํŒŒ์ผ์˜ ํฌ๊ธฐ์™€ ์‚ฌ์šฉ์„ฑ์ด ๋น„์Šทํ•˜๋‹ค๋ฉด ํƒœ๊ทธ ์ œ์ผ ํ•˜๋‹จ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ Œ๋”๋ง ์—”์ง„์€ HTML์„ ์ฝ์–ด DOM์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ์ค‘ script ํƒœ๊ทธ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋˜๋ฉด ์ฝ”๋“œ ํŒŒ์‹ฑ ์ œ์–ด๊ถŒ์ด ๋ Œ๋”๋ง ์—”์ง„์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (์ด๋ฅผ blocking์ด ์ผ์–ด๋‚ฌ๋‹ค๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค) ์ดํ›„์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์‹ฑ๊ณผ ์‹คํ–‰์ด ์ข…๋ฃŒ๋˜๋ฉด ๋‹ค์‹œ ๋ Œ๋”๋ง ์—”์ง„์œผ๋กœ ์ œ์–ด๊ถŒ์ด ๋„˜์–ด๊ฐ€ HTML ํŒŒ์‹ฑ์ด ์ค‘๋‹จ๋œ ์‹œ์ ๋ถ€ํ„ฐ ๋‹ค์‹œ DOM ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.๊ฒฐ๊ตญ ์ฝ”๋“œ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋˜๋ฉด ์œ„์—์„œ ์•„๋ž˜๋กœ ๋™๊ธฐ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋˜ ํŒŒ์‹ฑ์ด ์ค‘๋‹จ๋œ๋‹ค๋Š” ์˜๋ฏธ์ด๊ณ  ๋ธ”๋กœํ‚น๋˜๋Š” ๊ฒƒ์€ DOM ์ƒ์„ฑ์„ ์ง€์—ฐ์‹œํ‚ฌ ์ˆ˜..

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(render, commit๋‹จ๊ณ„)

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

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(hydrate, render)

    1. hydrate๋ž€ ๋ฌด์—‡์ธ์ง€์™€ render์™€์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.hydrateํ•จ์ˆ˜๋Š” ์ƒ์„ฑ๋œ HTML ์ฝ˜ํ…์ธ ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ธ๋“ค๋Ÿฌ๋‚˜ ์ด๋ฒคํŠธ๋ฅผ ๋ถ™์ด๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.render์™€์˜ ์ฐจ์ด์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.hydrate๋Š” ์ด๋ฏธ ๋ Œ๋”๋ง๋œ HTML์ด ์žˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ์ด ๋ Œ๋”๋ง๋œ HTML์„ ๊ธฐ์ค€์œผ๋กœ ์ด๋ฒคํŠธ๋ฅผ ๋ถ™์ด๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ render๋Š” ๋นˆ HTML์— ์ •๋ณด๋ฅผ ์š”์†Œ๋“ค์„ ๋ Œ๋”๋งํ•˜๋ฉฐ ์—ฌ๊ธฐ์— ์ด๋ฒคํŠธ๋ฅผ ๋ถ™์ด๋Š” ์ž‘์—…๊นŒ์ง€ ๋ชจ๋‘ ํ•œ ๋ฒˆ์— ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(ํด๋ž˜์Šค)

    1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ES6์—์„œ ํด๋ž˜์Šค๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํŠน์ • ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ์ผ์ข…์˜ ํ‹€๋กœ, ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ์ƒํƒœ(๋ฉค๋ฒ„ ๋ณ€์ˆ˜)์™€ ๋ฉ”์„œ๋“œ(ํ•จ์ˆ˜)๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ES6์—์„œ ํด๋ž˜์Šค๋Š” ํ•จ์ˆ˜์˜ ํ•œ ์ข…๋ฅ˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์—, ํ•จ์ˆ˜์™€ ๋™์ผํ•˜๊ฒŒ ํด๋ž˜์Šค ์„ ์–ธ(Class declarations)๊ณผ ํด๋ž˜์Šค ํ‘œํ˜„(Class expressions)์œผ๋กœ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง)

    1. ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.- ์•Œ๊ณ ์žˆ๋Š” ๋‚ด์šฉ ๋จผ์ € ๋ธŒ๋ผ์šฐ๋”๋Š” HTML์„ ํŒŒ์‹ฑํ•˜์—ฌ document object model, ์ฆ‰ DOM์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ css ํŒŒ์ผ์„ ๋งŒ๋‚˜๋ฉด DOM์ƒ์„ฑ์„ ์ž ์‹œ ์ค‘๋‹จํ•˜๊ณ  ํŒŒ์‹ฑํ•˜์—ฌ CSSOM์„ ์ƒ์„ฑํ•˜๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ๋งŒ๋‚˜๋ฉด ์—ญ์‹œ DOM์ƒ์„ฑ์„ ์ค‘๋‹จํ•˜๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŒŒ์‹ฑํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ํŒŒ์‹ฑํ•˜๋ฉด DOM๊ณผ CSSOM์„ ํ•ฉ์ณ ๋ Œ๋”ํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ ˆ์ด์•„์›ƒ๊ณผ ํŽ˜์ธํŠธ ๊ณผ์ •์ด ์ง„ํ–‰๋˜๋ฉฐ ์›นํŽ˜์ด์ง€๋ฅผ ๊ทธ๋ฆฌ๋Š” ์ˆœ์œผ๋กœ ๋ Œ๋”๋ง์ด ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. - ๋งค์ผ๋ฉ”์ผ๋กœ ๋ณด์ถฉํ•œ ๋‚ด์šฉ ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›นํŽ˜์ด์ง€๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ๊ฑฐ์น˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์ด ๊ณผ์ •์„ 5๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ  ์„ค๋ช…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋กœ DOMํŠธ๋ฆฌ ์ƒ์„ฑ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค..