๐ ํ๋ก์ ํธ ์ ๋ง์ง๋ง Section4 ํ๊ณ ๋ฅผ ํ๋ ๋ ์ด๋ค... ๋ด๊ฐ ํ์ตํ๋ ๋งํผ๋ง ํ๋ค๋ฉด ๋ฌด๋ฆฌ์์ด ํ์ ์ ํตํด ํ๋ก์ ํธ๋ฅผ ์์ฑํ ์ ์๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ ๊ธฐ์ ๋ฉด์ ์ ์ค๋นํ๋ฉด์ ๋ด๊ฐ ํญ์ ๋ถ์กฑํ๋ ๋ถ๋ถ์ ์กฐ๊ธ ๋ ์ฑ์๊ฐ ์ ์๋ ํ๋ฃจ๊ฐ ๋์์ผ๋ฉด ์ข๊ฒ ๋ค.!.!
๐ ์ค๋ ํ์ตํ ๋ด์ฉ
JavaScript
- Hoisting๊ณผ Temporal Dead Zone์ด ์ด๋ป๊ฒ ์ฐ๊ด๋์ด ์๋๊ฐ?
- ํธ์ด์คํ : ํจ์ ์์ ์๋ ์ ์ธ๋ค์ ๋ชจ๋ ๋์ด์ฌ๋ ค์ ํด๋น ํจ์ ์ ํจ ๋ฒ์์ ์ต์๋จ์ ์ ์ธํ๋ ๊ฒ์ ๋งํ๋ฉฐ var๋ณ์ ๋ฐ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ํธ์ด์คํ ์ด ๋๋ค.
- Temporal Dead Zone: let, const, class ๊ตฌ๋ฌธ์ ์ ํจ์ฑ์ ๊ด๋ฆฌํ๋ค.
- ํด๋น ์ง๋ฌธ์ ๋ํ ๋ต์ ๋๋ฆฌ๊ธฐ์ ์ ๋ณ์์ ์์ฑ ๋จ๊ณ์ธ ์ ์ธ, ์ด๊ธฐํ, ํ ๋น ๋จ๊ณ๊ฐ ์์์ ์์์ผ ํฉ๋๋ค. ํธ์ด์คํ ์ ๋ณ์์ ์ ์ธ ๋ฐ ์ด๊ธฐํ๊ฐ ๋์์ ์ด๋ฃจ์ด์ง๊ฒ ๋์ด ๋ณ์์ ์ฌ์ฉ์ด ์ ์ธ ๋ฐ ์ด๊ธฐํ ๋ณด๋ค ์์ ์์ ๊ฒฝ์ฐ์ undefined๊ฐ ์ถ๋ ฅ๋์ง๋ง TDZ์ ๊ฒฝ์ฐ ๋ณ์์ ์์ฑ๋จ๊ณ 3๋จ๊ณ๋ฅผ ๊ฐ์ ์คํํ๊ธฐ ๋๋ฌธ์ undefiend๊ฐ ์๋ ์๋ฌ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ๋ ๋๋ง
- ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๋ฐฉ์์ด๋?
- ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด์ ํ์ด์ง์ ์ ์ํ ๋, ์๋ฒ์์ ํ์ํ ํ์ผ์ ๋ค์ด๋ฐ์ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ๋ธ๋ผ์ฐ์ ๋ ๋๋ง์ด๋ผ๊ณ ํ๋ฉฐ, ๋์ ๋ฐฉ์์ HTML, CSS ํ์ผ์ ํ์ฑํ์ฌ Tree๋ฅผ ํ์ฑํ๊ณ , ๋ ํธ๋ฆฌ๋ฅด ๊ฒฐํฉํ์ฌ ๋ ๋ ํธ๋ฆฌ๋ฅผ ๋ง๋ญ๋๋ค. ๋ ๋๋ง ํธ๋ฆฌ์์ ๊ฐ ๋ ธ๋์ ์์น์ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ์ฌ ๊ฐ ๋ ธ๋๋ฅผ ํ๋ฉด์์ ์ค์ ํฝ์ ๋ก ๋ณํํ์ฌ ๋ ์ด์ด๋ฅผ ๋ง๋ค๊ณ ํฉ์ฑํ์ฌ ์ค์ ํ๋ฉด์ ๋ํ๋ ๋๋ค.
- ๋ ๋๋ง ํธ๋ฆฌ: ๋ ๋๋ง ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ง ํธ๋ฆฌ๋ก DOMํธ๋ฆฌ์ CSSOMํธ๋ฆฌ๋ฅผ ๊ฒฐํฉํ ๊ฒ์ ๋๋ค.
- ๋ฆฌํ๋ก์ฐ์ ๋ฆฌํ์ธํธ?
- ๋ฆฌํ๋ก์ฐ๋ ์ด๋ ํ ์ก์ ์ด๋ ์ด๋ฒคํธ์ ๋ฐ๋ผ ์์์ ํฌ๊ธฐ๋ ์์น๋ฑ ๋ ์ด์์ ์์น๋ฅผ ์์ ํ์ฌ ์ํฅ์ ๋ฐ๋ ์์, ๋ถ๋ชจ๋ ธ๋๋ค์ ํฌํจํ์ฌ ๋ ์ด์์ ๊ณผ์ ์ ๋ค์ ์ํํ๊ฒ ๋๋๋ฐ ์ด๋, ๋ ๋ ํธ๋ฆฌ์ ๊ฐ ์์๋ค์ ํฌ๊ธฐ์ ์์น๋ฅผ๋ค์ ๊ณ์ฐํ๋ ๊ณผ์ ์ ๋ฆฌํ๋ก์ฐ๋ผ๊ณ ํฉ๋๋ค.
- ๋ฆฌํ์ธํธ๋ ๋ฆฌํ๋ก์ฐ๋ง ์ํ๋ ๊ฒฝ์ฐ ์ค์ ํ๋ฉด์ ๋ฐ์๋์ง ์์ต๋๋ค. ๋ฆฌํ๋ก์ฐ๋ฅผ ํตํด ๋ค์ ๊ณ์ฐ๋ ์์๋ค์ ํ๋ฉด์ ๋ํ๋๊ฒ ํ๋ ๊ฒ์ด๋ผ๊ณ ํฉ๋๋ค.
- ๋ฐ์ํ ์น์ ๋ฌด์์ด๊ณ ์ฅ๋จ์ ์ ๋ฌด์์ธ๊ฐ?
- ๋ฐ์ํ ์น์ด๋ ์ฌ๋ฌ ์ฅ์น์ ๋ค์ํ ํน์ฑ์ ๋์ํ๋ ํ๋์ ์น ์ฌ์ดํธ๋ก ๋ธ๋ผ์ฐ์ ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํ์ฌ ๋ ์ด์์์ด ๋ณํ๋ ์น ์ฌ์ดํธ๋ฅผ ์๋ฏธํฉ๋๋ค.
- ๋ฐ์ํ ์น์ ์ฅ์ ์ผ๋ก ํ๋์ ์์ค๋ง ์์ ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ธ ์ ์ง๋ณด์๊ฐ ๊ฐ๋ฅํ๋ฉฐ URL ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉด์ด ๋ฐ๋์ด ๊ฒ์์์ง ์ต์ ํ์ ์ ๋ฆฌํฉ๋๋ค.
- ๋ฐ์ํ ์น์ ๋จ์ ์ผ๋ก ์ฌ๋ฌ ์ฅ์น์ ์ ์ํ๊ฒ๋ ๋ง๋ค์ด์ ธ ๋ชจ๋ฐ์ผ ์ ์ฉ์ผ๋ก ํ๋ ์ฌ์ดํธ์ ๋นํด ์๋๊ฐ ๋๋ฆฌ๋ฉฐ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์๋นํ๊ฒ ๋๋ ๋จ์ ๊ณผ ์น ๋ธ๋ผ์ฐ์ ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
- JS ์์ง์ ์ฝ ์คํ์ด๋?
- ์คํ ์ค์ธ ์๋ธ๋ฃจํด์ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค.
๋ฒ๋ค๋ง๊ณผ ์นํฉ
- ๋ฒ๋ค๋ง์ ์ ํ์ํ๊ฐ?
- ๋ฒ๋ค๋ง์ ์ฌ๋ฌ ์ ํ์ด๋, ์ฝ๋, ํ๋ก๊ทธ๋จ์ ๋๋์ด์ ํจํค์ง๋ก ์ ๊ณตํ๋ ๊ฒ ์ ๋๋ค. ํจํค์ง๋ก ์ ๊ณต๋๊ธฐ ๋๋ฌธ์ ๋ก๋ฉ ์๋๊ฐ ์ผ๋ฐ์ ์ธ ๋ฐฐํฌ ๋ฐฉ์๋ณด๋ค ๋น ๋ฆ ๋๋ค.
React
- Virtual DOM?
- ์ค์ DOM์ ์ฌ๋ณธ ๊ฐ์ ๊ฐ๋ ์ผ๋ก React์์๋ ์ค์ DOM ๊ฐ์ฒด์ ์กฐ์ํ๋ ๋์ ๊ฐ์ DOM ๊ฐ์ฒด์ ์ ๊ทผํ์ฌ ๋ณํ ์ ๊ณผ ๋ณํ ํ๋ฅผ ๋น๊ตํ๊ณ ๋ฐ๋ ๋ถ๋ถ์ ์ ์ฉํ๋ ๊ฒ์ ๋๋ค.
- Virtual DOM์ด ์ข์์ด์
- ์ค์ DOM์ ์กฐ์ํ๊ฒ ๋ ๊ฒฝ์ฐ ๋ถํ์ํ ํธ๋ฆฌ๊น์ง ์ฌ ๋ ๋๋ง์ ํด์ผํ์ง๋ง ๊ฐ์ DOM์ ๊ฒฝ์ฐ ๋ฐ๋ ๋ถ๋ถ๋ง ์ ์ฉํ๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋น ๋ฆ ๋๋ค.
- ํด๋์ค ์ปดํฌ๋ํธ์ ํจ์ ์ปดํฌ๋ํธ์ ์ฐจ์ด์
- ํด๋์ค ์ปดํฌ๋ํธ์ ๊ฒฝ์ฐ ์ฝ๋๊ฐ ๋ง์์ง๊ณ ๋ณต์กํด์ง์๋ก ์ดํดํ๊ธฐ ์ด๋ ต๊ณ , ์ปดํฌ๋ํธ ์ฌ์ด์์ ์ํ ๋ก์ง์ ์ฌ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ ์ต๋๋ค. ์ด๋ฌํ ๊ฒ์ ๋ณด์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฒ์ด ํจ์ ์ปดํฌ๋ํธ์ ๋๋ค. ํ์ง๋ง, ํจ์ ์ปดํฌ๋ํธ์ ๊ฒฝ์ฐ ์ํ ๊ฐ์ ์ฌ์ฉํ๊ฑฐ๋ ์ต์ ํํ ์ ์๋ ๊ธฐ๋ฅ๋ค์ด ๋ถ์กฑํ์ง๋ง Hook์ด๋ผ๋ ๊ฐ๋ ์ ๋์ ํ์ฌ ์ํ์ ์กฐ์์ ์ฝ๊ฒ ํ๋๋ก ๋ณํ๋์์ต๋๋ค.
- React Hook์ ์ฌ์ฉ ๊ท์น
- ๋ฆฌ์กํธ ํจ์์ ์ต์์์์๋ง ํธ์ถ๋์ด์ผ ํ๋ฉฐ, ์ค์ง ๋ฆฌ์กํธ ํจ์ ๋ด์์๋ง ์ฌ์ฉ๋์ด์ผํฉ๋๋ค. ์ต์์์์ ์ฌ์ฉํ์ง ์๊ณ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ์์์ ํธ์ถํ๊ฒ ๋๋ฉด ์์๋๋ก ์ ์ฅํ๊ธฐ ์ด๋ ค์์ง๊ณ ์๊ธฐ์น ๋ชปํ ๋ฒ๊ทธ๋ฅผ ์ด๋ํ๊ฒ ๋ ์ ์์ต๋๋ค.
์ด์์ฒด์
- Node.js๋ ์ฑ๊ธ ์ค๋ ๋์ธ๊ฐ?
- ๋น๋๊ธฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ node.js๋ ์ฑ๊ธ์ค๋ ๋ ๋ฐฉ์์ ๋๋ค.
- JS๋ ์ฑ๊ธ ์ค๋ ๋์ด๋ค. ์ด๋ป๊ฒ ์ฑ๊ธ ์ค๋ ๋ ๋ฐฉ์์ผ๋ก ๋น๋๊ธฐ ํธ์ถ์ ํ ์ ์๋๊ฐ?
- Event Loop์ ๋ํด ์ค๋ช
ํด๋ผ
- ์ฝ๋์ ์คํ, ์ด๋ฒคํธ์ ์์ง๊ณผ ์ฒ๋ฆฌ, ํ์ ๋๊ธฐ ์ค์ธ ํ์ ์์ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ด๋ฒคํธ ๋ฃจํ์ ๋๋ค.
- ๊ฐ๋น์ง ์ปฌ๋ ์
์ด๋ ๋ฌด์์ด๋ฉฐ, ๊ฐ๋น์ง ์ปฌ๋ ์
์ด ๊ฐ์ง ์ธ์ด์๋ ๋ฌด์์ด ์๋?
- ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ํ๋ก๊ทธ๋จ์์ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅด ์๋์ผ๋ก ์ ๋ฆฌํ๋ ๊ฒ์ ๋๋ค. ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ๊ฐ์ง ์ธ๋ ์๋ฐ, C#, ์๋ฐ์คํฌ๋ฆฝํธ ๋ฑ์ด ์์ต๋๋ค.
์๋ฃ๊ตฌ์กฐ
- Stack๊ณผ Queue์ ์ฐจ์ด์
- Stack์ ํ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ์ ์ถ๋ ฅ์ด ๊ฐ๋ฅํ๋ฉฐ, Queue๋ ํ์ชฝ ๋ฐฉํฅ์์ ์ ๋ ฅ์ด ์ผ์ด๋๋ฉด ๋ฐ๋ ๋ฐฉํฅ์์ ์ถ๋ ฅ์ ํฉ๋๋ค. ์คํ์ ํ์ ์ ์ถ ๋ฐฉ์์ด๊ณ , ํ๋ ์ ์ ์ ์ถ ๋ฐฉ์์ ๋๋ค.
- Tree์ Graph์ ์ฐจ์ด์
- ํธ๋ฆฌ๋ ๋จ๋ฐฉํฅ ๊ทธ๋ํ๋ก ํ๋์ ๋ฐ์ดํฐ ์๋ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ ์ ์๋ ๋น์ ํ ๊ตฌ์กฐ์ด๋ฉฐ, ์๋๋ก๋ง ๋ป์ด ๋๊ฐ๊ธฐ ๋๋ฌธ์ ์ฌ์ดํด์ด ์์ต๋๋ค. ํ์ง๋ง, ๊ทธ๋ํ์ ๊ฒฝ์ฐ ์ฌ๋ฌ๊ฐ์ ์ ๋ค์ด ์๋ก ๋ณต์กํ๊ฒ ์ฐ๊ฒฐ๋์ด ์๋ ๊ตฌ์กฐ๋ก ์๋ฐฉํฅ ํต์ ์ด ๊ฐ๋ฅํ์ฌ ์ฌ์ดํด์ด ์กด์ฌํฉ๋๋ค.
- ์ด์ง ํ์ ๋ฐฉ๋ฒ์ด๋?
- ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์๋ ๋ฐฐ์ด์์ ํน์ ํ ๊ฐ์ ์ฐพ์๋ด๋ ๋ฐฉ์์ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๋ฐฐ์ด์ ์ค๊ฐ์ ์๋ ์์์ ๊ฐ์ ์ ํํ์ฌ ์ฐพ๊ณ ์ ํ๋ ๊ฐ๊ณผ ๋น๊ตํ์ฌ ์๋ค๋ฉด ์ผ์ชฝ์ ๋ฐ์ดํฐ๋ค์ ๋์์ผ๋ก ํ์ํ๋ฉฐ, ํด ๊ฒฝ์ฐ์๋ ์ค๋ฅธ์ชฝ์ ์์นํ ๋ฐ์ดํฐ๋ค์ ๋์์ผ๋ก ํ์ํ๋ ๋ฐฉ์์ ๋ฐ๋ณต์ ์ผ๋ก ์ํํ์ฌ ๊ฐ์ ์ฐพ์ ๋ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฒ์ ๋๋ค.
๐ ์ถ๊ฐ๋ก ๊ณต๋ถํ ๋ด์ฉ
Study์๊ณผ ํจ๊ป ์งํ์ค์ธ ํ๋ก์ ํธ ๊ตฌํ(๋ฉ์ธ ํ์ ํ ๋ค์์์)
๋๋ง์ ํฌํธํด๋ฆฌ์ค ์ฌ์ดํธ ๊ตฌํ ํด๋ณด๊ธฐ
pre-project ๊ด๋ จ ์ฌ์ดํธ ์ฐพ์๋ณด๊ธฐ
๐ ์ค์ํ ๋ด์ฉ
- ๊ธฐ์ ๋ฉด์
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
22.08.23_TIL (0) | 2022.08.23 |
---|---|
22.08.22_TIL (0) | 2022.08.22 |
22.08.17_TIL (2) | 2022.08.17 |
22.08.16_TIL (0) | 2022.08.16 |
22.08.12_TIL (0) | 2022.08.12 |