JavaScript Promise์ ๋ด๋ถ ๋์์ ์ง์ ๊ตฌํํ๋ฉฐ ์ดํดํฉ๋๋ค. pending/resolved/rejected ์ํ ์ ํ, then() ๋ฉ์๋ ์ฒด์ด๋, ์ค๋ฅ ์ฒ๋ฆฌ๊น์ง ๋จ๊ณ๋ณ๋ก ๊ตฌํ ์๋ฆฌ๋ฅผ ์ค๋ช ํฉ๋๋ค.
Make์ ๋์ ์๋ฆฌ, ํ ๋น ์ฐ์ฐ์, ํจํด ๋ฃฐ, ๋ฌต์์ ๋ฃฐ, ์์ผ๋์นด๋, ๊ฒ์ ๊ฒฝ๋ก, ๋๋ฒ๊น ๊น์ง Makefile์ ์ ๋๋ก ์์ฑํ๊ธฐ ์ํ ํต์ฌ ๊ฐ๋ 7๊ฐ์ง๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
Immutable, Stateless ๋ฑ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ํน์ฑ์ JavaScript ์ฝ๋๋ก ์ง์ ๊ตฌํํ๋ฉฐ ์ดํดํฉ๋๋ค. reduce, map, ์ฌ๊ท๋ฅผ ์ฌ์ฉํ ์ค์ ๋ณํ ์ฌ๋ก๋ฅผ ๋จ๊ณ๋ณ๋ก ์ค๋ช ํฉ๋๋ค.
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) ํ๊ฒฝ์์ NULL ๊ฐ์ ์ฌ์ฉ์ ์ค๊ณ์ ๊ฒฐํจ์ด๋ฉฐ, ๊ฐ๋ฅํ ํ ํผํด์ผ ํ๊ณ , ์ฝ๋์ ๊ฐ๋ ์ฑ, ์์ ์ฑ, ์ ์ง๋ณด์์ฑ ๋ชจ๋๋ฅผ ํด์น๋ค๊ณ ๋ณด๊ณ , ๋์์ผ๋ก Null Object ํจํด ํน์ ์์ธ(Exception) ๋์ง๊ธฐ ๋ฐฉ์์ ์ ์ํฉ๋๋ค.
์ ์ ๋ฉ์๋๋ง ๋ชจ์๋ ์ ํธ๋ฆฌํฐ ํด๋์ค๊ฐ ๊ฐ์ฒด์งํฅ์ ๋ง์ง ์๋ ์ด์ ๋ฅผ ์ง๊ณ , OOP ๊ด์ ์์ ์ ํธ๋ฆฌํฐ ํด๋์ค๋ฅผ ์ฌ๋ฐ๋ฅธ ๊ฐ์ฒด๋ก ๋์ฒดํ๋ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค.
Square์ CEO Jack Dorsey๊ฐ Medium์ ์ฌ๋ฆฐ ๊ธ์ ๋ฐํ์ผ๋ก, ํ์ธ์ ๊ถ์๋ฅผ ๋น๋ ค ์๊ฒฌ์ ์ค๋ํ๋ ค ํ ๋ ์คํ๋ ค ๊ถ์์ ์๊ฒฌ์ ๊ฐ์น๊ฐ ํจ๊ป ๋จ์ด์ง๋ ์ด์ ๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
์ฌ์ด๋ ํ๋ก์ ํธ๋ ๊ฐ๋ฐ์์ ์ฐฝ์์ฑยท๋๊ธฐ๋ถ์ฌยท๊ธฐ์ ์ฑ์ฅ์ ์ด๋๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค. ์ฑ๊ณต ์ฌ๋ก์ John Resig์ ์ฝ๋ฉ ์ต๊ดํ ๊ฒฝํ์ ํตํด ๊ทธ ๊ฐ์น๋ฅผ ์ดํด๋ด ๋๋ค.
์๋ก์ด ๊ฐ๋ฐ์๋ผ๋ฉด ๊ณผ๋ํ ๋ณํ ์ ์์ผ๋ก ์์ ์ ๊ฐ์น๋ฅผ ๋๋ฌ๋ด๊ธฐ๋ณด๋ค ํ์ฌ ์์คํ ์ ์ดํดํ๊ณ ๊ฐ์ ๊ฐ๋ฅํ ๋ถ๋ถ์ ํ๋ ฅ์ ์ผ๋ก ์ฐพ์ ๋๊ฐ๋ ํ๋๊ฐ ๋ ์ฅ๊ธฐ์ ์ผ๋ก ๊ธ์ ์ ์ด๋ค.
๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ๋งน๋ชฉ์ ์ผ๋ก ๋ฐ๋ฅด๊ธฐ๋ณด๋ค ํ ๊ตฌ์ฑ์์ ํน์ฑ๊ณผ ์ปค๋ฎค๋์ผ์ด์ ์ด ํ๋ก์ ํธ ์ฑ๊ณต์ ํต์ฌ์์ ์ฌ๋ก์ ๋ ผ๋ฌธ์ ํตํด ์ดํด๋ด ๋๋ค.
Teamwork, ๊ธฐ์ ๋น์ , ์ปค๋ฎค๋์ผ์ด์ ๋ฑ 8๊ฐ์ง ๊ธฐ์ค์ผ๋ก ์ข์ ๊ธฐ์ ๋ฆฌ๋์ ๋์ ๊ธฐ์ ๋ฆฌ๋์ ์ฐจ์ด๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ๋น๊ต ์ ๋ฆฌํฉ๋๋ค.