ํ๋น๋ฏธ๋์ด ์ํ๋จ <๋๋๋ฆฌ๋ทฐ์ด๋ค> ํ๋์ ์ํด์ ์ฑ ์ ํ์ฐฌ ๋ฐ์ ์์ฑ๋ ์ํ์ ๋๋ค.
์๋ ํ์ธ์ dev_writer์ ๋๋ค. ์ด๋ฒ์๋ ํ๋น๋ฏธ๋์ด ์ํ๋จ ํ๋์ผ๋ก ๋ฐ์ <์ ๋ฌธ๊ฐ๋ฅผ ์ํ ๋ฆฌ์กํธ>์ ๋ํด ๋ฆฌ๋ทฐํด ๋ณด๊ฒ ์ต๋๋ค.

๋ชฉ์ฐจ
์ฑ ์ ๋ชฉ์ฐจ๋ ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ ๋ฌธ์๋ฅผ ์ํ ์ง์
- JSX
- ๊ฐ์ DOM
- ์ฌ์กฐ์
- ์์ฃผ ๋ฌป๋ ์ง๋ฌธ๊ณผ ์ ์ฉํ ํจํด
- ์๋ฒ ์ฌ์ด๋ ๋ฆฌ์กํธ
- ๋ฆฌ์กํธ ๋์์ฑ
- ํ๋ ์์ํฌ
- ๋ฆฌ์กํธ ์๋ฒ ์ปดํฌ๋ํธ
- ๋ฆฌ์กํธ ๋์ฒด์
- ๋ง์น๋ฉฐ
์ฑ ์ ํน์ง
์ฑ ์ ์์ ๋ชฉ๋ค์ ์์ธํ ๋ณด๋ฉด ์ฝ๊ฒ ๋ณด์ค ์ ์๋๋ฐ, ๋ณธ ์ฑ ์ ์ฑํฐ์ ๋ํ ๊ธฐ์ ๋ค์ ์๊ฐํ๋ฉด์ ๊ธฐ์กด์ ์๋ ๋ฌธ์ ์ ํ๊ณ๊ฐ ๋ฌด์์ด์๊ณ , ์ด๋ค ๊ธฐ์ ์ด ๋ถ์ํ๊ฒ ๋์์ผ๋ฉฐ, ๊ทธ๋ก ์ธํ ๊ธฐ์ ์ ์ฅ๋จ์ ์ ์๋ ค์ฃผ๋ ๋ฐฉ์์ผ๋ก ์์ ๋์ด ์์ต๋๋ค.
๊ทธ๋งํผ ์ฑ ์ ์ฝ์ผ๋ฉด์ 100% ์ฃผ์ ์ ํ์ต์ด ์๋, ๋ ์์ ์ ์๊ฐ ์๋ก ์ํตํ๋ ๋ฏํ ๋๋์ ๋ฐ์์ต๋๋ค.

๋์๋ณด๊ธฐ & ๋ณต์ตํ๊ธฐ
์ฑ ์์๋ ๊ฐ ์ฑํฐ๊ฐ ๋๋ ๋๋ง๋ค ๋์๋ณด๊ธฐ์ ๋ณต์ตํ๊ธฐ ์น์ ์ ํตํด, ํด๋น ์ฑํฐ์์ ์ฝ์ ๊ฒ์ ๋ํด ์ ์๊ณ ์๋์ง, ์ถ๊ฐ์ ์ผ๋ก ์ด๋ค ๊ฒ์ ๊ณต๋ถํ๋ฉด ์ข์์ง ๋ฑ์ ์ง๋ฌธ์ผ๋ก ์ ๊ณตํด์ฃผ๊ณ ์์ต๋๋ค.

