๐Ÿคทโ€โ™‚๏ธ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์— ...

๋ฐ•์ฑ„์œคยท2024๋…„ 3์›” 30์ผ
3

๋“ค์–ด๊ฐ€๋ฉด์„œ...

์ด๋ฒˆ ๊ณผ์ œ์—์„œ๋Š” Core Web Vital์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ์–ด๋–ป๊ฒŒ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ง€ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด๋Š” ๊ฒƒ์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

Core Web Vital์—๋Š” LCP, FID, CLS ์„ธ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ํ•ด๋‹น ๋‚ด์šฉ์„ ๋“ค์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ดํ•ดํ•˜๋Š” ๊ณผ์ •์ด ๋งŒ๋งŒ์น˜ ์•Š๋‹ค๊ณ  ๋Š๊ผ‡๋‹ค. ๊ทธ ์ด์œ ๋Š” React์—์„œ ํ™”๋ฉด์˜ Renderํ•˜๋Š” ๊ณผ์ •์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ณ  DOM์€ ๋ฌด์—‡์ด๊ณ  ํ™”๋ฉด์€ ์–ด๋–ป๊ฒŒ ๊ทธ๋ ค์ง€๋Š”์ง€ ๋“ฑ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง„ํ–‰์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ๋‹ค.

์ฒ˜์Œ ์ด ๋‚ด์šฉ์„ ์ ‘ํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๋„ ๊ฐ™์€ ์–ด๋ ค์›€์„ ๊ฒช์ง€ ์•Š์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์— ์ด์— ๋Œ€ํ•ด ๊ฐ™์ด ๋‹ค๋ค„๋ณด๋ คํ•œ๋‹ค.

โœจWindow

์šฐ์„  ๋’ค์— ๋‚ด์šฉ๋“ค์„ ์‚ดํŽด๋ณด๊ธฐ์ „์— ๊ฐ„๋‹จํ•˜๊ฒŒ Window๋ž€ ๋ฌด์—‡์ธ์ง€ ๋ณด๊ณ  ๋„˜์–ด๊ฐ€์ž.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ตœ์ƒ์œ„ ๊ฐ์ฒด / ์ „์—ญ ๊ฐ์ฒด / ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์†Œ์†๋œ ๊ฐ์ฒด

๋ธŒ๋ผ์šฐ์ €๋ฅผ ์˜๋ฏธํ•˜๋Š” window๋ผ๋Š” ์ตœ์ƒ์œ„ ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ˆ˜ ๋งŽ์€ ๊ฐ์ฒด๋“ค๋กœ ๊ตฌ์„ฑ์ด ๋˜๋Š”๋ฐ ๊ทธ ์ค‘ ์ตœ์ƒ์œ„ ๊ฐ์ฒด๊ฐ€ ๋ฐ”๋กœ window์ธ ๊ฒƒ์ด๋‹ค. ๊ทธ ์•„๋ž˜ DOM, BOM, JS๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ ํ”ํžˆ JS์ฝ”๋“œ๋กœ ์ž‘์„ฑ์„ ํ• ๋•Œ alert(), comfirm(), ๋“ฑ๋“ฑ ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๋ƒฅ ์‚ฌ์šฉํ–ˆ๋˜ ๋ฉ”์„œ๋“œ๋“ค ๋˜ํ•œ window.alert(), window.confirm() ์ด์—ˆ๋˜ ๊ฒƒ์ด๋‹ค.

๋ธŒ๋ผ์šฐ์ €๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ„์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋“ค์„ Treeํ˜•ํƒœ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๊ณ  ๊ทธ ์ค‘ ์ตœ์ƒ์œ„ ๊ฐ์ฒด๊ฐ€ Window์ธ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ์ด์ œ DOM,BOM์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

โœจDOM(Document Object Model)

DOM์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

DOM(๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ) : ๊ฐ์ฒด ์ง€ํ–ฅ ๋ชจ๋ธ๋กœ์จ ๊ตฌ์กฐํ™”๋œ ๋ฌธ์„œ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹

React๋ฅผ ๊ณต๋ถ€ํ•œ ๋ถ„๋“ค์€ ๋ชจ๋‘ ํ•œ๋ฒˆ์ฏค์€ ๋“ค์–ด๋ดค์„ ๊ฒƒ์ด๋‹ค DOM TREE๋ฅผ ๊ทธ๋ฆฐ๋‹ค
๋ผ๋Š” ๋ง์€ ํ•œ๋ฒˆ์ฏค์€ ๋“ค์–ด๋ดค์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด DOM TREE๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€?

