'๋ฆฌ์กํธ ๋์๋ซ๊ธฐ(์์ The Road to learn React)'๋ ๋ฆฌ์กํธ ์ ๋ฌธ์๋ฅผ ์ํ ์ฑ ์ ๋๋ค. ๋ฆฌ์กํธ ์ค์น๋ถํฐ ๊ธฐ์ด, ์๋ฒ ๋ฐฐํฌ๊น์ง, ๋ฆฌ์กํธ ๊ฐ๋ฐ ์ ๊ณผ์ ์ ์ค๋ช ํฉ๋๋ค. ๋์๊ฐ ์ ์ง, ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํด ๋ฆฌ์กํธ ๋์์ธ ํจํด๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์๊ฐํฉ๋๋ค. ๊ฐ ์ฅ๊ณผ ์ ๋ง๋ค ์ถ๊ฐ ์ค์ต ๋ฐ ์ฌํ ํ์ต์ ์ํ ์ฝ๊ธฐ ์๋ฃ๋ฅผ ์ ์ํ์ต๋๋ค. ์ด ์ฑ ์ ๋ชฉ์ ์ ์์ํ ๋ฆฌ์กํธ๋ง์ผ๋ก๋ ํ๋ฅญํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์ธ๋ถ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๊ตฌ๋ฅผ ๋ค๋ฃจ์ง ์์ต๋๋ค. ๋ฌด์๋ณด๋ค ๊ธฐ์ด๊ฐ ํผํผํด์ผ ๋ ๋์ ๋ฆฌ์กํธ ์ธ๊ณ๋ก ๋ฐ์ด๋ค ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์ผ๋ก ์ฌ๋ฌ๋ถ๋ค์ ์ด ์ฑ ์ ์ฝ์ผ๋ฉฐ ํด์ปค ๋ด์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค์ด ๋ณผ ๊ฒ์ ๋๋ค. ๊ฒ์๊ณผ ์ ๋ ฌ, ํ์ด์ง๋ค์ด์ , ํด๋ผ์ด์ธํธ ์บ์ ๊ธฐ๋ฅ์ ์ง์ ๊ตฌํํด๋ณด๋ฉด์ ๋ฆฌ์กํธ ๊ธฐ์ด ์ง์์ ํผํผํ ์์ ์ ์์ ๊ฒ์ ๋๋ค. ์ด์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ES5๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ ES6๋ก ์ ํํ ์ ์๋ ๊ณ๊ธฐ๊ฐ ๋ ๊ฒ์ ๋๋ค.
์ ๋ ๋ ์ ์ฌ๋ฌ๋ถ๋ค์ด ๋ฆฌ์กํธ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ฌ๋ฏธ์ ํฅ๋ฏธ๋ฅผ ๋๊ผ์ผ๋ฉด ํฉ๋๋ค. ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์ฑ ์ ๋์๋ซ๊ธฐ ์ผ์ ๋ค์ ๋จ๊ณ๋ก ๊ป์ถฉ ๋ฐ์ด๊ฐ๊ธธ ๋ฐ๋๋๋ค.
{pagebreak}
๋ก๋น์ ๋ ์ผ ์ถ์ ์ํํธ์จ์ด ์์ง๋์ด์ด์ ์๋ฐ์คํฌ๋ฆฝํธ ์ ์๋, ๊ทธ๋ฆฌ๊ณ ํ๋ฆฌ๋์๋ก ํ๋ํ๊ณ ์์ต๋๋ค. ์ ์ธ๊ณ ํ์๋ค์ ๊ฐ๋ฅด์น๋ฉฐ ๊ทธ๋ค์ด ์ฑ์ฅํ๋ ๋ชจ์ต์ ๋ณด๋์ ๋๋ผ๊ณ ์์ต๋๋ค.
๋ก๋น์ ๋ ์ผ์์ ์ปดํจํฐ ๊ณตํ ์์ฌ ๊ณผ์ ์ ๋ง์น ํ, ์คํํธ์ ํ์ฌ์ธ Small Improvements์์ ์ํํธ์จ์ด ์์ง๋์ด๋ก ๊ทผ๋ฌดํ๋ฉฐ SaaS ์ ํ์ ๊ฐ๋ฐํ์ต๋๋ค. ๋น์ ์ ํ์ ์ด์ฐฝ๊ธฐ์๋ ์์ผ(Wicket), ์ ์ด์ฟผ๋ฆฌ(jQuery), ์๋ฐ(Java)๋ก ๋ง๋ค์ด์ก์ผ๋ 1์ธ๋ SPA ํ๋ ์์ํฌ๋ค์ด ๋ํ๋๋ฉด์ ์ต๊ทค๋ฌ(Angular) ๋ฒ์ 1๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ์ฌ ์ดํ 2๋ ๊ฐ ์ต๊ทค๋ฌ๋ก ๊ฐ๋ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ต๊ทค๋ฌ๋ ์ํ ๊ด๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ์ต์์ ์๋ฃจ์ ์ด ์๋๋ผ๋ ๊ฒฐ๋ก ์ ์ด๋ฅด๋ฌ, ์ต์ข ์ ์ผ๋ก ๋ฆฌ์กํธ์ ๋ฆฌ๋์ค๋ฅผ ๋์ ํด ๋๊ท๋ชจ ์ ํ์ผ์ด์ ์ ์ฑ๊ณต์ ์ผ๋ก ์ด์ํ ์ ์์์ต๋๋ค.
ํ์ฌ๋ฅผ ๋ค๋๋ ๋์ ๋ก๋น์ ๊ฐ์ธ ์ฌ์ดํธ์ ์น ๊ธฐ์ ๊ด๋ จ ๊ธ์ ์ ๊ธฐ์ ์ผ๋ก ์งํํ๋ฉด์ ๊ทธ ์ค์ค๋ก ๊ฐ๋ฅด์น๋ ์ผ์ ์ฌ๋ฅ์ด ์๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ฒ ๋์์ต๋๋ค. ๋ํ ๋ ์๋ค์ ํผ๋๋ฐฑ์ ํตํด ๊ธ์ฐ๊ธฐ ๋ฅ๋ ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์๊ณ ํจ๊ณผ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ๊ต์๋ฒ์ ๊ฐ๋ฐํ ์ ์์์ต๋๋ค.
๊ทธ์ธ ์ฌ๊ฐ ์๊ฐ์ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ํ์ต์ ํฌ์ํ๊ณ ์์ต๋๋ค. ์ ์๋์ด ๋ฐฐ์์ ๊ฒ์๋ฆฌํ๋ฉด ๋ ์ด์ ํ์๋ค์๊ฒ ๊ฐ๋ฅด์น ๊ฒ์ด ์๋ค๋ ๊ทธ์ ์๊ฐ ๋๋ฌธ์ ๋๋ค.
๋ก๋น์ ํ์ํ๊ณ ํจ๊ป ์ผํ๊ธธ ์ํ๋ค๋ฉด ๊ทธ์ ๊ฐ์ธ ์น ์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ๊ธธ ๋ฐ๋๋๋ค.
{pagebreak}
์ด ์ฑ ์ ํ๊ตญ์ด๋ก ์ฎ๊ธด ์์ง์ ์๋ฆฌ์ ์์ผ๋ก ๋น๋ ์ธํฐ๋ ํฐ๋ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๊ด์ฌ์ด ๋ง์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ๋๋ค. ๊ทธ๋ ์ ๊ฟ์ ๋ชจ๋ ์ฌ๋๋ค์ด ์์ ์๋ฆฌ๋ฅผ ํ์ํ๊ณ ์ฐฝ์์ ์ธ ์์ ์ ๊ฒฝํ์ ์ค ์ ์๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ๊ทธ ๊ฟ์ ์ด๋ฃจ๊ณ ์ ํ์ฌ ์์ธ๋ํ๊ต ์ตํฉ๊ณผํ๊ธฐ์ ๋ํ์ ๋์งํธ ์ ๋ณด์ตํฉ๊ณผ์ ์์ฌ ๊ณผ์ ์ ์ฌํ ์ค์ ๋๋ค. ์์ธ๋ํ๊ต ์ตํฉ๊ณผํ๊ธฐ์ ๋ํ์ ์์ ์ค๋์ค ์ฐ๊ตฌ์ค ์์์ผ๋ก ์น ์ค๋์ค ๊ธฐ์ ์ฐ๊ตฌ์ ์์ ์ ๋ณด ์ถ์ถ ์ฐ๊ตฌ๋ฅผ ํ๊ณ ์์ต๋๋ค.
์์ง์ ๋ชจ๋๊ฐ ํ๋ฑํ๊ฒ ๊ต์ก์ ๋ฐ์ ์ ์๋ ์ฌํ๋ฅผ ์ง์งํ๋ฉฐ ํ์ํ๊ณ ์์ต๋๋ค. ํ๋ถ์์ ์๊ณก๊ณผ ์์ ๊ต์ก์ ์ ๊ณตํ ํ, IT ๋น์๋ฆฌ ๊ต์ก ์ฌ๋จ์์ ๋ค๋ ๊ฐ ์จ๋ผ์ธ ๊ต์ก ํ๋ซํผ์ ๊ธฐํํ๊ณ ์ด์ํ์ต๋๋ค. ๋ค์์ ํ๋ก๊ทธ๋๋ฐ ํํ ๋ฆฌ์ผ๊ณผ ๊ธฐ์ ๋ฌธ์๋ฅผ ๋ฒ์ญํ๋ฉฐ ์์ด์ ์ฅ๋ฒฝ ์์ด ๋๊ตฌ๋ ์ต์ ๊ต์ก ์ฝํ ์ธ ๋ฅผ ์ ํ ์ ์๊ฒ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๋ํ ์ฌ์ฑ ๊ฐ๋ฐ์๋ก์ IT๋ถ์ผ ๋ด ์ฑ ๊ฒฉ์ฐจ(Gender Gap) ๋ฌธ์ ์ ๋ง์ ๊ด์ฌ์ ๊ธฐ์ธ์ด๊ณ ์์ต๋๋ค. ๊ตญ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ๋ด ๋ค์์ฑ์ ๋์ด๊ณ ์ ์ฌ์ฑ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ๋ฅผ ์กฐ์งํ์๊ณ ์ฌ์ฑ๋ค์๊ฒ ํ๋ก๊ทธ๋๋ฐ ํ์ต ๊ธฐํ๋ฅผ ์ ๊ณตํ๊ณ ์ ํ์ด์ฌ๊ณผ ์ฅ๊ณ (Django) ์น ํ๋ ์์ํฌ, ์๋ฐ์คํฌ๋ฆฝํธ ๊ด๋ จ ๋ฌด๋ฃ ์ํฌ์๊ณผ ์ธ๋ฏธ๋๋ฅผ ์ด์ํด์ค๊ณ ์์ต๋๋ค.
์์ง์ด ํ์ฌ ์งํ ์ค์ธ ํ๋ก์ ํธ๋ ๊นํ๋ธ์์ ํ์ธํ ์ ์์ผ๋ฉฐ, ๊ฐ์ธ ์น ์ฌ์ดํธ์์ ์์ ์ ๊ฐ๋ฐ ๊ฒฝํ, ๋ฒ์ญ, ๊ทธ๋ฆฌ๊ณ ์์ํ ์ด์ผ๊ธฐ๋ฅผ ๋๋๊ณ ์์ต๋๋ค. ํ์ด์ค๋ถ๊ณผ ํธ์ํฐ๋ฅผ ํตํด ์์ , ๊ธฐ์ , ์ฌ์ฑ, ๋ฌ๋ฆฌ๊ธฐ์ ๊ดํด ๋ง์ ์ด์ผ๊ธฐ๋ฅผ ๋๋๊ธธ ๋ฐ๋๋๋ค. ์ธ์คํ๊ทธ๋จ์์ ์ ๊ตญ ๋ฐฉ๋ฐฉ๊ณณ๊ณณ์ ๋ฌ๋ฆฌ๋ ๊ทธ๋ ์ ๋ชจ์ต์ ๋ณผ ์ ์์ต๋๋ค.
{pagebreak}
์กฐ์ํ(ํ๋น๋ฏธ๋์ด), ์ ์ฌํ, ๋ฐ์ฑํ, ๋ฐ์ค๋ชจ, ์ ํด๊ท ๋๊ป์ ๋ฆฌ๋ทฐ ๊ณผ์ ์ค ๋์ด์ฐ๊ธฐ, ์คํ์, ๋ง์ถค๋ฒ ๋ฑ์ ์์ ํด์ฃผ์ จ์ต๋๋ค.
๋ก๋ ํฌ ๋ฆฌ์กํธ(Road to React), ๊ตฟ๋ฆฌ๋, ์๋ง์กด์์ ๋ง์ ๋ ์๋ค์ด ์ถ์ฒ์ฌ๋ฅผ ์์ฑํด์ฃผ์ จ์ต๋๋ค.
๋ฌดํ๋ง๋ ์นด์ฌํ(Muhammad Kashif) "์ด ์ฑ ์ ๋ฆฌ์กํธ ์ ๋ฌธ์๋ถํฐ ์ ๋ฌธ๊ฐ๊น์ง ๋ชจ๋๊ฐ ์ฝ์ ์ ์๋ ์ฑ ์ ๋๋ค. ๋ค๋ฅธ ๊ณณ์์ ์ป์ ์ ์๋ ํต์ฐฐ๊ณผ ๊ธฐ์ ์ ์ด ์ฑ ์์ ๋ง๋ ์ ์์ต๋๋ค. ์ฐธ๊ณ ์๋ฃ์ ์์ ๋ํ ์๋ฒฝํฉ๋๋ค. 17๋ ์ฐจ ๊ฐ๋ฐ์์ธ ๋์กฐ์ฐจ ๋ฆฌ์กํธ๋ฅผ ์ฒ์ ์์ํ ๋ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค. ์ด ์ฑ ์ ๋ง๋ฒ์ ๋๋ค."
์๋๋ ์ ๋ฐฐ๊ฐ์ค(Andre Vargas) "๋๋ผ์ ๊ทธ ์์ฒด์ ๋๋ค! ์ด ์ฑ ์์ ๋ฆฌ์กํธ์ ES6 ๋๋ถ๋ถ์ ๋ฐฐ์ ์ต๋๋ค!"
๋์ฝ๋ผ์ค ํํฐ-์์ปค(Nicholas Hunt-Walker), ์์ ํ ์ฝ๋ฉ ์ค์ฟจ ๊ฐ์ฌ "์ง๊ธ๊น์ง ์ฝ์๋ ์ฝ๋ฉ ์ฑ ์ค ๊ฐ์ฅ ํ๋ฅญํ ์ฑ "
์ด์คํด ๊ทธ๋ฆฐ(Austin Green) "๋ฆฌ์กํธ, ES6, ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ ๊น์ง ๋ชจ๋ ๊ฒ์ ๊ฐ์ถ ์ฑ ์ ๋๋ค."
๋์ฝ๋ผ์ค ํผ๊ทธ์(Nicole Ferguson) "์ฃผ๋ง ๋ด๋ด ์ด ์ฑ ์ ๋ดค์ต๋๋ค. ๋๋ฌด ์ฌ๋ฐ์ด์ ์์ฌ์ ๊ฐ์ฑ ์ ๋๋ ์ ๋์ ๋๋ค."
์นด๋(Karan) "๋ฐฉ๊ธ ์ด ์ฑ ์ ๋ง์ณค์ต๋๋ค. ๋ฆฌ์กํธ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ ๋ฌธ์๋ค์ ์ํ ์ต๊ณ ์ ์ฑ ์ ๋๋ค. ๋ฉ์ง๋๋ค! )"
์๋ฆญ ํ๋ฆฌ์ค์ฐ(Eric Priou) "๋ก๋น ์์ดํฌ ์ฑ ์ ํ๋ ์์ ๋๋ค. ๋ฆฌ์กํธ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์๋ฅผ ๋ง ๋ณผ ์ ์์ต๋๋ค."
ํ ๋ง์ค ๋ผํฌ๋(Thomas Lockney) "๋ฐฉ๋ํ ๋ด์ฉ์ ํ๊บผ๋ฒ์ ๋ค๋ฃจ์ง ์์ ์ข์์ต๋๋ค. ๋๋ ๋ฆฌ์กํธ๊ฐ ์ด๋ค ๊ฒ์ธ์ง ๋ง๋ณด๊ณ ์ถ์์ต๋๋ค. ๋ชจ๋ฅด๋ ES6 ๋ฌธ๋ฒ์ ๋ฐฐ์ฐ๋ ค๊ณ ์ด๊ฒ ์ ๊ฒ ์ฐพ์๋ณผ ํ์๊ฐ ์์ต๋๋ค. ๋ถ์ง๋ฐํ ๋ ์๋ผ๋ฉด, ์ด ์ฑ ์ ๋ด์ฉ ๊ทธ ์ด์์ ๊ฒ์ ์ป์ ์ ์์ ๊ฒ์ ๋๋ค."
์ต๋ช ์ ์ ์ ๊ฐ๋ฐ์ "์ ์ ๊ฐ๋ฐ์๋ ์ฝ๊ฒ ์ฝ์ ์ ์์์ต๋๋ค. ๋ฆฌ์กํธ ๊ฐ๋ฐ์ ์์ ๊ฐ์ ๊ฐ๊ฒ ๋์์ต๋๋ค. ๋ฆฌ์กํธ ๊ณต์ ํํ ๋ฆฌ์ผ๋ณด๋ค ํจ์ฌ ์ข์์ต๋๋ค."
์ต๋ช ์ ํ์ "๋ฆฌ์กํธ ์ ๋ฌธ์ ์ฑ ์ค ์ต๊ณ ์ ๋๋ค. '์ฝ๋์ ๋ฐฐ์' ์ด ๋ ๊ฐ์ง๋ฅผ ์ ํํ ๋ง์คํฐํ ์ ์์ต๋๋ค."
๊ฐ์ง์ "๋ฆฌ์กํธ๋ฅผ ์ฒ์ ์ ํ๋ ์ฌ๋๋ ์์๋ฃ๊ธฐ ์ฝ๊ฒ ์ฐ์ฌ์ง ์ฑ . ํฅ๋ฏธ๋ก์ด ์ค์ต ์์ฃผ๋ก ์งํ๋๊ธฐ ๋๋ฌธ์ ์ง๋ฃจํ์ง ์๊ฒ ๋ด์ฉ์ ๋ฐ๋ผ๊ฐ ์ ์์ต๋๋ค. ๋ค์ผ๋ก, ES6๊น์ง ์์ฐ์ค๋ฝ๊ฒ ํจ๊ป ์ตํ ์ ์์ต๋๋ค."
๊ธฐ๋ฐ์ "๋ฆฌ์กํธ ์ค์ ๊ฐ๋ ์ ์ตํ๋๋ฐ ๋์์ด ๋์์ต๋๋ค."
๊น์ฃผ์จ ์ด ์ฑ ์ผ๋ก ๋ฆฌ์กํธ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ก์ ์ ์์์ต๋๋ค. ๋ฆฌ์กํธ๋ฅผ ์์ํ๋ ค๋ ๋ถ๋ค์๊ฒ ์ต๊ณ ์ ์ ๋ฌธ์๋ก ์ถ์ฒํฉ๋๋ค.
์ต์ธ์ "์ฌ์ด ํ๊ธ์ ์ฌ์ฉํ๊ณ ์์ด ์ดํดํ๊ธฐ ์ฌ์ ์ต๋๋ค."
์ง์ํ "์ค์ค๋ก ๋ฐ๋ผ ํ๋ฉฐ ๊ณต๋ถํ ์ ์๋ ์ฑ "
๋ฐํฌ์ "์ง์ ์ค์ตํ๋ฉฐ ๋ฆฌ์กํธ ๊ธฐ์ด ์ง์๊ณผ ํจ๊ป ๊ฐ๋ฐ ์ค๋ ฅ์ ๋์ผ ์ ์์์ต๋๋ค. ES6 ์ ๋ฌธ์๋ก๋ ์์์์ต๋๋ค. ์์ธํ ์ค๋ช ๊ณผ ์์ ๊ฐ ๊ณ๋ค์ฌ์ ธ ์์ด ๊ฐ๋ ์ดํด์ ํ์ฉ ๋ชจ๋ ๋ฉด์์ ์ข์์ต๋๋ค."
{pagebreak}
๋ชจ๋์๊ฒ ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ธ ์ ์๋ ๊ธฐํ๋ฅผ ์ฃผ๊ณ ์ ์ด ์ฑ ์ ์คํ ์์ค๋ก ์ถํํ์ต๋๋ค. ์ด ์ฑ ์ ์ ๊ฐ๋ ์์ผ๋ฉฐ, ๊ฐ์ ์ํ๋ ๊ฐ๊ฒฉ์ผ๋ก ๊ตฌ๋งคํ ์ ์์ต๋๋ค. ํ๋งค ์์ต๊ธ์ ๊ฐ๋ฐ๋์๊ตญ ์ด๋ฆฐ์ด๋ฅผ ์ํ ์์ด ๊ต์ก ํ๋ก์ ํธ ํ์์ ์ฌ์ฉ๋ฉ๋๋ค.
{pagebreak}
์ ๋ฐ์ดํธ ์์์ ์ด๋ป๊ฒ ๋ฐ๋์? ์ด ๊ณณ์์ ๋ด์ค ๋ ํฐ ๊ตฌ๋ ์ ์ฒญ์ ํ๊ฑฐ๋ ํธ์ํฐ๋ก ์ต๊ทผ ์์์ ๋ฐ์ ์ ์์ต๋๋ค. ์ฑ ์ ์ต์ด ๋ค์ด๋ก๋ํ ์ดํ์๋ ์ ๊ฐ์ ํ์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
์ต์ ๋ฆฌ์กํธ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์๋์? ๋ฆฌ์กํธ ์ต์ ๋ฒ์ ์ด ๊ณตํ๋๋ฉด ์ฑ ๋ด์ฉ๋ ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ํ์ฌ ๋ฆฌ์กํธ ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ๊ฐ ๋งค์ฐ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ถ๋ถ์ ์ฑ ๋ค์ ์ต์ ๋ด์ฉ์ ๋ด์ง ๋ชปํ๊ณ ์์ต๋๋ค. ๋ฐ๋ฉด ์ด ์ฑ ์ ์๊ฐ์ถํ์ด๊ธฐ ๋๋ฌธ์ ์ธ์ ๋ ์ง ์์ ํ์ฌ ์ถํ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ฆฌ๋์ค(Redux)๋ฅผ ๋ฐฐ์ฐ๋์? ์ด ์ฑ ์์๋ ๋ฆฌ๋์ค๋ฅผ ๋ค๋ฃจ์ง ์์ต๋๋ค. ๋ ๋ฒ์งธ ์ ์์์ ๋ค๋ฃฐ ์์ ์ ๋๋ค. "๋ฆฌ์กํธ ๋์๋ซ๊ธฐ"๋ ์ฌํ ์ฃผ์ ๋ก ๋์ด๊ฐ๊ธฐ ์ ํผํผํ ๊ธฐ์ด ์ง์์ ์๋ ๊ฒ์ด ์ฃผ ๋ชฉ์ ์ ๋๋ค. ์ค์ต ํ๋ก์ ํธ๋ฅผ ํตํด ๋ฆฌ๋์ค๊ฐ ์์ด๋ ์ถฉ๋ถํ ๋ฆฌ์กํธ๋ง์ผ๋ก ํ๋ฅญํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ณ ์ ํ์ต๋๋ค. ์ด ์ฑ ์ ๋ง์ณค๋ค๋ฉด ๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋, ์์ํ ๋ฆฌ์กํธ ๋ง์ผ๋ก ๊ฒฌ๊ณ ํ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ ์ ์์ด์ผ ํฉ๋๋ค. ์ ์์ ๋ฆฌ์กํธ ๋ ๋ฒ์งธ ์ฑ ์ธ "๋ฆฌ์กํธ ์ํ ๋ค๋ฃจ๊ธฐ(Taming the State in React)"์์ ๋ฆฌ๋์ค ๊ด๋ จ ๋ด์ฉ์ ๋ด๊ณ ์์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ES6๋ฅผ ์ฌ์ฉํ๋์? ๋ค, ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง ๊ฑฑ์ ํ์ง ์์๋ ๋ฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ES5์ ์ต์ํ๋ค๋ฉด ์ํ ์ ์์ต๋๋ค. ES5์์ ES6๋ก ๋ณํ ๊ณผ์ ์ ๊ธฐ์ ํ์ต๋๋ค. ๋ฆฌ์กํธ๋ ๋ฌผ๋ก ์ ์ฉํ ์๋ฐ์คํฌ๋ฆฝํธ ES6 ๋ฉ์๋๋ฅผ ๋ค๋ฃจ๊ณ ์์ต๋๋ค.
์์ผ๋ก ๋ด์ฉ์ด ์ถ๊ฐ๋๋์? ์ฃผ์ ์ ๋ฐ์ดํธ ๊ธฐ๋ก์ ํ์ธํ ์ ์์ต๋๋ค. ์ ๋ฐ์ดํธ ๋ฐ์ ์ ๊ฐ์ ๋ด์ฉ์ ๋ฏธ๋ฆฌ ๊ณต์งํ์ง๋ ์์ต๋๋ค. ์ปค๋ฎค๋ํฐ์ ์๋ ผํ ํ, ์ค๋๋ ๋ด์ฉ์ ์์ ํ๊ณ ์ถ๊ฐ ๋ด์ฉ์ ์งํํ๊ฒ ์ต๋๋ค. ๊ฐ์ฅ ์ต์ ์ ์์ ์ ๊ฐ๋ , ํจํด์ ๋ด์ ์ ์๋๋ก ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค.
๋ฌธ์ ํ์ฅ์๋ ๋ฌด์์ธ๊ฐ์? .pdf, .epub, .mobi ํ์ฅ์๋ฅผ ์ ๊ณตํ๋ฉฐ, ๊นํ๋ธ ๋ฆฌํผ์งํ ๋ฆฌ์์์์ ๋งํฌ๋ค์ด(.md) ๋ฌธ์๋ก๋ ์ฝ์ ์ ์์ต๋๋ค. ๋๋๋ก ์ฝ๋ ๊ฐ๋ ์ฑ์ด ๋์ ๋ฌธ์๋ฅผ ์ ํํด ์ฝ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋์์ ์ค ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋์? "The Road to learn React" ์ฌ๋์ ๊ฐ์คํ์ต๋๋ค. ์ปค๋ฎค๋ํฐ๋ฅผ ํตํด ๋์์ ๋ฐ๊ฑฐ๋ ๋์์ด ํ์ํ ์ด๋ค์๊ฒ ๋์์ ์ค ์ ์์ต๋๋ค. ํ๊ตญ์ด ์ฌ์ฉ์๋ฅผ ์ํ ์ฑ๋์ด ์ด๋ ค์์ต๋๋ค. #road-to-react-korean
์ฑ๋์์ ํจ๊ป ๊ณต๋ถํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ ์ค๋ ฅ์ ๋์ด๊ณ ์ถ๋ค๋ฉด ์ต๋ํ ๋ง์ ์ฌ๋๋ค์ ๋์์ฃผ์ธ์.
๋ฌธ์ ๋ฅผ ์๋ ค๋๋ฆด ๋ฐฉ๋ฒ์ด ์๋์? ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ์ฌ๋ ๊ทธ๋ฃน์ ๋ฌผ์ด๋ณด๊ธธ ๋ฐ๋๋๋ค. ๊นํ๋ธ ์ด์์์ ๋น์ทํ ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋์ง ์ฐพ์๋ณด์ธ์. ๋ง์ฝ ์ํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ๋ค๋ฉด, ์ ์ด์๋ฅผ ๋ฑ๋กํ๋ฉด ๋ฉ๋๋ค. ์์ฑ ์, ๋ฌธ์ ์ ๊ณผ ํจ๊ป ์คํฌ๋ฆฐ ์ท, ์ฑ ํ์ด์ง ๋ฒํธ, node ๋ฒ์ ๋ฑ์ ์๋ ค์ฃผ๊ธธ ๋ฐ๋๋๋ค. ๋ฑ๋ก๋ ๋ชจ๋ ์ด์๊ฐ ํด๊ฒฐ๋ ํ์ ๋ค์ ๊ฐ์ ํ์ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
์ด ์ฑ ์ ๊ธฐ์ฌํ ์ ์๋์? ๋ ์์ ์๊ฒฌ๊ณผ ๊นํ๋ธ ๊ธฐ์ฌ๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ ์ฐฝํ ์์ด๋ก ์์ฑํ์ง ์์๋ ๋ฉ๋๋ค. ์ฌ๋ฌ๋ถ์ ์ ์ ๊ณผ ๋์์ ๊น์ด ๊ฐ์ฌํ๊ณ ์์ต๋๋ค.
์ ๊ฐ๊ฒฉ์ ์ฑ ์ ํ์ง ์์๋์? ์ด ์ฑ ์ ์ฝ๋ ๋ชจ๋ ์ฌ๋๋ค์ด ์์ ์ด ์ํ๋ ๊ฐ๊ฒฉ์ผ๋ก ์ฑ ์ ๊ตฌ์ ํ ์ ์๊ฒ ํ๊ธฐ ์ํ์ฌ '์์จ ์ ๊ฐ์ '๋ฅผ ๋์ ํ์ต๋๋ค. ์์ผ๋ก๋ ์์จ ์ ๊ฐ์ ๋ฅผ ์ ์งํ ๊ฒ์ ๋๋ค. ์ ์ผ์ ๋ชฉ์ ์ ์ต๋ํ ๋ง์ ์ฌ๋๋ค์ด ์ด ์ฑ ์ ์ฝ์ ์ ์๊ฒ ํ๋ ๊ฒ์ ๋๋ค. ์ ๋ ๋ชจ๋ ์ฌ๋๋ค์ด ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ธ ์ ์๋ ๊ธฐํ๋ฅผ ๊ฐ์ ธ์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ฌผ๋ก ์ฌ์ ์ ์ฌ์ ๊ฐ ์๋ค๋ฉด ๋์๋ฅผ ์ง์ ๊ตฌ๋งคํ ์๋ ์์ต๋๋ค. ์ด ์ฑ ์ ์์ต๊ธ์ ๊ฐ๋ฐ ๋์๊ตญ ์ด๋ฆฐ์ด๋ค์ ์ํ ์์ด ๊ต์ก ํ์์ ์ฌ์ฉ๋ฉ๋๋ค. ์ฑ ์ ๊ตฌ์ ํ๋ ๊ฒ์ ์ด ํ๋ก์ ํธ์ ๋์ฐธํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
ํ๋ก์ ํธ ํ์์ ํ ์ ์๋์? ๋๊ตฌ๋ ์ด ํ๋ก์ ํธ์ ํ์ํ ์ ์์ต๋๋ค. ์ด ์คํ์์ค ํํ ๋ฆฌ์ผ ์ ์์ ์ํด ์๋นํ ๋ง์ ์๊ฐ๋์ ํฌ์ํ๊ณ ์์ต๋๋ค. ๊ฐ์ธ ํํ์ด์ง์์ ์ ์ ํ๋กํ์ ํ์ธํ ์ ์์ต๋๋ค. ํจํธ๋ ์จ(Patreon)์์ ์ ์ ๊ฐ์ธ ํ์์๊ฐ ๋์ค ์ ์์ต๋๋ค. ๋ ์ ์ฌ๋ฌ๋ถ๋ค์ด ์ด ์ฑ ์ ๋๋ฆฌ ์๋ ค์ฃผ์๋ ๊ฒ๋ง์ผ๋ก๋ ์ ๋ ์ ๋ง ๊ธฐ์๊ณ ๊ฐ์ฌํฉ๋๋ค.
๋์ผ๋ก ๋ฐ๋ผ๋ ์ ์ ๋ฌด์์ธ๊ฐ์? ์ด ์ฑ ์ ์ฝ๊ธฐ ์ , ๋์ ๋ฆฌ์กํธ๊ฐ ์ ๋ง๋์ง ๋จผ์ ์๊ฐํ๋ ์๊ฐ์ ๊ฐ์ก์ผ๋ฉด ํฉ๋๋ค. ๋ฆฌ์กํธ์ ๊ด์ฌ์ด ์๊ฑฐ๋, ๋ฐฐ์ฐ๋ ์ค์ด๊ฑฐ๋, ํน์ ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ฐ๊ณ ์ถ์ง ์์ ์๋ ์์ต๋๋ค. ์ฃผ๋ณ์ ์๋ ์น๊ตฌ, ์ง์ธ๋ค๊ณผ ํจ๊ป ์ด ์ฑ ์ ์ฝ๊ณ ์๋ก ๋์์ฃผ๋ฉฐ ์ง์์ ๋๋๊ธธ ๋ฐ๋๋๋ค.
{pagebreak}
์ด ์ฑ ์ ์ฒ ํ์ '๋ง๋ค๋ฉด์ ๋ฐฐ์ฐ์'์ ๋๋ค. ์ฌ๋ฌ๋ถ์ ์ค์ ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๋ฉด์ ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ธ ์ ์์ต๋๋ค. ์ด ์ฑ ์ ๋ฆฌ์กํธ๋ฅผ ์ค๋ช ํ ์ฐธ๊ณ ์๋ฃ๊ฐ ์๋๋ผ ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ฐ๋ ์ค์ง์ ์ธ ์๋ด์์ ๋๋ค. ์ฌ๋ฌ๋ถ์ ์ธ๋ถ API์ ์ํธ ์์ฉํ๋ ํด์ปค ๋ด์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํด ๋ณผ ๊ฒ์ ๋๋ค. ๋ฆฌ์กํธ์์ ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ๋ถ๋ถ์ ์บ์ฑ ๋ฐ ์ํธ ์์ฉ(์ ๋ ฌ ๋ฐ ๊ฒ์)์ ์ํ ๊ด๋ฆฌ ๋ถ๋ถ์ ๋๋ค. ์ด์ธ์ ๋ฆฌ์กํธ ๋ชจ๋ฒ ์์ ์ ๋์์ธ ํจํด์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
๋ํ ์ด ์ฑ ์ ์๋ฐ์คํฌ๋ฆฝํธ ES5์์ ES6์ผ๋ก ์ ํํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ค์ต๋๋ค. ๋ฆฌ์กํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ ES6 ๊ธฐ๋ฅ์ ํฌํจํ๊ณ ์์ด ES6๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ฃผ๊ณ ์ ํ์ต๋๋ค.
๊ฐ ์ฅ๋ง๋ค ์๋ก์ด ๋ด์ฉ์ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ์๋๋ฅด์ง ๋ง๊ณ ํ์ต ๋ด์ฉ์ ์ถฉ๋ถํ ์ดํดํ์ฌ ์์ ์ ๊ฒ์ผ๋ก ๋ง๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ํ์ต ๋ด์ฉ์ ์ค์ ๋ก ์ ์ฉํด ๋ณด๋ ๊ณผ์ ์ ํตํด ๋ ๋ง์ด ๋ฐฐ์ธ ์ ์์ต๋๋ค. ๊ฐ ์ฅ๋ง๋ค ์ฐธ๊ณ ์๋ฃ์ ์์ ๋ฅผ ์๋กํ์ต๋๋ค. ๋ฆฌ์กํธ๋ฅผ ๊น์ด ๋ฐฐ์ฐ๊ณ ์ถ๋ค๋ฉด ์ฐธ๊ณ ์๋ฃ๋ฅผ ์ฝ๊ณ ๊ฐ๋จํ ์์ ๋ฅผ ๋ง๋ค์ด ๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ค๋ฅธ ์ฅ์ ์ฝ๊ธฐ ์ ์ ์ถฉ๋ถํ ํ์ตํด ๋ด ๊ฒ์ผ๋ก ๋ง๋ค์ด์ผ ํฉ๋๋ค.
์ด ์ฑ ์ ๋ง์น๋ฉด ์์ฑ๋ ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ๋ค์ด ๋ง๋ ๊ฒฐ๊ณผ๋ฌผ์ ๊ผญ ๋ณด๊ณ ์ถ์ต๋๋ค. ์ด ์ฑ ์ ๋ค ์ฝ๊ณ ๋ ํ ๋ง๋ ๊ฒฐ๊ณผ๋ฌผ์ ๊ผญ ์ ์๊ฒ ์๋ ค์ฃผ๊ธธ ๋ฐ๋๋๋ค. ๋ง์ง๋ง ์ฅ์์ ์ฌ๋ฌ๋ถ์ ๋ฆฌ์กํธ ํ์ต์ ๊ณ์ํ ์ ์๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ๊ธฐ์ ํ์ต๋๋ค. ์ ์ ์น์ฌ์ดํธ์์๋ ๋ฆฌ์กํธ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
๋ ์ ๋๋ถ๋ถ์ด ๋ฆฌ์กํธ๋ฅผ ์ฒ์ ์ ํ๋ ์ ๋ฌธ์๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ฐ๊ธฐ๋ก ๊ฒฐ์ ํ ์ฌ๋ฌ๋ถ์ ์ง์ฌ์ผ๋ก ์์ํฉ๋๋ค. ์์ผ๋ก๋ ์ฌ๋ฌ๋ถ๋ค์ ํผ๋๋ฐฑ์ ๋ฐ์ํด ๋ชจ๋ ์ฌ๋๋ค์ด ๋ฆฌ์กํธ๋ฅผ ๋ฐฐ์ธ ์ ์๋ ์ต๊ณ ์ ๊ต์ก ์๋ฃ๋ฅผ ๋ง๋ค๊ณ ์ ํฉ๋๋ค. ๊นํ๋ธ ๋๋ ํธ์ํฐ๋ก ์ฌ๋ฌ๋ถ์ ์ด์ผ๊ธฐ๋ฅผ ํญ์ ๊ฒฝ์ฒญํ๊ณ ์์ต๋๋ค.
- ๋ฆฌ์กํธ ์ฑ ๊ฐ๋ฐํ๊ธฐ - ํด์ปค ๋ด์ค ์ ํ๋ฆฌ์ผ์ด์
- ํ๊ฒฝ ์ค์
- create-react-app ์ผ๋ก ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์์
- ํจ์จ์ ์ธ ์ฝ๋ ์์ฑ
setState()
๋ก ๋ด๋ถ ์ํ ๊ด๋ฆฌ- ์๋ฐ์คํฌ๋ฆฝํธ ES5์์ ES6์ผ๋ก ๋ฌธ๋ฒ ์ ํ
- setState ๋ฐ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋ API ์ฌ์ฉ
- ํด์ปค ๋ด์ค API์ ์ธํฐ๋ ์
- ์ฌ์ฉ์ ์ธํฐ๋ ์
- ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ์ ๋ ฌ
- ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ํํฐ๋ง
- ์๋ฒ ์ฌ์ด๋ ๊ฒ์
- ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ์บ์ฑ ๊ตฌํ
- ๊ณ ์ฐจ ํจ์์ ๊ณ ์ฐจ ์ปดํฌ๋ํธ
- Jest ์ปดํฌ๋ํธ ํ ์คํธ
- Enzyme ๋จ์ ์ปดํฌ๋ํธ ํ ์คํธ
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ
- ์ค์ต๊ณผ ์ฐธ๊ณ ์๋ฃ ์ฝ๊ธฐ
- ํ์ต ๋ด์ฉ ๋์๊ธฐ๊ธฐ ๋ฐ ๊ฐํํ๊ธฐ
- ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ
{pagebreak}
2017๋ 1์ 10์ผ
- v2 ํ ๋ฆฌํ์คํธ
- ์ ๋ฌธ์๋ฅผ ์ํ ์น๊ทผํ ์ด์กฐ๋ก ๋ณ๊ฒฝ
- ๋ณธ๋ฌธ 37% ๋ด์ฉ ์ถ๊ฐ
- ๋ณธ๋ฌธ 30% ๋ด์ฉ ๊ฐ์
- 13 ๋ด์ฉ ๊ฐ์ ๋ฐ ์ ๊ท ์ฑํฐ ์ถ๊ฐ
- ์ด 140 ํ์ด์ง ๋ด ํ์ต ์๋ฃ ์ถ๊ฐ
- + educative.io ์จ๋ผ์ธ ๊ฐ์ข ๊ฐ์ค
2017๋ 3์ 8์ผ
- v3 ํ ๋ฆฌํ์คํธ
- ๋ณธ๋ฌธ 20% ๋ด์ฉ ์ถ๊ฐ
- ๋ณธ๋ฌธ 25% ๋ด์ฉ ๊ฐ์
- ์ ๊ท 9์ฅ ์ถ๊ฐ
- ์ด 170 ํ์ด์ง
2017๋ 4์ 15์ผ
- React 15.5 ์ ๊ทธ๋ ์ด๋
2017๋ 7์
- node 8.1.3 ์ ๊ทธ๋ ์ด๋
- npm 5.0.4 ์ ๊ทธ๋ ์ด๋
- create-react-app 1.3.3 ์ ๊ทธ๋ ์ด๋
2017๋ 10์ 17์ผ
- node 8.3.0 ์ ๊ทธ๋ ์ด๋
- npm 5.5.1 ์ ๊ทธ๋ ์ด๋
- create-react-app 1.4.1 ์ ๊ทธ๋ ์ด๋
- React 16 ์ ๊ทธ๋ ์ด๋
- v4 ํ ๋ฆฌํ์คํธ
- ๋ณธ๋ฌธ 15% ๋ด์ฉ ์ถ๊ฐ
- ๋ณธ๋ฌธ 15% ๋ด์ฉ ๊ฐ์
- ์ ๊ท 3์ฅ ์ถ๊ฐ (๋ฐ์ธ๋ฉ, ์ด๋ฒคํธ ํธ๋ค๋ฌ, ์๋ฌ ์ฒ๋ฆฌ)
- ์ด 190+ ์ด์
- +9 ํ๋ก์ ํธ ์์ ์์ค ์ฝ๋
2018๋ 2์ 17์ผ
- node 8.9.4 ์ ๊ทธ๋ ์ด๋
- npm 5.6.0 ์ ๊ทธ๋ ์ด๋
- create-react-app 1.5.1 ์ ๊ทธ๋ ์ด๋
- v5 ํ ๋ฆฌํ์คํธ
- ํ์ต ๊ณต๋ถ ๋ฐฉ๋ฒ ์ถ๊ฐ
- ์ฝ๊ธฐ ์๋ฃ ์ถ๊ฐ
- ์ ๊ท 1์ฅ ์ถ๊ฐ (Fetch ๋์ Axios ์ฌ์ฉ)
{pagebreak}