์์๋ก 4์ฅ: ์ฌ์กฐ์ ์์๋, ์๋์ ๊ฐ์ ์ง๋ฌธ๋ค์ ์ฃผ์์ต๋๋ค.
- ๋ฆฌ์กํธ์ ์ฌ์กฐ์ ์ด๋ ๋ฌด์์ธ๊ฐ์?
- ํ์ด๋ฒ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ญํ ์ ๋ฌด์์ธ๊ฐ์?
- ์ ํธ๋ฆฌ๊ฐ ๋ ๊ฐ ํ์ํ๊ฐ์?
- ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ๋ฐ์ดํธ๋๋ฉด ์ด๋ป๊ฒ ๋๋์?
์ด๋ ๊ฒ ์ง๋ฌธ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ๊ณ ๋ฏผํ๊ณ ์กฐ์ฌํด ๋ณผ ์ ์๋ ์ฝํ ์ธ ๋ค์ ํตํด, ChatGPT ๋ฑ์ ์ด์ฉํ ์ถ๊ฐ์ ์ธ ํ์ต์ ํ ์ ์์ด ๋งค์ฐ ์ ์ฉํ๊ฒ ๋๊ปด์ก์ต๋๋ค. (ChatGPT๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ ๊ฒ์ ๋ชจ๋์ ์ด์ฑ ๋ชจ๋๋ฅผ ํจ๊ป ์ ์ฉํ์๋ฉด ๋ ์ ๋ฌธ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ์ค ์ ์์ต๋๋ค โญ๏ธ)


์ ๊ธ์์ ChatGPT๊ฐ ํ๊ทธ ํ ๊ธ๋ค์ ๊ณต์ ๋๋ฆฝ๋๋ค.
- ์ฌ์กฐ์ (Reconciliation)
- [React] Reconciliation - ์ฌ์กฐ์
- React Fiber ์๊ฒ ์์๋ณด๊ธฐ
- JSX, ๊ฐ์ DOM๊ณผ ๋ฆฌ์กํธ ํ์ด๋ฒ
<๋ง์น๋ฉฐ> ์น์