์šฐ๋ฆฌ๋Š” React๋ฅผ ํ†ตํ•ด์„œ ์ฝ”๋“œ๋“ค์„ ์ž‘์„ฑํ•˜๊ณ  ์ด ์ฝ”๋“œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ™”๋ฉด์— ๋ฌด์—‡์ธ๊ฐ€๋ฅผ ๊ทธ๋ ค๋‚ธ๋‹ค. ์ด๋•Œ ํ•ญ์ƒ HTML์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•  ํƒ ๋ฐ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด HTML์ฝ”๋“œ๋ฅผ ์ฝ์„ ์ˆ˜ ์—†๋‹ค.
HTML์ฝ”๋“œ๋Š” ๋‹จ์ˆœ ๋ฌธ์ž์—ด์— ๋ถˆ๊ณผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๊ทธ๋ ‡๊ธฐ์— ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML tag๋“ค์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ดํ•ด ํ•  ์ˆ˜์žˆ๋Š” DOM TREEํ˜•ํƒœ๋กœ ๋ณ€ํ˜•ํ•œ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ DOM TREE๊ฐ€ ๊ตฌ์„ฑ๋œ๋‹ค.

๋‹ค์Œ์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML์„ ์ดํ•ดํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

  • ํŒŒ์‹ฑ(Parsing): ๋ธŒ๋ผ์šฐ์ €๋Š” HTML ์ฝ”๋“œ๋ฅผ ์ฝ๊ณ  ํŒŒ์‹ฑํ•˜์—ฌ ๋ฌธ์„œ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ HTML ์ฝ”๋“œ๋Š” ๊ฐ๊ฐ์˜ ์š”์†Œ(element), ์†์„ฑ(attribute), ํ…์ŠคํŠธ ๋…ธ๋“œ(text node) ๋“ฑ์œผ๋กœ ๋ถ„์„๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด <div> ์š”์†Œ๋Š” DOM์—์„œ ํ•˜๋‚˜์˜ ์š”์†Œ ๋…ธ๋“œ๋กœ ํ•ด์„๋˜๊ณ , ์†์„ฑ๋“ค์€ ํ•ด๋‹น ์š”์†Œ ๋…ธ๋“œ์˜ ์†์„ฑ์œผ๋กœ ํ•ด์„๋œ๋‹ค.

  • DOM ํŠธ๋ฆฌ ๊ตฌ์„ฑ: ํŒŒ์‹ฑ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €๋Š” DOM(Document Object Model) ํŠธ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. DOM ํŠธ๋ฆฌ๋Š” HTML ๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ์ด๋ฉฐ, ๊ฐ๊ฐ์˜ ๋…ธ๋“œ๋Š” HTML ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. DOM ํŠธ๋ฆฌ์˜ ๋ฃจํŠธ ๋…ธ๋“œ๋Š” <html> ์š”์†Œ์ด๊ณ , ๊ทธ ํ•˜์œ„์—๋Š” <head> ์š”์†Œ์™€<body>์š”์†Œ ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค.

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

โœจBOM(Browser Object Model)

BOM์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

BOM(๋ธŒ๋ผ์šฐ์ €๊ฐ์ฒด๋ชจ๋ธ) : ์›น๋ธŒ๋ผ์šฐ์ €์˜ ์ฐฝ์ด๋‚˜ ํ”„๋ž˜์ž„์„ ์ถ”์ƒํ™”ํ•ด์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•˜๋Š” ์ˆ˜๋‹จ์ด๋‹ค.

BOM์ด๋ž€ ์œ„์™€๊ฐ™์€ ๊ฒƒ์ธ๋ฐ ๋ฌด์Šจ ๋ง์ผ๊นŒ?
BOM์˜ ์—ญํ• ์€ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฒ„ํŠผ, URL ์ฃผ์†Œ ์ž…๋ ฅ ์ฐฝ, ํƒ€์ดํ‹€ ๋ฐ” ๋“ฑ ์›น๋ธŒ๋ผ์šฐ์ € ์œˆ๋„์šฐ ๋ฐ ์›นํŽ˜์ด์ง€์˜ ์ผ๋ถ€๋ถ„์„ ์ œ์–ดํ• ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” BOM๊ฐ์ฒด๋กœ๋Š”

  • window: Global Context. ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ๊ฐ์ฒด

  • screen: ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์˜ ๋””์Šคํ”Œ๋ ˆ์ด ์ •๋ณด ๊ฐ์ฒด

  • location: ํ˜„์žฌ ํŽ˜์ด์ง€์˜ url์„ ๋‹ค๋ฃจ๋Š” ๊ฐ์ฒด

  • navigator: ์›น๋ธŒ๋ผ์šฐ์ € ๋ฐ ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ ์ •๋ณด ๊ฐ์ฒด

  • history: ํ˜„์žฌ์˜ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ ‘๊ทผํ–ˆ๋˜ URL history

    ์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋Š”๋ฐ React๋กœ ์ž‘์—…์„ ํ•ด๋ณธ ๋ถ„๋“ค์ด๋ผ๋ฉด ๋‹ค๋“ค ํ•œ๋ฒˆ์ฏค์€ ์‚ฌ์šฉํ•ด ๋ดฃ์„ ๋ฒ•ํ•œ ๊ฒƒ๋“ค์ด๋‹ค. ์‚ฌ์‹ค ์ด๊ฒƒ๋“ค์ด Window ๊ฐ์ฒด ์•„๋ž˜์—์žˆ๋Š” ๊ฒƒ๋“ค ์ด์—ˆ๋˜ ๊ฒƒ์ด๋‹ค.

