๋ฅ๋ฌ๋๊ณผ ์์
๊ณผํ์ ์ ๋ชจ๋ฅด์ง๋ง ๊ณผํ์ ์ข์ํ๊ณ , ์ํฌ์์ด์ง๋ง ์ํ์ ์ข์ํ๋ ์ ๊ฐ ์ต๊ทผ์ ์ ๋ฅผ ์ฌ๋ก์ก์ ๋ด์ฉ์ด ์์์ต๋๋ค. ์ด๋ฆํ์ฌ ๋ฐ๋ก '๋ฆฌ๋ง ๊ฐ์ค' ์ ๋๋ค.
๊ณผํ์ ์ ๋ชจ๋ฅด์ง๋ง ๊ณผํ์ ์ข์ํ๊ณ , ์ํฌ์์ด์ง๋ง ์ํ์ ์ข์ํ๋ ์ ๊ฐ ์ต๊ทผ์ ์ ๋ฅผ ์ฌ๋ก์ก์ ๋ด์ฉ์ด ์์์ต๋๋ค. ์ด๋ฆํ์ฌ ๋ฐ๋ก '๋ฆฌ๋ง ๊ฐ์ค' ์ ๋๋ค.
์ง๊ธ๋ ๋ธ๋ผ์ฐ์ ธ๋ ๋ฌดํ ๋ก๋ฉ ์ค์ธ๋ฐ ์ด ๋ธ๋ก๊ทธ๋ฅผ ์ฐ๋ ๋ด์ฉ์ ๋ ์๊ฐ์ง ์์ต๋๋ค. ๋ค๋ฅธ ํญ์ ๋ฉ์ถ์ง ์๊ณ ์คํ๋๊ณ ์์ต๋๋ค. ์ด๋ป๊ฒ ์ด๋ ๊ฒ ๋ ๊น์? ๊ทธ๋ฅ ์ ๊ฐ ์์ฒญ ๋น์ผ ํน์์งฑ ์ปดํจํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ๊ทธ๋ฅ ๋ฌด๋ํฌ๋ก ๋ฒํฐ๋๊ฑธ๊น์?
1992๋ 5์ 5์ผ, ์ธํ์ํ์ธ 3D๊ฐ ์ถ์๋ฉ๋๋ค. ๊ทธ์ ์๋ 1์ธ์นญ ์์ ์ ๊ฒ์์ ์กด์ฌํ์์ง๋ง, ์ด ๊ฒ์์ ํ๋ คํ 256 ์ปฌ๋ฌ ๊ทธ๋ํฝ, ๋น ๋ฅธ ์๋, ๋์ ํ๋ ์ ๋ ์ดํธ, ์๋ฆฌํ AI, ์ ๋ช ํ ์ฌ์ด๋ ํจ๊ณผ, ๋งค๋ ฅ์ ์ธ ์์ ์ ๊ฐ๋ฅํ๊ฒ ํ ์์ง์ผ๋ก ์ ์ ํ ์ถฉ๊ฒฉ์ ์ ์ฌํ์์ต๋๋ค.
์ฌ๊ธฐ์๋ gitlab ๊ณผ gitlab-runner (+ nexus) ๋ฅผ ์ค์นํ์ฌ ๋๋ ์๋์ ์ผ๋ก ๋น๋์ ๋ฐฐํฌ๊ฐ ๋๋๋ก CI (Continuous Integration) / CD (Continuous Deployment) ๋ฅผ ๊ตฌ์ฑ ํด๋ณด์์ต๋๋ค.
๊นํ ๋ธ๋ก๊ทธ๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ ๋ก์ปฌ pc ์์ ruby ๋ฅผ ์ค์นํ๊ณ jekyll ํ๊ฒฝ ๊ตฌ์ฑ์ ํด์ผ ํฉ๋๋ค. ์ค๋ ํฌ์คํ ์ ์์ฑํ ๋ ค๊ณ ํ์ผ๋, windows ๋ฅผ ๋ค์ ๊น์๋ฒ๋ ค์ ์ธํ ํ๊ธฐ๊ฐ ๋๋ฌด ๊ท์ฐฎ๋๋ผ๊ตฌ์... ์ด๋ฒ ๊ธฐํ์ ์ ์ฒ๋ผ ์์ฃผ ์ด๋ฌ์ ๋ฆฌ ์ฎ๊ฒจ๋ค๋๋ ์ฌ๋๋ค์ ์ํด ์ด๋ฒ ๋ด์ฉ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค.
์ค๋ ์ด ์๊ฐ์ phaser ๊ฒ์ ํ๋ ์์ํฌ๋ฅผ ์ด์ฉํด์ โ๋ผ์ดํ ๊ฒ์(Life of Game)โ ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ๋ชฉํ๋ฅผ ํ๊ฒ ์ต๋๋ค.
์ต๊ทผ์ react ํ๋ก์ ํธ์ typescript ํ๋ก์ ํธ๋ฅผ ๊ฑฐ์น๋ฉด์ webpack ์ ์์ฃผ ์จ๋ณด๊ณ ์ธํ ํด๋ณด๊ฒ ๋์์ต๋๋ค. ์ฒ์์๋ ๋์์ ์๋ฆฌ๋ณด๋ค `์์ฆ ์๋๊ฐ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ ํ๊ฒฝ ๋ง๋ค๊ธฐ`๋ผ๋ ๋ชฉํ๋ก ์ธํ ํ์์ผ๋ ์ ์ ์ฒ์๋ถํฐ ์ฐจ๊ทผ ์ฐจ๊ทผ ๋ง์ง๋ฉด์, ๋ด๊ฐ ์ด๊ฑธ ๋ชฐ๋๊ตฌ๋ ์ด๊ฒ ์ด๋ฐ ๋ป์ด์๊ตฌ๋ ์์ผ ๋๋ผ๊ฒ ๋์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก PHP ์ ๋ฐฐ์ด์ ์ผ๋ฐ์ ์ธ ArrayList ๊ตฌํ์ด ์๋๋ผ, Hash Table ์ ๋๋ค. ๊ทธ๋ฌ๋ค๋ณด๋ php ๊ฐ๋ฐ์๋ค์ ๋ฐฐ์ด์ ๋ฐฐ์ด์ฒ๋ผ ์ฐ์ง ์๊ณ Hash Table ์ฒ๋ผ ์ด์ฉํ๋ ๋ถ๋ค์ด ๋ง์ต๋๋ค. (๋์๊ฑฐ ์๋์์!)
์ํ ๊ด๋ฆฌ๋ ๋ฌด์์ผ๊น์? ์ํค ์ค๋ช ์ ๋ฐ๋ฅด์๋ฉด ํ ์คํธ ํ๋ ๊ฐ์ ์ฌ๋ฌ๊ฐ์ UI ์ปจํธ๋กค์ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
ํ์ผ ์ ๋ก๋ ๊ตฌํ์ด์ผ ๋ง์ด๋ค ํด๋ณด์ จ๊ฒ ์ง๋ง ์ฉ๋์ด ์ปค์ง๋ค๋ฉด? ์๊ฐ๋ณด๋ค ์ ๊ฒฝ์ธ๊ฒ ๋ง์์ง๋๋ค.