์ฑ ์ ๋งจ ๋ง์ง๋ง ์น์ ์์๋ ์ฑ ์์ ์กฐ์ธํ๋ ๋ด์ฉ์ ์ถ์ฝํ ๊ฒ๊ณผ, ์ถ๊ฐ์ ์ธ ๊ณต๋ถ ๋ฐฉ๋ฒ๋ค์ ๋ํด ์๋ ค์ฃผ๊ณ ์์ต๋๋ค. ๋์์์ด ๊ณต๋ถํด์ผ ํ๋ ๊ฐ๋ฐ์๋ก์ ์ผ์ข ์ ์ข์ ๋ก๋๋งต์ ์ ๊ณตํด์ฃผ๊ณ ์๋ ๋ฏํ ๋๋์ ๋ฐ์์ต๋๋ค.
์ฑ ์์ ์ ๋ฌํ ์กฐ์ธ ์ค ์ผ๋ถ๋ฅผ ๊ณต์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋ฆฌ์กํธ๋ฅผ ์ค์ฌ์ผ๋ก ํ ์๋ง์ ํ๋ ์์ํฌ๋ฅผ ๋น๋กฏํด ๋์์์ด ์ฑ์ฅํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ํ๊ณ๋ฅผ ๋ฐ๋ผ์ก๋ ๊ฒ์ด ๋ฒ ์ฐฌ ์ผ์ฒ๋ผ ๋๊ปด์ง ์ ์์ต๋๋ค. ๋งค๋ ์๋ง์ ๋๊ตฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ก ์ถ์๋๋ฉฐ, ์ ๋ง๋ค ๊ณ ์ ํ ๊ธฐ๋ฅ๊ณผ ์ด์ , ์ฅ๋จ์ ์ด ์์ต๋๋ค. ๊ฐ๋ฐ์๋ก์ ํฅํ ํ๋ก์ ํธ์ ์ฌ์ฉํ ํ๋ ์์ํฌ๋ฅผ ๋ฐ๋ฅด๊ฒ ๊ฒฐ์ ํ๋ ค๋ฉด, ํ์ฌ ์ํ๊ณ์ ์ํ๋ฅผ ์ ์๋ ๊ฒ๋ง์ผ๋ก๋ ๋ถ์กฑํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ์ ๋ฐ์์ทจ์ ํจ๊ป, ๊ด๋ฒํ ์น ๊ฐ๋ฐ ๋งฅ๋ฝ์์ ๋๊ตฌ๊ฐ ์ ์ฉ๋๋ ๋ฐฉ์์ ๋ฏธ๋ ์งํฅ์ ์ผ๋ก ์ดํดํ๋ ๊ฐ๊ฐ์ด ํ์ํฉ๋๋ค.
์ดํ
์ด์ ์๋ ๋ฆฌ์กํธ๋ฅผ ๊ณต๋ถํ๋ฉด์ ๋จ์ํ "๊ฐ์ DOM์ ์ฌ์ฉํ๊ณ , ๋ณ๊ฒฝ์ ์ด ์๊ธฐ๋ฉด ๋ฐ๋ ๋ถ๋ถ๋ง ์ ๋ฐ์ดํธํด ์ค๋ค" ์ ๋๋ก๋ง ์ดํดํ๊ณ ์์์ต๋๋ค.
ํ์ง๋ง ์ด ์ฑ ์ ์ฝ๊ณ ๋์, ๋ฆฌ์กํธ์ ๋ ๋๋ง ๊ธฐ๋ฒ์ด ์ด๋ป๊ฒ ๋ฐ์ ํด ์๋์ง ๋ ๊น์ด ์ดํดํ ์ ์์์ต๋๋ค.
๊ทธ ์์๋ก
์ฒ์ ๋ฆฌ์กํธ๋ ์คํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ๋๋ง์ ์ํํ์ง๋ง,
- ์ ๋ฐ์ดํธ์ ์ฐ์ ์์๋ฅผ ์ค์ ํ ์ ์์๊ณ ,
- ์ ๋ฐ์ดํธ๋ฅผ ์ค๋จํ๊ฑฐ๋ ์ทจ์ํ ์ ์์๋ค๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๊ธฐ ์ํด, ๋ฆฌ์กํธ ํ์ ํ์ด๋ฒ(Fiber) ํธ๋ฆฌ ๊ธฐ๋ฐ์ ์ฌ์กฐ์ (Reconciliation) ๊ธฐ์ ์ ์ค๊ณํ๊ฒ ๋์์ต๋๋ค.
๊ธฐ์ ์ด ๋ฐ์ ํ ๊ณผ์ ๊น์ง ์์ธํ ์ค๋ช
ํด ์ฃผ์ด, ๋จ์ํ ๊ฐ๋
์ด ์๋๋ผ ์ ์ด๋ฐ ๊ตฌ์กฐ๊ฐ ๋์
๋์๋์ง๊น์ง ์ดํดํ ์ ์์ด ํฐ ๋์์ด ๋์์ต๋๋ค.
์ฑ ์ ์ฝ์ผ๋ฉด์ ๋ฌธ๋, ์คํ๋ง ํฐ์บฃ์ด ๋ฐ๊ธํด ์ฃผ๋ ์ธ์ ํค๊ฐ ์ JSESSION_ID๊ณ ์ด๋ ํ ๊ณผ์ ์ผ๋ก ์ธ์ ์ ๋ง๋ค์ด์ฃผ๋์ง ๊ถ๊ธํดํ๋ ์๋ ์ ์ ๊ฐ ์๊ฐ๋ฌ์ต๋๋ค.
์ด๋ ฅ์์๋ ์๋ฆฌ๋ฅผ ํ๊ตฌํ๋ ๊ฐ๋ฐ์๋ผ๊ณ ์ ์์ ์ ์๊ฐํ๊ณค ํ๋๋ฐ, ์ด๋์ ์ ์ฒ๋ผ ํ๋์ ๊ธฐ์ ์ ๊ณต๋ถํ ๋ ๊ตฌ์ฒด์ ์ธ ์๋ฆฌ์ ๋ฐ์ ๊ณผ์ ์ ํจ๊ป ๊ณต๋ถํด๋ณด๊ณ ์ถ์ผ์ ๋ถ๋ค์๊ฒ ์ด ์ฑ ์ ์ถ์ฒํฉ๋๋ค!