๐ฅ๏ธ CS(Computer Science)/์ํํธ์จ์ด(15)
-
[CS/์ํํธ์จ์ด]๋ผ์ดํ์ฌ์ดํด ๋ฉ์๋
๋ผ์ดํ์ฌ์ดํด ๋ฉ์๋ render: ํ์์ ์ธ ๋ผ์ดํ์ฌ์ดํด ๋ฉ์๋ constructor: ์ปดํฌ๋ํธ ์์ฑ์ ๋ฉ์๋ getDerivedStateFromProps: ์ปดํฌ๋ํธ๊ฐ ๋ง์ดํธ/์ ๋ฐ์ดํธ ๋ ๋ ์ฌ์ฉ componentDidMount: ์ปดํฌ๋ํธ ๋ง๋ค๊ณ ๋ ๋๋ง ๋ง์น ํ ์คํ, ๋น๋๊ธฐ ์์ ์ฒ๋ฆฌ shouldComponentUpdate: props๋ state ๋ณ๊ฒฝ ์, ๋ฆฌ๋๋๋ง ์ฌ๋ถ ์ง์ , Boolean ํ์ ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ture๋ฅผ ๋ฐํ getSnapshotBeforeUpdate: ๋ ๋๋ง ๊ฒฐ๊ณผ๊ฐ ๋ฐ์๋๊ธฐ ์ง์ ์ ํธ์ถ, ์ ๋ฐ์ดํธ ์ง์ ๊ฐ ์ฐธ๊ณ ํ ๋ ์ฌ์ฉ componentDidUpdate: ๋ฆฌ๋๋๋ง ํ ์คํ, getSnapshotBeforeUpdate์ ๋ฐํ๊ฐ์ Snapshot ํ๋ผ๋ฏธํฐ๋ก ์ฌ์ฉ๊ฐ๋ฅ componentW..
2024.02.26 -
[๊ธฐ์ ๋ฉด์ ] ๋ผ์ดํ์ฌ์ดํด
๋ผ์ดํ์ฌ์ดํด(Life Cycle) ์ด๋? : ์ํํธ์จ์ด ํน์ ํ๋ก๊ทธ๋จ์ด ํน์ ๋จ๊ณ/์ด๋ฒคํธ๋ฅผ ๊ฑฐ์ณ ๋์ํ๋ ๋ฐฉ์์ ์ค๋ช ํ๋ ๊ฐ๋ . '์์ฑ, ์ด๊ธฐํ, ์คํ, ์ข ๋ฃ' ๋๋ ๊ณผ์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ์ค์ํ ๊ฐ๋ ์ผ๋ก ์ฌ์ฉ๋จ ๋ผ์ดํ์ฌ์ดํด์ ์ฃผ์ ๋จ๊ณ ์์ฑ(Initialization) : ์ปดํฌ๋ํธ ํน์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ณ ์ด๊ธฐํ๋จ. ํ์ํ ์์์ ํ ๋นํ๊ณ ์ด๊ธฐ ์ค์ ์ ์ํ ๋ง์ดํ (Mounting) : ์ปดํฌ๋ํธ๊ฐ DOM์ ์ถ๊ฐ๋๊ฑฐ๋ ๊ฐ์ฒด๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ํ๊ฐ ๋จ. ์ปดํฌ๋ํธ๋ ๊ฐ์ฒด๊ฐ ํ๋ฉด์ ๋ํ๋จ ์ ๋ฐ์ดํธ(Updating) : ์ปดํฌ๋ํธ/๊ฐ์ฒด๊ฐ ์ ๋ฐ์ดํธ ํน์ ๋ณ๊ฒฝ ๋จ. ์ฌ์ฉ์ ์ํธ ์์ฉ ํน์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ผ๋ก ์ ๋ฐ์ดํธ๊ฐ ๋ฐ์ ๋จ. ์ธ๋ง์ดํ (UnMounting) : ์ปดํฌ๋ํธ/๊ฐ์ฒด๊ฐ DOM์์ ์ ๊ฑฐ๋๊ฑฐ๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์..
2023.09.14 -
[๊ธฐ์ ๋ฉด์ ] CSR, SSR
CSR(Client Side Rendering) : ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋๋ฐ ์ฌ์ฉ๋๋ ํ๋์ ๋ ๋๋ง ๋ฐฉ์์ผ๋ก ์น ํ์ด์ง ์ปจํ ์ธ ๋ฅผ ํด๋ผ์ด์ธํธ(์ฌ์ฉ์ ์น ๋ธ๋ผ์ฐ์ )์์ ๋ ๋๋ง ํจ. ๋ ๋๋ง ์์น: ํด๋ผ์ด์ธํธ ์ธก ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ด๊ธฐ ๋ก๋ ์ ์๋ฒ์์ HTML ์ค์ผ๋ ํค์ ์ ๊ณตํ๊ณ , ๊ทธ ์ดํ์๋ ํด๋ผ์ด์ธํธ์์ JS๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์ผ๋ก ์ปจํ ์ธ ๋ฅผ ๋ ๋๋งํจ. ์ด๊ธฐ ๋ ๋๋ง ์๋๋ฅผ ๋์ด๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํด. SPA(Single Page Application) ์ด๊ธฐ ํ์ด์ง ๋ก๋ ํ์ ํ์ด์ง ๊ฐ ์ ํ์ด ์๋ฒ๋ก๋ถํฐ ์๋ก์ด HTML์ ๋ฐ์ง ์๊ณ ํด๋ผ์ด์ธํธ ์ธก์์ ์ด๋ฃจ์ด์ง๋ ๋ฐฉ์. JSํ๋ ์์ํฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(React, Angular, Vue)๋ฅผ ์ฌ์ฉํ์ฌ CSR ๊ตฌํ ๊ฐ๋ฅ ์ฅ์ ์ด๊ธฐ ๋ก๋ฉ ์ดํ์ ํ์ํ ๋ฐ์ดํฐ๋ง ์์ฒญํ์ฌ..
2023.09.14 -
[๊ธฐ์ ๋ฉด์ ] ์ฟ ํค, ์ธ์ , ์น์คํ ๋ฆฌ์ง
์ฟ ํค/์ธ์ /์น์คํ ๋ฆฌ์ง ์ฟ ํค(Cookies) ์ธ์ (Session) ์น ์คํ ๋ฆฌ์ง(Web Storage) ์ ์ฅ์ ํด๋ผ์ด์ธํธ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ ์ธ์ ๋ฐ์ดํฐ๋ ์๋ฒ ์ธก์ ์ ์ฅ ํด๋ผ์ด์ธํธ์๋ ์ธ์ ID๋ง ์ ์ฅ ํด๋ผ์ด์ธํธ ์ธก์ ๋ฐ์ดํฐ ์ ์ฅ ์ฉ๋ 4 KB ๋ฏธ๋ง ๋ฐ์ดํฐ ์ ์ฅ ๊ฐ๋ฅ ์๋ฒ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋จ ์ฟ ํค๋ณด๋ค๋ ํฌ์ง๋ง ์ฉ๋์ ํ๊ณ๊ฐ ์์ 5MB, ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋ค๋ฆ ์๋ฒ ํด๋ผ์ด์ธํธ๊ฐ ์น ์๋ฒ์ ์์ฒญ์ ๋ณด๋ผ ๋ ๋ง๋ค ๊ด๋ จ ์ฟ ํค๊ฐ ํจ๊ป ์ ์ก ์๋ฒ์์ ๊ด๋ฆฌ ํด๋ผ์ด์ธํธ ์์ฒญ ๊ฐ์ ๋ฐ์ดํฐ ์ ์ง ์๋ฒ์ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ ์๋ฒ ์์ฒญ ์ ๋ฐ์ดํฐ๊ฐ ์๋์ ์ผ๋ก ์ ์ก๋์ง ์์ ๋ง๋ฃ ๋ง๋ฃ ๊ธฐ๊ฐ์ด ์์ด ํด๋น ๊ธฐ๊ฐ์ด ์ง๋๋ฉด ์๋ ์ญ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๊ฑฐ๋ ์ธ์ ํ์์์ ๋ฐ์ ์ ์ธ์ ๋ฐ์ดํฐ ์ญ์ ๋ธ๋ผ์ฐ์ ์ข ๋ฃํด๋ ๋ฐ์ดํฐ ์ง์ ๋ณด์ ๋ณด์์ ์ทจ์ฝํจ ..
2023.09.09 -
[๊ธฐ์ ๋ฉด์ ] ๋๊ธฐ/๋น๋๊ธฐ ์ฐจ์ด
๋๊ธฐ/๋น๋๊ธฐ ์ฐจ์ด : ์ฌ๋ฌ ์์ ๋ค์ด ์์ ๋์ ํด๋น ์์ ๋ค์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๋์ง ๋์์ ์ฒ๋ฆฌํ๋์ง์ ๋ฐ๋ผ ๋๊ธฐ/๋น๋๊ธฐ๊ฐ ๊ตฌ๋ถ๋๋ค. ๋๊ธฐ|Synchronous ํ๋์ ์์ ์ด ๋๋์ผ ๊ทธ ๋ค์ ์์ ์ด ์์๋๋ค ๋จ์ํ๊ณ ์ง๊ด์ ์ธ ์ฝ๋, ๋๋ฒ๊น ํ๊ธฐ ์ฌ์ CPU๋ ์์คํ ์์์ ํ์ฉ์ด ๋นํจ์จ์ , ๋ธ๋กํน ์์ ์ผ๋ก ์ ์ฒด app ์ฑ๋ฅ์ ์ํฅ ๋น๋๊ธฐ|Asynchronous ์ฌ๋ฌ ์์ ๋ค์ด ๋์์ ๋ณ๋ ฌ์ ์ผ๋ก ์งํ๋จ ๋๊ธฐ ์๊ฐ ์ต์ํ ๋ฐ ์์คํ ์์์ ํจ์จ์ ์ผ๋ก ํ์ฉ๊ฐ๋ฅ ๋คํธ์ํฌ ํธ์ถ, ํ์ผ ์ฝ๊ธฐ/์ฐ๊ธฐ, ํ์ด๋จธ ๋ฑ์ ์์ ์ฒ๋ฆฌ์ ์ฌ์ฉ๋จ ๋น๋๊ธฐํ๋ก๊ทธ๋๋ฐ ํ์์ฑ * ์ฑ๋ฅํฅ์: ์ฌ๋ฌ ์์ ์ ๋์์ ์ฒ๋ฆฌํ์ฌ CPU ๋ฐ ๋ฆฌ์์ค ์ฌ์ฉ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์(๋คํธ์ํฌ ์์ฒญ) * ๋ฐ์์ฑ ํฅ์ * ๋ฉํฐํ ์คํน * ๋ธ๋กํน ๋ฐฉ์ง * ์ด๋ฒคํธ ์ฒ..
2023.09.05 -
[๊ธฐ์ ๋ฉด์ ] ํธ์ด์คํ
ํธ์ด์คํ JS์์ ๋ณ์, ํจ์ ์ ์ธ์ ํ์ฌ ์ค์ฝํ์ ๋งจ ์๋ก ๋์ด์ฌ๋ ค ์ฝ๋ ์คํ ์ด์ ์ ๋ณ์ ๋ฐ ํจ์ ์ ์ธ์ด ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋๋ ๊ฒ์ฒ๋ผ ๋์ํ๊ฒ ํจ ๋ณ์ ํธ์ด์คํ var ๋ณ์ ์ ์ธ์ด ๋์ด์ฌ๋ ค์ง๊ณ , let/const ๋ณ์์ ์ธ์ ๋ธ๋ก ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฏ๋ก ํธ์ด์คํ ์ ์ํฅ์ ๋ ๋ฐ์ ํจ์ ํธ์ด์คํ ํจ์ ์ ์ธ๋ฌธ์ ๋์ด์ฌ๋ ค์ง๋, ํจ์ ํํ์์ ํธ์ด์คํ ๋์ง ์์ Reference chat-gpt
2023.09.04