[250818] TIL
Today I Learned (2025-08-18)
๋ฆฌ์กํธ ๋ ๋๋ง ๋ฐฉ์ ์ดํด๋ณด๊ธฐ
https://www.youtube.com/watch?v=N7qlk_GQRJU
Critical Rendering Path
- ์ฐ๋ฆฌ๊ฐ ์๋ ๋ ๋๋ง ๋ฐฉ์
- DOM,CSSOM, Render Tree, layout (์์๋ค์ ๋ฐฐ์น๋ฅผ ๊ฒฐ์ ), patinting (์ค์ ๋ก ํ๋ฉด์ ๊ทธ๋ ค๋ด๋ ๊ณผ์ )
์ ๋ฐ์ดํธ๋ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๊น?
- ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ DOM์ ์์ ํ๋ฉด ์ ๋ฐ์ดํธ๊ฐ ๋ฐ์ํจ
- Reflow, Repaint ๋ฐ์
- ๋ฆฌ์กํธ์์๋ ์๋์ผ๋ก ๋ณ๊ฒฝ์ฌํญ์ ๋ชจ์๋๋ค๊ฐ ๋์ ์ ๋ฐ์ดํธ ๋๋๋ก ํด์ค
๋ฆฌ์กํธ ํ๋ก์ธ์ค
- Render Phase
- ์ปดํฌ๋ํธ๋ฅผ ๊ณ์ฐํ๊ณ ์ ๋ฐ์ดํธ ์ฌํญ์ ํ์ ํ๋ ๋จ๊ณ
- ์ปดํฌ๋ํธ๋ค์ ํธ์ถํ๊ณ -> react element๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฐ์ฒด ๋ง๋ฌ -> ๊ฐ์ฒด๋ค์ ๋ชจ์ -> ๋ฒ์ธ์ผ๋
- Diffing ๋ฐ์, ์ฌ์กฐ์ , ์ ๋ฐ์ดํธ ๋ง์ด ๋ฐ์ํด๋ ํ ๋ฒ๋ง ๋๋๋ก ํจ
- ํญ์ ์ต๊ณ ์ ์๋๋ฅผ ๋ณด์ฅํ์ง ์์, ์์ฑํ๊ณ ๋น๊ตํ๋๋ฐ๋ ์ฐ์ฐ์ด ์์ ๋๊ธฐ ๋๋ฌธ
- ์ค๋ฒจํธ ? ๋ฒ์ธ์ผ ๋์ ์ฌ์ฉํ์ง ์๋ ๊ฒ๋ ์๋ค.
- Commit Phase
- ๋ณ๊ฒฝ์ฌํญ์ ์ค์ DOM์ ๋ฐ์ํ๋ ๋จ๊ณ
- ๋ฒ์ธ์ผ๋ <-> ์ก์ธ์ผ๋ ๋น๊ต
๋ณต์กํ๊ฒ ํ๋ ์ด์ ๋ ๋ญ๊น?
- DOM ์์ ์ ์ต์ํํ๊ธฐ ์ํด์
์คํ ์ปจํ ์คํธ๋ ?
- ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ์คํ๋ ๋ ์คํ ํ๊ฒฝ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ์ปจํ ์ด๋์ ๋๋ค.
- ์คํ ์ปจํ ์คํธ๋ ํฌ๊ฒ ๋ณ์ ํ๊ฒฝ, ๋ ์์ปฌ ํ๊ฒฝ(์ค์ฝํ), this ๋ฐ์ธ๋ฉ ํ๊ฒฝ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ๋ ์์ปฌ ํ๊ฒฝ์ด๋ ์์ ์ด ์ ์ธ๋ ์์น ๊ธฐ๋ฐ์ผ๋ก ๋ณ์/ํจ์์ ์ธ๋ถ ์ค์ฝํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ ์คํ ์ปจํ ์คํธ ๊ตฌ์ฑ์์์ด๋ค.
- ์คํ์ ์ด์ฉํด ๊ด๋ฆฌ๋ฉ๋๋ค.
- ๋ ์์ปฌ ํ๊ฒฝ์ ์คํ ์ปจํ ์คํธ ์์์ ๋ณ์์ ํจ์ ์๋ณ์ ์ ๋ณด๋ฅผ ๋ด๋ ๊ตฌ์กฐ
๋ ์์ปฌ ์ค์ฝํ
- ํจ์๊ฐ ์ ์๋ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค์ฝํ๊ฐ ๊ฒฐ์
๋ค์ด๋๋ฏน ์ค์ฝํ
ํจ์๊ฐ ํธ์ถ๋ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค์ฝํ๊ฐ ๊ฒฐ์
๊ธฐํ
- ์๊ฐ
- ๋ฉด์ , ๋ฉด์ ์ค๋น
Leave a comment