โœจ๋žœ๋”๋ง ๊ณผ์ •

๊ทธ๋ ‡๋‹ค๋ฉด ์ง€๊ธˆ๊นŒ์ง€ React๋ฅผ ํ†ตํ•ด ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๊ธฐ ์ „์— ๋’ค์—์„œ ์–ด๋–ค ๋™์ž‘์ด ์žˆ๋Š”์ง€ ์•Œ์•„ ๋ดค๋Š”๋ฐ ์ด์   ํ™”๋ฉด์„ Renderํ•˜๋Š” ๊ณผ์ •์—๋Š” ์–ด๋–ค ๊ณผ์ •์ด ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž.

๋ชจ๋‘ ์•„๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” HTML,CSS,JSํŒŒ์ผ๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด์„œ ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ๊ณผ์ •์€ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

1.Parsing

๋ธŒ๋ผ์šฐ์ €๋Š” HTML์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด DOM TREE๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.
์ด ๊ณผ์ •์—์„œ HTML์— CSS๊ฐ€ ํฌํ•จ ๋œ๋‹ค๋ฉด CSSOM(CSS Object Model) Tree ๋ฅผ ๋˜ ๊ทธ๋ฆฌ๊ฒŒ ๋˜๋Š”๋ฐ

์œ„ ์™€ ๊ฐ™์€ tree๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ฒŒ ๋œ๋‹ค. ๋…ธ๋ž€์ƒ‰์œผ๋กœ ๋œ ๋ถ€๋ถ„์ด ๊ฐ ์š”์†Œ์— ์–ด๋–ค CSS๊ฐ€ ํฌํ•จ ๋˜์—ˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” CSSOM Tree์ด๊ณ  ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋œ๋‹ค.

DOM Tree ์™€ CSSOM Tree๋ฅผ ํ•ฉ์ณ์„œ ๋žœ๋”๋ง์„ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด Render Tree๋ฅผ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋œ๋‹ค.

2.Layout

Layout ๋‹จ๊ณ„์—์„œ๋Š” ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ํ™”๋ฉด์— ๋ฐฐ์น˜ํ•˜๊ธฐ ์œ„ํ•ด ์ •ํ™•ํ•œ ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
์ตœ์ƒ๋‹จ์ธ ๋ฃจํŠธ๋ถ€ํ„ฐ ๋…ธ๋“œ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ๋…ธ๋“œ์˜ ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ๋ Œ๋” ํŠธ๋ฆฌ์— ๋ฐ˜์˜ํ•œ๋‹ค.

3.Paint

์ด ๋‹จ๊ณ„์—์„œ๋Š” ์•ž์„œ Layout์ด ๊ณ„์‚ฐ๋œ ๊ฐ’๋“ค์„ ์ด์šฉํ•ด ์‹ค์ œ ํ”ฝ์…€๋กœ ๋ฐ”๊พธ๋Š” ๋‹จ๊ณ„์ด๋‹ค.
๊ทธ ํ›„์— composite ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์„œ ์‹ค์ œ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚ธ๋‹ค.

โœจReflow & Repaint

React์—์„œ๋Š” ๊ฐ€์ƒDOM์„ ๋งŒ๋“ค์–ด ๊ธฐ์กด DOM๊ณผ ๋‹ฌ๋ผ์ง„ ๋ถ€๋ถ„์„ ๋น„๊ตํ•ด์„œ ํ™”๋ฉด์„ ๊ทธ๋ฆฐ๋‹ค๊ณ  ์•Œ๊ณ ์žˆ๋‹ค.
ํ™”๋ฉด์„ renderํ•˜๋Š” ์›์ธ์€ ๋ทฐํฌํŠธ์˜ ํฌ๊ธฐ๋ณ€๊ฒฝ, HTML์š”์†Œ์˜ ๋ณ€ํ™”์— ๋”ฐ๋ผ Layout์„ ๋‹ค์‹œ๊ทธ๋ฆฌ๋Š” ๊ฒฝ์šฐ ๋“ฑ์ด ์žˆ๋‹ค.

Render๋ฅผ ๋‹ค์‹œ ํ•˜๋Š” ๊ณผ์ •์—์„œ Layout์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ Reflow
ํ”ฝ์…€๋งŒ ๋‹ค์‹œ Renderํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ Repaint๋ผ๊ณ  ํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์•ž์„œ ์‚ดํŽด๋ณธ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ํ™”๋ฉด์„ ์–ด๋–ป๊ฒŒ ๊ทธ๋ ค๋‚ด๋Š”์ง€ ์•Œ์•„๋ณด์ž.

1.Reflow

Reflow๊ณผ์ •์€ Layout๊ณ„์‚ฐ๋ถ€ํ„ฐ ๋‹ค์‹œํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์ฆ‰ DOM Tree๋ฅผ ๋‹ค์‹œ ๊ทธ๋ฆฌ๊ฒŒ ๋˜๊ณ  ์ด๋Š” DOM์š”์†Œ์˜ ์œ„์น˜, ํฌ๊ธฐ ๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •์ด ๋œ๋‹ค. Relofw๊ณผ์ •์—์„œ Layout๊ณ„์‚ฐํ›„ Repaint๊ณผ์ •๊นŒ์ง€ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ํฐ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

2.Repaint

Repaint๊ณผ์ •์€ Layout์€ ๊ทธ๋Œ€๋กœ์ด๊ณ  color, backgroundColor, visibility์™€ ๊ฐ™์€ ์†์„ฑ์ด ๋ณ€ํ• ๋•Œ ์ผ์–ด๋‚œ๋‹ค.
Reflow์™€๋Š” ๋‹ค๋ฅด๊ฒŒ Repaint๊ณผ์ • ํ›„ ๋ฐ”๋กœ composite๊ณผ์ •์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๋น„์šฉ์ด ๋” ์‹ผ ์ž‘์—…์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ์„ฑ๋Šฅํ–ฅ์ƒ์˜ ์š”์ธ์œผ๋กœ ์ž‘์šฉ ํ•  ์ˆ˜ ์žˆ์–ด๋ณด์ธ๋‹ค.

์ดํ•ด๋ฅผ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ ์‚ฌ์ง„์„ ์ฒจ๋ถ€ํ•œ๋‹ค.

โœจ๊ธ€์„ ๋งˆ์น˜๋ฉฐ...

์ง€๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ณธ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ Core Web Vital์˜ ์ง€ํ‘œ๋“ค์ด ๋‚ฎ์•„์ง€๋Š” ์›์ธ๊ณผ ๊ฐœ์„  ๋ฐฉ์•ˆ์— ๋Œ€ํ•ด ์‹ค๋งˆ๋ฆฌ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ ๋ฐฐ๊ฒฝ ์ง€์‹์„ ์•Œ์•˜์œผ๋‹ˆ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ, css ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ง€์–‘ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฉด์˜ ๊ณผ์ •์„ ์•Œ๊ธฐ ์ „๊นŒ์ง„ ์™œ ๋ถˆํ•„์š”ํ•œ tag๋“ค ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜,ํŒŒ์ผ๋“ค์„ ์ƒ์„ฑํ•˜๋ฉด ์•ˆ๋˜๋Š”์ง€ ์— ๋Œ€ํ•œ ์ดํ•ด ์—†์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋˜๊ฒƒ ๊ฐ™๋‹ค.

์ด๋ฒˆ ๊ณผ์ œ๋ฅผ ํ•˜๋ฉฐ ๊ณต๋ถ€ํ•˜๋Š” ๋‚ด์šฉ์˜ ๋ฐฐ๊ฒฝ์ง€์‹๋“ค๊นŒ์ง€ ์•Œ์•„๊ฐ€๊ณ  ์ด๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋” ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ด ๋ณด์ธ๋‹ค๊ณ  ๋Š๊ผ‡๋‹ค. ๋‹ค๋“ค ๊ถ๊ตผํ•œ ๊ฒƒ์„ ์—ด์‹ฌํžˆ ์ฐพ์•„๋ณด๊ณ  ์„ฑ์žฅํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

๋ชจ๋‘ ๊ฒ€์ƒ‰์ด๋‚˜ ๋งํฌ๋ฅผ ํ†ตํ•ด ๋” ์ž์„ธํ•œ ๋‚ด์šฉ๊ผญ ํ™•์ธํ•ด ๋ดค์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

๊ธด ๊ธ€์„ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค~~โค

๐Ÿ‘‡์ฐธ๊ณ  ์ž๋ฃŒ


์›น์„ ์ด๋ฃจ๋Š” ํ•ต์‹ฌ ์š”์†Œ๋ฅผ ์•Œ์•„๋ด…์‹œ๋‹ค! - DOM, BOM, JavaScript

BOM (Browser Object Model) ์™„๋ฒฝ ์ •๋ณตํ•˜๊ธฐ
Reflow ์™€ Repaint

profile
์™•์ด๋  ์ƒ์ธ๊ฐ€

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