https://www.youtube.com/watch?v=RntfkL8lUY4
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ค๋ ๋ฃจ์ด์ค ํํด๋์ ํจ๊ปํฉ๋๋ค. ๋ฃจ์ด์ค, ์ ์ง๋ด์์ฃ ?
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋๋ถ์ ์ ์ง๋ ๋๋ค. ์ด๋ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ง๋์ ๋ฐ๊ฐ์์. ํฌ๋ฐ๋ฏน ์ด์ , ๊ทธ๋ฌ๋๊น ๊ทธ ์ฌ๊ฑด ์ดํ๋ก ์ง์ ๋ง๋ ์ ์ด ์๋ค์.
๋ฃจ์ด์ค ํํด๋: ๋ง์์, ๊ทธ ์ฌ๊ฑด ์ดํ๋ก์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ด๋ฆ์กฐ์ฐจ ์ธ๊ธํ๊ธฐ ์ซ์ ๊ทธ ์ฌ๊ฑด ๋ง์ด์ฃ . ๊ณ์ ๋ง์ฃผ์น ๋ปํ์ง๋ง, ์ง๊ธ์ ์จ๋ผ์ธ์ผ๋ก๋ง ๋ง๋๊ฒ ๋๋ค์. ๋ฐ๋์ด ๊ทธ๋ ๊ฒ ํฐ ๋์๋ ์๋๋ฐ ๋ง์ด์ฃ .
๋ฃจ์ด์ค ํํด๋: ์จ๋ผ์ธ์ผ๋ก๋ ์ถฉ๋ถํด์. ๊ฐ์ ๋์์ ์ด๊ณ ๋น์ทํ ๊ด์ฌ์ฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด, ๊ธฐ์ ํ์ฌ ๊ฐ์ ๊ณณ์์ ๋ง์ฃผ์ณค์ ํ ๋ฐ ๋ง์ด์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ธ์ ๊ฐ ๋ค์ ๋ง๋๊ฒ ๋๊ฒ ์ฃ . ๊ทธ๋์ ์ ๋ ๋น๋ฐ ์ถ์ ๋๊ตด์์ ๋น์ ์ ์ง์ผ๋ณด๊ณ ์์์ต๋๋ค.
๋ฃจ์ด์ค ํํด๋: ์ผ์ค์คํ๋ค์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ง๋๋๋ผ ๋ฐ์์ จ์ฃ ?
๋ฃจ์ด์ค ํํด๋: ๋ค, ์ทจ๋ฏธ ํ๋ก์ ํธ๋ก ์์ํ๋๋ฐ, ์ผ์ฒ๋ผ ์ปค์ ธ๋ฒ๋ ธ์ด์. ์ด์ ๋ ์ํํ ์ ๋๋ก ์ ์ฉํด์ก์ฃ . ๊ฝค ๋ฉ์ง์ง ์๋์?
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ ๋ถ๋ถ์ ๋ํด ์์ธํ ์์๋ณด๊ณ ์ถ์ง๋ง, ๋จผ์ ํ๋ ์์ ์ค์ ํด์ผ ํ ๊ฒ ๊ฐ์์. ๋น์ ์ ์ธ์ด๋ Gleam์ด๋ผ๊ณ ๋ถ๋ฆฌ์ฃ ?
๋ฃจ์ด์ค ํํด๋: ๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: Gleam์ ๋ฌด์์ด๋ฉฐ, ์ ์๋ก์ด ์ธ์ด๊ฐ ํ์ํ๊ฐ์?
๋ฃจ์ด์ค ํํด๋: ์ ๋ ํญ์ ์ธ์ด์ ๋ํ ๋ถ๋ง์ด ์กฐ๊ธ์ฉ ์์์ด์. ์ธ์ด๋ฅผ ์ข์ํด์ ๋งค๋ ํ๋ ๊ฐ์ฉ ์๋ก์ด ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๋ ค๊ณ ๋ ธ๋ ฅํ์ฃ . ๊ทธ๋ฌ๋ค๊ฐ ๋ชจ๋ ์ธ์ด์ ์ง์ฆ์ด ๋๋ ์ง์ ์ ๋๋ฌํ์ด์. Elm์ ์์ฑํ ๋๋ Haskell์ ์์ฑํ๊ณ ์ถ์๊ณ , Haskell์ ์์ฑํ ๋๋ Erlang์ ์์ฑํ๊ณ ์ถ์์ฃ . Erlang์ ์์ฑํ ๋๋ Rust๋ฅผ ์์ฑํ๊ณ ์ถ์์ด์. ๋ง์น ์ ๊ธฐ์ ์กฐ๊ธ, ์ฌ๊ธฐ์ ์กฐ๊ธ์ฉ ๊ฐ์ ธ์์ ํฉ์น๊ณ ์ถ์ ๋๋์ด์์ฃ . ๊ทธ๋์ "์ข์ํ๋ ๋ถ๋ถ๋ง ๋ชจ์์ ์๋ก์ด ๊ฒ์ ๋ง๋ค๋ฉด ์ด๋จ๊น?"๋ผ๋ ์๊ฐ์ ํ๊ฒ ๋์์ด์. ๊ณผ์ฐ ์กฐํ๋กญ๊ณ ๋ฉ์ง ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค ์ ์์๊น์? ์๋๋ฉด ๊ทธ๋ฅ ์๋ก ์ด์ธ๋ฆฌ์ง ์๋ ์ข ๊ณผ ํํ๋์ ๋์ฐํ ํผํฉ๋ฌผ์ด ๋ ๊น์?
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ ์ง๋ฌธ์ ๋์ง๊ณ ๋์ฐํ ๊ฒฐ๊ณผ๋ฌผ์ ๋ด๋์ ์ธ์ด๋ค์ ๋ช ๊ฐ ์๊ณ ์์ต๋๋ค. ๋น์ ์ ๋ต๋ณ์ ์ด๋ค๊ฐ์?
๋ฃจ์ด์ค ํํด๋: ์ข์์. ๊น๋ค๋ก์ด ๋ฌธ์ ์ฃ . Lua์ Go์์ ๋ง์ ์๊ฐ์ ์ป์์ด์. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ์ฌ๋์ผ๋ก์, ์ด๋ป๊ฒ ์ค๋ช ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง, Lua์ฒ๋ผ ๋งค์ฐ ๊ฐ๋จํ ์ ์ฐจ์ ์ธ์ด๋ผ๋ ์๋ฏธ๋ ์๋์์. ์ธ์ด์ ํ๋ฉด์ ์ ๋งค์ฐ ์๊ฒ ๋ง๋ค๊ณ , Go๋ณด๋ค ํจ์ฌ ๋ ์ผ๊ด์ฑ ์๊ฒ ๋ง๋ค๋ ค๊ณ ๋ ธ๋ ฅํ์ด์. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ๋ค์ํ ์ ํ์ ์ธ์ด์์ ์ ๋ง ๊ฐ์น ์๋ ๊ฒ๋ค์ด ๋ฌด์์ธ์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ๋ค์ ์ต์ํ์ผ๋ก ๊ฐ์ ธ์์ ์ต๋ํ ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ธ์ง ๊ณ ๋ฏผํ์ฃ . ๋ง์ ์ฌ๋๋ค์ด ์ธ์ด๋ฅผ ๋ง๋ค ๋ ์ ํํ๋ ๋ฐฉ์์ ์๋๋ผ๊ณ ์๊ฐํด์. ๋ ๋ง์ ๊ฒ์ ์ถ๊ฐํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ ๋ ๋ ์ ๊ฒ ๊ฐ์ง๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ด์. ๋ช ๋ ์ด ์ง๋ ์ง๊ธ, ๋ง์ ์ฌ๋๋ค์๊ฒ ๊ณต๊ฐ์ ์ป๊ณ ์๋ ๊ฒ ๊ฐ์์. ๊ทธ๋์ ๊ฝค ๋ง์กฑ์ค๋ฝ์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ฉ์ง๋ค์. ๊ทธ๋ผ ์ธ์ด์ ๋ทํ์์ ์ด๋ค ๊ฒ๋ค์ ๊ณจ๋๋์ง ๋ง์ํด ์ฃผ์๊ฒ ์ด์?
๋ฃจ์ด์ค ํํด๋: Elm ์คํ์ผ์ ๊ฐ๋จํ ํจ์ํ ์ธ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ๋น์ ๋ ๊ณผ๊ฑฐ์ Elm ํฌ์ด์์ฃ ?
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, Elm ํฌ์ ๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๊ทธ๋์ ์ธ์ด์ ๊ธฐ๋ฅ์ด ๊ฝค ์ ๊ณ , ์ผ๋ฐ์ ์ผ๋ก ํจ์๋ ๊ฐ์ ์ ๋ ฅ๋ฐ์ ๊ฐ์ ๋ฐํํ๋ฉฐ, ๋๋จธ์ง๋ ๋ฌด์ํ๋ค๊ณ ๋งํ์ฃ . ๊ทธ๊ฒ์ด ํ์ํ ์ ๋ถ์ ๋๋ค. ํ์ง๋ง Elm๊ณผ ๊ฐ์ ๊ตฌ๋ฌธ ๋์ , ์ฒ์์๋ ๊ทธ๋ฐ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ง๋ง, JavaScript ํ๋ก๊ทธ๋๋จธ๋ C ํ๋ก๊ทธ๋๋จธ์๊ฒ ํจ์ฌ ๋ ์น์ํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๊ฒ ๋์์ด์. ์ค๊ดํธ ๊ฐ์ ๊ฒ๋ค ๋ง์ด์ฃ . ์ฒ์์๋ "๊ทธ๊ฒ ๋ฌด์จ ์๋ฏธ๊ฐ ์์๊น? ๊ตฌ๋ฌธ์ ์ค์ํ์ง ์์."๋ผ๊ณ ์๊ฐํ์ด์. ๊ทธ๋ฐ๋ฐ ๊ตฌ๋ฌธ์ ๋ฐ๊พธ์ ๊ฐ์๊ธฐ ๋ชจ๋๊ฐ "์ด ์ธ์ด๋ ํ๋ฅญํด!"๋ผ๊ณ ๋งํ๊ธฐ ์์ํ์ฃ . ์๋ฌด๊ฒ๋ ๋ฐ๋ ๊ฒ ์๋๋ฐ ๋ง์ด์์. ๊ทธ๋์ ์ ๊ฐ ํ๋ ธ๋ค๋ ๊ฑธ ์์์ฃ . ๊ตฌ๋ฌธ์ ์ ๋ง ์ค์ํฉ๋๋ค. ์์ ๊ตฌ๋ฌธ์ด ๊ทธ๋ฆฝ์ง๋ง, ์ฌ๋๋ค์ ์ ๊ตฌ๋ฌธ์ ์ ๋ง ์ข์ํด์. ๊ทธ๋์ ๊ฝค ๋ง์กฑ์ค๋ฝ์ต๋๋ค.
๊ฐ์ฅ ํฐ ์ฅ์ ์ค ํ๋๋ Erlang ๊ฐ์ ๋จธ์ ์ธ Beam์์ ์คํ๋๋ค๋ ๊ฒ์ ๋๋ค. ์ฒ์๋ถํฐ ํจ์ํ ์ธ์ด๋ฅผ ์ํด ์ค๊ณ๋ ๊ฐ์ ๋จธ์ ์ด๋ผ๋ ์ ์ด ํน์ดํ์ฃ . ๊ทธ๋ฆฌ๊ณ ๋ง์ ํจ์ํ ์ธ์ด๋ค์ด ์ฐ๊ตฌ ํ๋ก์ ํธ์ธ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, Beam์ ์ฐ์ ์ ์ํด ๋ง๋ค์ด์ก์ด์. Ericsson์ ์ ํ ๊ตํ๊ธฐ๋ฅผ ์ํด ๋ง๋ค์ด์ก์ฃ . ๊ทธ๋์ ๋งค์ฐ ์์ ์ ์ธ ์์คํ ์ ์คํํ๊ณ ์ ์ง ๊ด๋ฆฌํ๊ณ ๋๋ฒ๊น ํ๋ ๋ฐ ์ ๋ง ์ ์ฉํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ํฅ๋ฏธ๋กญ๋ค์. ์ ๊ฐ Beam์ ๋ํด ์๋ ๊ฒ์ Apache Beam์ด ์๋๋ผ Erlang Beam์ด๋ผ๋ ๊ฒ๊ณผ ์์ ์ฑ์ ๋ํ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ ๋ช ํ๋ค๋ ๊ฒ์ ๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์. Gleam์ ํ์ดํ์ ์ ํธํ๋ ์ฌ๋๋ค๊ณผ Erlang์ ์ ํธํ๋ ์ฌ๋๋ค ์ฌ์ด์์ ์ค๋ฅ ์ฒ๋ฆฌ์ ๋ํ ๋ ผ์์ ํด๊ฒฐํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. Elm์์๋ ํ๋ก๊ทธ๋จ์์ ์ ํจํ์ง ์์ ์ํ๋ฅผ ํํํ ์ ์๋๋ก ๋ง๋๋ ๊ฒ์ด์ฃ . ์ ๋ง ํ์์ ์ธ ๋ฐฉ๋ฒ์ด์ง๋ง, Erlang์ ์ ํธํ๋ ์ฌ๋๋ค์ "๋ง๋ ์ ๋ผ! ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฉ๋ชจ๋ฆฌ ์์์ ์ด๋ป๊ฒ ๋ง์ ์ ์์ง? ์ ํ์ ๊ธฐ๋ฅ์ ์ค์น๋ ์ปดํจํฐ ํด๋ฌ์คํฐ์ ๋ฒผ๋ฝ์ด ๋จ์ด์ง๋ฉด ์ด๋ป๊ฒ ๋ ๊น?"๋ผ๊ณ ๋งํฉ๋๋ค. ํ์ ์ผ๋ก๋ ๊ทธ๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ์ฃ . ํ์ ์ผ๋ก๋ ํด๊ฒฐํ ์ ์์ฃ .
๋ฃจ์ด์ค ํํด๋: ๊ทธ๋์ ์ค์ํ ๊ฒ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ผ๋ ์ฌ์ค์ ๋ฐ์๋ค์ด๋ ๊ฒ์ ๋๋ค. ์ ์ฒด ์์คํ ์ด ์ด๋ค ๊ทน์ ์ธ ๋ฐฉ์์ผ๋ก๋ ํญ๋ฐํ ์ ์๋ค๋ ๊ฒ์ ์ธ์ ํ๊ณ , ๊ทธ ์ํฉ์์๋ ์ด์๋จ์ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค. "๊ป๋ค ์ผ๋ดค์ด์?"๋ผ๋ ๋ง์ฒ๋ผ ์์คํ ์ ์์ ๊ฒฉ๋ฒฝ์ผ๋ก ๋๋์ด์, ํ ์๋ธ์์คํ ์์ ๋ชจ๋ ๊ฒ์ด ์๋ชป๋๋ฉด ํด๋น ์๋ธ์์คํ ๋ง ๋ค์ ์์ํ๋ ๋ฐฉ์์ ๋๋ค. ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋์? ์๋์. ๊ทธ๋ผ ํ ๋จ๊ณ ๋ ๋์๊ฐ์ ํด๋น ์์คํ ์ ์์๋ ์ํ๋ฅผ ๋ฒ๋ฆฌ๊ณ ์ฒ์ฒํ, ์ ์ง์ ์ผ๋ก ์์๋ฅผ ์ ๊ฑฐํด ๋ณด๋ ๊ฑด ์ด๋จ๊น์?
Beam๊ณผ Kubernetes ์ฌ์ด์ ์ ์ฌ์ ์ด ์๋ค๊ณ ์๊ฐํ ์ ์์ต๋๋ค. Go๋ก ์์ฑ๋ ์น ์๋น์ค ๋ฐฐํฌ๊ฐ ์๊ณ , ํด๋น ์๋น์ค์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด VM, ์๋, VM์ด ์๋๋ผ ์ธ์คํด์ค๊ฐ ๋ค์ด๋๊ณ Kubernetes๊ฐ ๋ค์ ์์ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ ์ ์ํ๊ฐ ๋๊ณ ์งํ ์ค์ธ ์์ ์ ์์ค๋์ง๋ง, ์์คํ ์ ์ ์์ ์ผ๋ก ์๋ํ ๊ฒ์ ๋๋ค. ์ ๋ง ๋ฉ์ง ๋ฐฉ๋ฒ์ด์ง๋ง, Go ํ๋ก๊ทธ๋จ์ ๋จ์ผ ์ธ์คํด์ค๋ ์๋ง๋ ๋์์ ์๋ฐฑ ๋๋ ์์ฒ ๊ฐ์ ์์ ์ ์คํํ๊ณ ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ ์ฒด ์ธ์คํด์ค๋ฅผ ์๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค. ๊ทธ๋์ ์ ์ฒด ํจํด์ ์ ์งํ๋ฉด์ ๋ฐ์ดํฐ ์ผํฐ ์์ค์ด ์๋๋ผ ํ๋ก๊ทธ๋จ ์์ค์์ ๋จ์ผ VM ์ธ์คํด์ค๊ฐ ์ค์ ๋ก ์๋ฐฑ, ์์ฒ, ์๋ฐฑ๋ง ๊ฐ์ ์ค๋ ๋๋ฅผ ์คํํ๋๋ก ํ๋ค๋ฉด ์ด๋จ๊น์? ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ณ ์ค๋ ๋ ์์ค์์ ์ ์ง์ ์ธ ์ํ ํ๊ธฐ๋ฅผ ์ํํ ์ ์๋ค๋ฉด, ์๋ง๋ ์น ์์ฒญ ํ๋๋ง ์๊ฒ ๋ ๊ฒ์ ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค๋ฅธ ์ธ์ด์์๋ try-catch ๊ฐ์ ๊ฒ์ ์ฌ์ฉํด์ ์ด๋ฐ ์ข ๋ฅ์ ์์ ์ ํ ์ ์์ง๋ง, Beam์ ํจ์ฌ ๋ ์ธ๋ฐํ๊ณ ์ ๊ตํ ๋ฐฉ์์ผ๋ก ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๋ค, ํจ์ฌ ๋ ์ธ๋ฐํ๊ณ ์ ๊ตํ ๋ฐฉ์์ผ๋ก ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์ด ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ํ์ฌ๋ค์ 99.999%์ ์์ ์ฑ์ ์ฃผ์ฅํ ์ ๋๋ก ๋งค์ฐ ์์ ์ ์ธ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ๊ทธ ์ฃผ์ฅ์ ์ ์ฆํ๋ ๊ฒ์ ๋ณธ ์ ์ ์์ง๋ง, ๊ทธ๋ค์ด ๊ทธ๋ฐ ์ฃผ์ฅ์ ํ ์ ์๊ณ ์ฌ๋๋ค์ด "์ด์ฉ๋ฉด ๊ทธ๋ด ์๋ ์๊ฒ ๋ค"๋ผ๊ณ ์๊ฐํ๋ค๋ ์ฌ์ค์ Beam์ด ์ผ๋ง๋ ํ๋ฅญํ์ง ๋ณด์ฌ์ฃผ๋ ์ฆ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ง์์. ๊ทธ๋ด๋ฏํ๋ค๋ ์ฌ์ค ์์ฒด๊ฐ Beam์ด ์ ๋ง ํ๋ฅญํ๋ค๋ ๊ฒ์ ์๋ฏธํ์ฃ . ๊ทธ๋ฆฌ๊ณ ๊ณต๊ฒฉ์ ์ธ ํ๋ก๊ทธ๋๋ฐ๋ ๊ฐ๋ฅํฉ๋๋ค. ์ค๋ฅ๋ฅผ ์ ํ ํ์ธํ์ง ์๊ณ ๋ชจ๋ ๊ฒ์ด ์ฑ๊ณตํ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ๋ ๊ฒ์ ๋๋ค. ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋น์ฆ๋์ค ๋ก์ง์ ์ค๋ฅ ์ฒ๋ฆฌ ๋ก์ง์ ์์ฑํ ํ์๊ฐ ์์ฃ . ๋น๋ก์ปฌ ์ค๋ฅ ์ฒ๋ฆฌ๋ผ๊ณ ๋ถ๋ฅด๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๊ทธ๋ฐ ๋ฐฉ์์ด์ฃ . ์ด๋ค ํ์ฌ๋ ์์คํ ์ด 100ํ๋ ์๋ง๋ค ์ถฉ๋ํ๋ ๋ฒ๊ทธ๊ฐ ์์๋๋ฐ, 8๊ฐ์ ๋์ ๋์น์ฑ์ง ๋ชปํ๋ค๊ณ ํฉ๋๋ค. ์์คํ ์ด ๋๋ฌด ์ ์๋ํด์ ์๋ฌด๋ฐ ๋ฌธ์ ๋ ๋๋ผ์ง ๋ชปํ๋ ๊ฑฐ์ฃ . 100ํ๋ ์๋ง๋ค ์ถฉ๋ํ๊ณ ์์คํ ์ด ๋ค์ ์์๋๋ฉด ์์ ์๋ธ์์คํ ๋ง ๋ค์ ์์๋๊ณ ๋๋จธ์ง๋ ๊ณ์ ์๋ํ๋ ๊ฒ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ฌ๋๊น 100ํ๋ ์๋ง๋ค ๋ค์ ์์๋๊ณ , ๊ทธ ํ๋ ์๋ง ๋ค์ ์๋ํ๋ ๊ฑฐ๊ตฐ์. ๊ทธ๋ค์ ๊ทธ ์ฌ์ค์ ๋ชฐ๋๋ ๊ฑฐ๊ณ ์. ๋ชจ๋ํฐ๋ง์ ๊ฐ์ ํด์ผ ํ ๊ฒ ๊ฐ๋ค์. ํ์ง๋ง ํ๋ก๋์ ํ๊ฒฝ์์ ์์คํ ์ ์คํํ ๋ ์ฌ์ฉ์๋ฅผ ์ํด ๊ณ์ ์๋ํ๋๋ก ํ๊ณ ์ถ์ง๋ง, ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ๋๋ฌด ์คํธ๋ ์ค๋ฅผ ๋ฐ๊ณ ์ถ์ง๋ ์์ ๊ฒ์ ๋๋ค. ์๋ฒฝ 3์์ ์ ํ๋ก "๋น์ฅ ๊ณ ์ณ์ผ ํด!"๋ผ๊ณ ์๋ฆฌ์น๋ ์ฌ๋๋ค ๋๋ฌธ์ ๊นจ๊ณ ์ถ์ง๋ ์์ ํ ๋๊น์. ์ต๋ํ ์คํธ๋ ์ค๋ฅผ ๋ ๋ฐ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๋ง์์. ์ฒ์๋ถํฐ ๋ชจ๋ํฐ๋ง, ๋๋ฒ๊น , ์ค๋ฅ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ด ๋ด์ฅ๋์ด ์๋ค๋ ์ ์ด Beam์ ๋งค๋ ฅ์ ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ์ ๋ Beam ํ๋ซํผ ๋๋ฌธ์ Erlang์ ์ดํด๋ณธ ์ ์ด ์์ต๋๋ค. Erlang์ ์ ๋ง ์ด์ํด์. Lisp์ Haskell ํ๋ก๊ทธ๋๋จธ๋ก์ ํ๋ ๋ง์ ๋๋ค. Erlang์ ์ ๋ง ์ด์ํ์ฃ . ๊ทธ๋์ ๋งค๋ฒ Erlang์ ํฌ๊ธฐํ๊ฒ ๋ฉ๋๋ค.
๋ฃจ์ด์ค ํํด๋: Erlang ๋ฐํ์์ ์ค์ ์๊ตฌ ์ฌํญ์์ ๋น๋กฏ๋ ๋๋ผ์ด ์์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ์์ค๋ฌ์ด ์ค๋ ๋, ํ์์ค๋ฌ์ด ๊ทธ๋ฆฐ ์ค๋ ๋๊ฐ ์ค์ผ์ค๋ฌ๋ฅผ ์ฐจ๋จํ๊ณ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์๋๋ก ํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ๋ฌดํ ๋ฃจํ๊ฐ ์์ด๋ ๋ชจ๋ ๊ฒ์ด ๊ณ์ ์คํ๋ฉ๋๋ค. ๊ด์ฐฎ์์. ๋๊ตฐ๊ฐ ์๋ชป๋ ์ ๊ท์์ ์ ๋ ฅํด๋ ์ค์ผ์ค๋ฌ๊ฐ ์ฐจ๋จ๋์ง ์๋๋ก ํด์ผ ํฉ๋๋ค. ๋ฌด์ธ๊ฐ๊ฐ ์ถฉ๋ํด๋ ์์คํ ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ํด์ผ ํฉ๋๋ค. Erlang์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ชจ๋ ํด๊ฒฐํ์ต๋๋ค. ๋๋์ฃ . ํ์ง๋ง ์ธ์ด ์์ฒด๋, ์ ๋ Erlang์ ์ข์ํ์ง๋ง, ์ ๋ง ๋์ฐํด ๋ณด์ ๋๋ค. ๋ณด๊ธฐ๋ ์ ์ข๊ณ , ์ฌ๋ฌ๋ชจ๋ก ๋ถํธํ๊ณ , ๋๊ตฌ๋ ์ด์ํด์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์๊น ๋ณต์ตํ๋ฉด์ ์ดํด๋ดค๋๋ฐ, ๋ชจ๋์์ ํจ์๋ฅผ ๋ด๋ณด๋ด๋ ค๋ฉด ํจ์ ์ด๋ฆ ๋ค์ ์ธ์ ๊ฐ์๋ฅผ ์ฌ๋์๋ก ๊ตฌ๋ถํด์ ์จ์ผ ํ๋ค๋ ๊ฒ์ ์๊ณ ์์์ด์.
๋ฃจ์ด์ค ํํด๋: ๋ค, my_start/1
์ฒ๋ผ ๋ง์ด์ฃ . ํจ์๋ ์ด๋ฆ๋ฟ๋ง ์๋๋ผ ์ธ์ ๊ฐ์๋ก๋ ๊ณ ์ ํ๊ฒ ๊ตฌ๋ถ๋๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ทธ๋์ main/0
, main/1
, main/2
, main/3
์ ๋ชจ๋ ๋ณ๊ฐ์ ํจ์์
๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ปดํจํฐ๊ฐ ์์์ ์ฒ๋ฆฌํด ์ค ์ ์๋ ๋ถ๋ถ์ธ ๊ฒ ๊ฐ์์.
๋ฃจ์ด์ค ํํด๋: ๋ง์์. Gleam์ ๊ทธ๋ ๊ฒ ์ฒ๋ฆฌํ์ง๋ง, ์ง์ ์ ์ดํ ์ ์๋ค๋ฉด ์ค์ ๋ก ๋ ๋ง์ ๊ฒ์ ํ ์ ์์ต๋๋ค. ์ค์ ๋ก ๋ ๊ฐ๋ ฅํ์ฃ . 1๊ฐ, 2๊ฐ, 3๊ฐ ์ค ์ด๋ค ๊ฒ์ ์ฐธ์กฐํ ์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋น์ ์ด ๊ทธ๋ฐ ๊ฑด๊ฐ์?
๋ฃจ์ด์ค ํํด๋: ์ ๋ชจ๋ฅด๊ฒ ์ด์. Erlang์์๋ ๊ทธ ๊ธฐ๋ฅ์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. ์ด๋ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ , ์ต์ํด์ง๋ฉด ์ฉ๋๋ฅผ ์ฐพ๊ฒ ๋์ฃ . ์ ๋ Rust์ Elm ๊ฐ์ ์ธ์ด๋ฅผ ์ข์ํ์ง๋ง, ๋ค์ ์๊ฐํด ๋ณด๋ ๊ทธ ๊ธฐ๋ฅ์ด ๊ทธ๋ ๊ฒ ๋ง์์ ๋๋ ๊ฒ์ ์๋ ๊ฒ ๊ฐ์์. Erlang๊ณผ Elixir๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ Gleam์ ์ฌ์ฉํ ๋ ๊ทธ ๊ธฐ๋ฅ์ด ์๋ค๊ณ ๋ถํํฉ๋๋ค. ์ด๋ ์ชฝ์ด๋ ๋นํ์ ๋ฐ๊ฒ ๋๋ ๊ฑฐ์ฃ . Gleam์ ๋ชฉํ ์ค ํ๋๋ Erlang์์ ์ป์ ์ ์๋ ๋ฉ์ง ๊ฒ๋ค์ ์ฐ๋ฆฌ์๊ฒ ๋ ๋ฏ์ค๊ฒ ๋ง๋๋ ๊ฒ์ ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์. ์ฌ๋๋ค์ด ๊ฒฌ๋ ์ ์๋ ๋ฏ์ฆ์๋ ํ๊ณ๊ฐ ์์ผ๋๊น์. ๋๊ตฐ๊ฐ ์ํผ ๋์์ฑ, ๋ด๊ฒฐํจ์ฑ ๋ฐํ์์ ๋ํ ๋ฉ์ง ์ด์ผ๊ธฐ๋ฅผ ๋ฃ๊ณ Erlang์ ๊ด์ฌ์ ๊ฐ์ก๋ค๊ฐ ๊ฐ์๊ธฐ Erlang์ ์ ํ๊ฒ ๋๋ฉด "์ด๊ฑด ๋๋ฌด ์ด์ํด. ๋ฏ์ฆ์ด ํธ๊ธฐ์ฌ๋ณด๋ค ํฌ๋ค. ๋ค๋ฅธ ์ธ์ด๋ฅผ ์์๋ด์ผ๊ฒ ๋ค"๋ผ๊ณ ์๊ฐํ ์๋ ์์ต๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๊ทธ๋์ ํจ์ฌ ๋ ํ๋ฒํด ๋ณด์ด๋ ์ธ์ด๋ฅผ ์ํ์ด์. ์ด๋ค ๋ฉด์์๋ ๋ ๋์ ์๋ ์์ง๋ง, ๋ ๋ง์ ์ฌ๋๋ค์ด ์ฌ์ฉํ ์ ์๋ค๋ฉด ๊ทธ๊ฑธ๋ก ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ํญ์ ์ฅ๋จ์ ์ด ์์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ ๊ทผ์ฑ์ด๋ผ๋ ๋จ์ด๋ฅผ ์ฌ์ฉํฉ์๋ค. ํจ์ฌ ๋ ์ข์ ๋ณด์ด๋๊น์. ๋ฏ์ฆ ๋์ ์ ๊ทผ์ฑ.
๋ฃจ์ด์ค ํํด๋: ๋ฏ์ฆ ๋์ ์ ๊ทผ์ฑ. ๋ค, ๋ง์์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ํ๋ฒ์ ์ปจํผ๋ฐ์ค๊ฐ ๋๋๊ณ ๋งฅ์ฃผ๋ฅผ ๋ช ์ ๋ง์๊ณ ์ฉ๊ธฐ๊ฐ ์๊ฒจ์ Erlang ๊ฐ๋ฐ์์๊ฒ "์ ์ด๋ ๊ฒ ์๊ฒผ์ด์?"๋ผ๊ณ ๋ฌผ์ด๋ณธ ์ ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋๋ "์คํ์์คํ๊ธฐ ์ ์ ๋ดค์ด์ผ ํ๋๋ฐ. ํจ์ฌ ๋ ๋์ฐํ์ด์."๋ผ๊ณ ๋๋ตํ๋๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ์์๋ ์ ๊ฐ๋ค์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์กฐ ์์คํธ๋กฑ์ด์์ฃ ?
๋ฃจ์ด์ค ํํด๋: ์ ๋ ๋ฒ ๋ฅด๋ฉ์๊ฒ ๋ฌผ์ด๋ดค์ง๋ง, ๋ง์์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ข์ํ๋ ์ธ์ด์ ๊ธฐ๋ฅ์ ๋ชจ์ผ๊ณ ์์ ๋, ์ฒ์๋ถํฐ Erlang๊ณผ ๊ฒฝ์ํ๊ฑฐ๋ ๋์ฒดํ๊ฑฐ๋ ๋์์ ์ ์ํ๊ณ ์ถ์๋์? Beam์์ ๋ง์ด์ฃ .
๋ฃจ์ด์ค ํํด๋: ์ ๋ ์ค๋ซ๋์ Beam ์ฌ์ฉ์์์ต๋๋ค. Elixir๋ฅผ ํตํด Beam์ ์ ํ๊ณ , ์ผ๋ง ์ง๋์ง ์์ Erlang๋ ์์ฑํ๊ฒ ๋์์ฃ . ๋ ์ธ์ด ๋ชจ๋ ๊ฝค ์ข์ํ์ต๋๋ค. Beam์ ๋ง์ด ์ฌ์ฉ๋์ง ์๋ ๋ฐํ์์ด์๊ณ , ์ ๋ Beam์ ์ ๋ง ์ข์ํ๊ธฐ ๋๋ฌธ์ Gleam์ Beam์์ ์คํํ๋ ๊ฒ์ ๋น์ฐํ ์ ํ์ฒ๋ผ ๋ณด์์ต๋๋ค. ์ฌ๋๋ค์๊ฒ ์ ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํ๊ธฐ๋ ์ ์, "์ด ๋ฐํ์์ด ์ ๋ง ๋ง์์ ๋ค์ด. ์๋ฌด๋ ์ฌ์ฉํ์ง ์์ ๋ด ์ด์์ ์ธ ์ทจ๋ฏธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฌ์ฉํ๊ณ ์ถ์ด."๋ผ๊ณ ์๊ฐํ์ฃ .
์ฒ์๋ถํฐ ์ฌ๋๋ค์ ์ํ ์ธ์ด๋ฅผ ์ค๊ณํ๋ค๊ณ ํด๋, ์ง๊ธ์ ๊ทธ๋ ๊ฒ ์๊ฐํ์ง๋ง, ์ฒ์๋ถํฐ ๊ทธ๋ฌ๋ค๊ณ ํด๋ ๊ฐ์ ๊ฒฐ์ ์ ๋ด๋ ธ์ ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ํ์ง๋ง Gleam์ด Erlang๊ณผ ๊ฒฝ์ํ๋ค๊ณ ์๊ฐํ์ง๋ ์์ต๋๋ค. Erlang์ ์ฌ์ฉํ๋ ์ฌ๋๋ค๊ณผ Gleam์ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ์๋ก ๋ค๋ฅธ ์ง๋จ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐํ์์ ๊ด์ฌ์ ์์ง๋ง "์ด์ํ Prolog ํผํฉ ๊ตฌ๋ฌธ์ ๋์ ํ์ดํ์ด๊ณ , Prolog๋ ์๋๊ณ ์ด๊ฒ๋ ์๋๊ณ ์ ๊ฒ๋ ์๋ ์ด์ํ ํจํด์ด ๋ง์์ ๋๋์ ์ ๋ง์. Scala๋ ๋ค๋ฅธ ์ธ์ด๋ฅผ ์จ์ผ๊ฒ ๋ค"๋ผ๊ณ ๋งํ๋ ์ฌ๋๋ค์ด ๋ง์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ "Elixir๋ ์ด์ํ Ruby ๊ตฌ๋ฌธ์ ์ฌ์ฉํด. ์ด์ํ Lisp ๋งคํฌ๋ก๋ ์๊ณ . ๋๋์ ์ ๋ง์. ์ฌ์ฉํ์ง ์์ ๊ฑฐ์ผ."๋ผ๊ณ ๋งํ๋ ์ฌ๋๋ค๋ ๋ง์ต๋๋ค. ์ด ๋ ๊ฐ์ง๋ฅผ ์ข์ํ์ง ์๋ ์ฌ๋๋ค์ C์ฒ๋ผ ์๊ธด ์์ ํจ์ํ ์ธ์ด, Elm ์คํ์ผ์ ํ์ ์์คํ ์ ๊ฐ์ง ์ธ์ด๋ฅผ ์ข์ํ ์๋ ์์ต๋๋ค. ๊ทธ๋์ Erlang๊ณผ Elixir์์ ๋ง์ ์ฌ๋๋ค์ ๋์ด๋ค์ด์ง๋ ๋ชปํ ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์คํ๋ ค Beam ์ปค๋ฎค๋ํฐ ์ ์ฒด์ ์๋ก์ด ์ฌ๋๋ค์ ๋ฐ๋ ค์ฌ ์ ์์ ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ฌ๋๊น Gleam๊ณผ Erlang, Elixir๊ฐ ํจ๊ป ์ฑ์ฅํ๊ธฐ๋ฅผ ๋ฐ๋ผ๋ ๊ฑฐ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๊ทธ๋ ๊ฒ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. Gleam์ Gleam๊ณผ ๋ค๋ฅธ ์ธ์ด ๊ฐ์ ์ํธ ์ด์ฉ์ฑ์ ์ค์ฌ์ผ๋ก ๋ง๋ค์ด์ก์ต๋๋ค. ๊ทธ๋์ ์ฌ๋๋ค์ด Gleam์ผ๋ก ๋ฌด์ธ๊ฐ๋ฅผ ์์ฑํ๋ฉด Erlang๊ณผ Elixir์์๋ ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ฐ๋๋ก Erlang๊ณผ Elixir๋ก ์์ฑ๋ ๊ฒ๋ค์ Gleam์์๋ ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์๋ฐฉํฅ ์ํธ ์ด์ฉ์ฑ์ ์ข ์ข ๊ฐ๊ณผ๋๋ ๋ถ๋ถ์ด์ฃ .
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์. Gleam์ Erlang๊ณผ Elixir์์๋ ์ฌ์ฉํ ์ ์๊ณ , Erlang๊ณผ Elixir์์๋ Gleam ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋๊ตฌ ์ง์์ ์์ง ์ ๊ฐ ์ํ๋ ๋งํผ ์ข์ง๋ ์์ต๋๋ค. Erlang๊ณผ Elixir ์ธก์์ ๋๊ตฌ๋ฅผ ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ๋ฐฉ๋ฒ์ ์์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: Erlang๊ณผ ๊ฒฝ์ํ๊ณ ์ถ์ง ์๋ค๋ ๋ง์์ด๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๋ค, Erlang๊ณผ Elixir์ ๊ฒฝ์ํ๊ณ ์ถ์ง ์์ต๋๋ค. ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ด์๊ณผ ๊ฒฝ์ํด์ผ ํ๊ฒ ์ด์? ํจ๊ป ์ผํ๊ณ ์ถ์ต๋๋ค. ๋ ๋ง์ ์ธ์ด๋ค์ด ๊ทธ๋ ๊ฒ ์๊ฐํ์ผ๋ฉด ์ข๊ฒ ์ด์. Erlang์ ํ๋ซํผ์ ๋ณดํธ์ ์ธ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ์๋ฐฉํฅ์ผ๋ก ์์ ํ๊ธฐ๊ฐ ๊ฝค ์ฝ์ง๋ง, Elixir๋ Erlang ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ณ๋์์ง๋ง, Erlang์์ Elixir ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํจ์ฌ ๋ ๊น๋ค๋กญ๊ณ , ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ๋ ์์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๊ฑด ์ด์ฉ ์ ์๋ ๋ถ๋ถ์ด์ฃ .
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ธ์ ๊ฐ๋ ์ํธ ์ด์ฉ์ฑ์ด ๊ฐ๋ฅํ ์ ๋๋ฒ์ค ์ปดํจํ ์๋๊ฐ ์ฌ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์ทจ๋ฏธ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ง๋ค์ด ๋ณธ ํ๋ก๊ทธ๋๋จธ๋ค์ ๋ช ๋ช ์๊ณ ์๋๋ฐ, ํ๋ก๊ทธ๋๋ฐ์ ์ค๋ ํ๋ค ๋ณด๋ฉด ํ ๋ฒ์ฏค์ ๊ฒช๋ ํต๊ณผ ์๋ก ๊ฐ์ ๊ฑฐ์ฃ . ๊ทธ ๊ณผ์ ์์ ๋ ๊ฐ์ง๋ฅผ ๊นจ๋ฌ์์ต๋๋ค. ์ฒซ์งธ, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ง๋ฒ์ด ์๋๋๋ค. ์์ค ์ฝ๋๋ฅผ ํ๊ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๊ฒ์ ์ค์ ๋ก ๋งค์ฐ ํฅ๋ฏธ๋กญ๊ณ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์ต๋๋ค. ํ์ง๋ง ์ทจ๋ฏธ ํ๋ก์ ํธ์์ ์ค์ ๋ก ํ๋ก๋์ ํ๊ฒฝ์ ์ ์ฉํ ์ ์๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋๋ ๊ณผ์ ์ ์์ฒญ๋ฉ๋๋ค. ๊ทธ ๊ณผ์ ์ ๋ํด ๋ง์ํด ์ฃผ์๊ฒ ์ด์?
๋ฃจ์ด์ค ํํด๋: ์ ์๊ฐ์๋ ๊ทธ๋ฅ ์ ๊ณ ์ง ๋๋ฌธ์ธ ๊ฒ ๊ฐ์์. ๊ธฐ์ ์ ์ ๋ชจ๋ฅด๋ ์ฌ๋๋ค์๊ฒ๋ ์ฐจ๊ณ ์ ๋ชจํ ์ฒ ๋๋ฅผ ๋ง๋๋ ์ฌ๋์ฒ๋ผ ๋ณด์์ ๊ฒ๋๋ค. ์ฌ๋ฌ ์ธต์ผ๋ก ์ด๋ฃจ์ด์ง ๋งค์ฐ ํฌ๊ณ ํ๋ คํ ๋ชจํ ์ฒ ๋, ์ค์ ์ ๋๊ฐ์ ๋ชจํ ์ฒ ๋ ๋ง์ด์ฃ . ๋ณด๋ ์ฌ๋๋ค์ "์ ์ด๋ฐ ์ง์ ํ์ง? ์ ๋ง ๋๋จํ์ง๋ง, ์๊ฐ์ด ์์ฒญ๋๊ฒ ๊ฑธ๋ ธ๊ฒ ๋ค."๋ผ๊ณ ์๊ฐํ ๊ฒ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ๊ทธ๋ ์ฃ .
๋ฃจ์ด์ค ํํด๋: ํ์ง๋ง ์ ๋ ๊ทธ๋ฅ ํธ๊ธฐ์ฌ ๋๋ฌธ์ ์์ํ์ด์. ์ธ์ด๋ฅผ ์ข์ํ๊ณ , ํ๊ณ ๋ค ์ ์๋ ๋ถ๋ถ์ด ๋๋ฌด ๋ง์๊ฑฐ๋ ์. ๊ทธ๋์ ๋ช ๋ ๋์ ํฅ๋ฏธ๋ฅผ ์์ง ์๊ณ ๊ณ์ ์์ ํ ์ ์์์ด์. ์ฒ์ 2๋ ์ ๋๋ ๊ทธ๋ฌ์ฃ . ํ์ง๋ง ์ด ์ข๊ฒ๋ ์ ๋ ์ด๋ฏธ Erlang๊ณผ Elixir ์ธ๊ณ์์ ๊ฝค ์ ๋ช ํ์ต๋๋ค. Elixir๋ฅผ ๊ฝค ์ผ์ฐ ์ ํ๊ณ , Ruby๋ Elm์์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์์ด์ "์ ๋ง ์์ฝ๋ค. ๋ง๋ค์ด ๋ณผ๊น?"๋ผ๊ณ ์๊ฐํ์ฃ . ๊ทธ๋์ linter๋ฅผ ๋ง๋ค์๋๋ฐ, ๋์ค์ ํฌํฌ๋์ด์ ์ง๊ธ์ Elixir ์์คํ ์ ๋ฉ์ธ linter๊ฐ ๋์์ต๋๋ค. ์ ์ง ๊ด๋ฆฌํ ํ์๊ฐ ์์ด์ ์ ๋ง ์ข์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์คํ์์ค๋ก ๊ณต๊ฐํ๊ณ , ์ธ์์ ๋ด๋์ผ๋ฉด ๋์ด์ฃ .
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์. ์ ๊ฐ ๋ง๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ์ข์ง๋ง, ์๋๋ ์ ๊ฒ์ด์์ฃ . ๊ทธ๋ฆฌ๊ณ formatter๋ ๋ง๋ค์์ด์. Elm format์ด ๋๋ฌด ๋ฉ์ ธ์ Elixir์๋ formatter๋ฅผ ๋ง๋ค๊ณ ์ถ์๊ฑฐ๋ ์. ๊ทธ๋์ ๊ณต์ formatter๊ฐ ๋ง๋ค์ด์ง๋ ๋ฐ ์๊ฐ์ ์ฃผ์์ต๋๋ค. ์ด๋ฐ ์ผ๋ค์ ํตํด์ ์ ๋ ์กฐ๊ธ ์๋ ค์ง๊ฒ ๋์์ฃ . ๊ทธ๋ฆฌ๊ณ ์ธ์ด๋ฅผ ๋ง๋ค๊ธฐ ์์ํ์ ๋, ํ์ ์์คํ ๊ฐ์ ์ ํํ๋ ๋จ์ด๋ค์ ๋ง์ด ์ฌ์ฉํ๋๋ ์ฌ๋๋ค์ด "์ค, ํฅ๋ฏธ๋กญ๋ค."๋ผ๊ณ ๋ฐ์ํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๋๋ค์ด ์กฐ๊ธ์ฉ ์ด์ผ๊ธฐํ๊ธฐ ์์ํ์ฃ . ์ ๋ ํญ์ ์คํ์์ค ๊ฐ๋ฐ์ ๊ณ ์งํ๊ธฐ ๋๋ฌธ์, ์ ๊ฐ ํ๋ณดํ์ง ์์๋ ์ฌ๋๋ค์ด ์ ํ๋ก์ ํธ๋ฅผ ๋ณด๊ณ "์ด๊ฒ ์ข ๋ด."๋ผ๊ณ ๋งํ์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค.
๋ฃจ์ด์ค ํํด๋: ๊ทธ๋ฌ๋ฉด์ ์ ๋ ๋ ๋ง์ ๊ฒฉ๋ ค๋ฅผ ๋ฐ์์ต๋๋ค. ์ฌ๋๋ค์ด ์ ์์ ์ ๊ด์ฌ์ ๋ณด์ด๋ฉด ๋ ๋ง์ ๊ฒฉ๋ ค๋ฅผ ๋ฐ๊ณ , ๊ณ์ ์์ ํ๊ณ ์ถ์ ๋ง์์ด ์๊ธฐ์ฃ . ๊ทธ๋ฆฌ๊ณ ์ฒ์ฒํ "์ด์ฉ๋ฉด ์ด๊ฒ, ์ด์ฉ๋ฉด ์ด๊ฒ ๋ช ๋ ๋์ ์์ ํ ๊ฒฐ๊ณผ๋ฌผ์ด ์ฌ๋๋ค์๊ฒ ์ ์ฉํ ์๋ ์๊ฒ ๋ค"๋ผ๊ณ ์๊ฐํ๊ฒ ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ง๊ธ์ ์ฌ๋๋ค์ด Gleam์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ ๋ง ๋๋์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ์ ๋ง ๋๋๋ค์. ๊ทธ ๊ณผ์ ์์ ๋ง์ ๊ฒ์ ํด๋์ ํ ๋ฐ์. ํ์ ์์คํ ์ ์ถ๊ฐํ๋ ๊ฒ๋ง ํด๋ ์์ฒญ๋ ์์ ์ด์ฃ . Beam์ ์ด์ ์ ํ์ ์ธ์ด๋ฅผ ์ง์ํ ์ ์ด ์์์ผ๋๊น์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์. ์ ๋ง ํ๋ค์์ด์. ์ ๋ ํญ์ ํ์ ์ด ์๋ ์ธ์ด๋ฅผ ์ข์ํ์ง๋ง, ํ์ ์์คํ ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ ํ ๋ชฐ๋๊ฑฐ๋ ์. Gleam์ด ์ ๋๊ณ ์๋ ์ด์ ์ค ํ๋๋ ์ ๊ฐ ํ์ ์์คํ ๊ตฌํ ์ด๋ก ์ ๋ํด ํ๋ฌธ์ ์ธ ์ง์์ด ์๋ ์ฌ๋์ด๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ ๋ ์ธ์ด ์ปดํ์ผ๋ฌ ๊ตฌํ์๋ ๋ฐํ์ ๊ตฌํ์๋ผ๊ธฐ๋ณด๋ค๋ ์ธ์ด ์ค๊ณ์์ ๊ฐ๊น์ต๋๋ค. ์ ๋ง ํฅ๋ฏธ๋ก์ด ๋ถ์ผ๋ผ๊ณ ์๊ฐํ์ง๋ง, ์ ๋ ํญ์ ํน์ ๊ธฐ๋ฅ์ ์ํ ๋๋ง ํ์ตํ์ต๋๋ค. ์๋ฅผ ๋ค์ด, "์ธ์ด์ ์ด๋ฐ ๊ธฐ๋ฅ์ด ์์ผ๋ฉด ์ด๋จ๊น?"๋ผ๊ณ ์๊ฐํ๊ณ , ๊ทธ ๊ธฐ๋ฅ์ด ์๋ ๊ฒ์ฒ๋ผ ์ฝ๋๋ฅผ ๋ง์ด ์์ฑํ ๋ค์, ๋จธ๋ฆฟ์์ผ๋ก ์ปดํ์ผํด ๋ณด๋ ๊ฑฐ์ฃ . "์ด๋ ๊ฒ ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น? ์ด๋ป๊ฒ ์๋ํ ๊น? ์ด ํ๋ก๊ทธ๋จ์ ์ด๋ป๊ฒ ์์ฑํ ์ ์์๊น?"๋ผ๊ณ ์๊ฐํ๋ฉด์์. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ณผ์ ์ ๊ณ์ ๋ฐ๋ณตํ์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ฌ๋๊น "์ด ๊ธฐ๋ฅ์ ์ํด. ์ฌ๋๋ค์ ์ด๊ฑธ ํ ์ ์๋ค๋ ๊ฑธ ์์. ์ด๋ป๊ฒ ํด์ผ ํ์ง?"๋ผ๊ณ ์๊ฐํ๊ณ , ์ ์ ํ ์์ค์ ์ดํดํ๊ธฐ ์ฌ์ด ๋ ผ๋ฌธ์ ์ฐพ์์ ์ฐ๊ตฌํ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ์ ๋ง ํ๋ค์์ง๋ง, ์ด์ ๋ ํ์ ์์คํ ์ ๋ํด ์กฐ๊ธ ์๊ฒ ๋์์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ผ ์ด์ ์ํ์ ํฉ๊ฒฉํ ์ ์๊ฒ ๋ค์?
๋ฃจ์ด์ค ํํด๋: ๊ทธ๋ด ์ ์์์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค์. ๋จ๊ธฐ ๊ธฐ์ต์ ์ ์ฅ๋์ด ์์ง ์์์. Gleam์ ์๋ ๊ธฐ๋ฅ์ ์ ์์ง๋ง, Gleam์ ์๋ ๊ธฐ๋ฅ์ ์ ํ ๋ชจ๋ฆ ๋๋ค. ์ข ๋ต๋ตํ์ฃ . ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ๋๋ฉด ๊ทธ ๊ธฐ๋ฅ์ ๋ํด ์ถฉ๋ถํ ์ดํดํ๊ฒ ๋์ง๋ง, ์ธ์ด๋ฅผ ์ํด์๋ ๋ค๋ฅธ ๊ด๋ จ ์๋ ์์ ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ ์ด์ ๊ทธ ๊ธฐ๋ฅ์ ๋ํด ๋ฐฐ์ฐ์ง ๋ชปํ๊ฒ ๋๊ฑฐ๋ ์. Gleam์ ์ธ์ด๋ฟ๋ง ์๋๋ผ ๋น๋ ๋๊ตฌ, ํจํค์ง ๊ด๋ฆฌ์, ์ธ์ด ์๋ฒ, ํจํค์ง ์ธ๋ฑ์ค ๋ฑ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฒ์ ํต์ฌ ํ๋ก์ ํธ์ ์ผ๋ถ๋ก ๊ฐ์ฃผํฉ๋๋ค. ๊ทธ๋์ ์ธ์ด์ ์ปดํ์ผ๋ฌ๋ง ์๋ ๊ฒ์ด ์๋๋ผ, ๋น๋ ๋๊ตฌ, ํจํค์ง ๊ด๋ฆฌ์, ์ธ์ด ์๋ฒ, ํจํค์ง ์ธ๋ฑ์ค ๋ฑ๋ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒ๋ค์ ์ปค๋ฎค๋ํฐ์ ๋งก๊ธฐ๋ ๋์ , Gleam์ ๋ด์ฅ๋์ด ์์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์ ๋ง ์ข์ ๊ฒฝํ์ ์ ๊ณตํ์ง๋ง, ์ ๋ ํ์ ์์คํ ์ ๋ํด ํฅ๋ฏธ๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ๊ณ ๋๋ฉด ์์กด์ฑ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ์ ์์ ํด์ผ ํฉ๋๋ค. ๊ฒฐ๊ตญ ์ด๋ ๊ฒ๋ ์ ๋๋ก ๋ฐฐ์ฐ์ง ๋ชปํ๊ฒ ๋๋ ๊ฑฐ์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ ๋ชจ๋ ๊ฒ์ ์ด๋ป๊ฒ ๊ด๋ฆฌํ์๋์? ๊ฐ๊ฐ์ ์์๊ฐ ํ๋์ ํ๋ก์ ํธ๊ฐ ๋ ์ ์์์์. ์ฒ์๋ถํฐ ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ๋ง๋ค๊ณ ์ ๋๋ก ์๋ํ๊ฒ ํ๋ ๊ฒ์ ์ฌ์ด ์ผ์ด ์๋๋๋ค. ๊ทธ๋ฐ ์ผ์ ํ๋ ํ๋ ์์ฃ .
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์. ํจํค์ง ๊ด๋ฆฌ๋ ๋คํํ๋ ์กฐ๊ธ ์์ผ ์ ์์ต๋๋ค. Beam ์ธ์ด์ ๋๋จธ์ง ๋ถ๋ถ๊ณผ ์ ์ํธ ์์ฉํ๋ ค๋ฉด Beam์ ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ์๋ฒ ์ธก ์์ , ์ฆ ์ ๋ก๋ ๋ฐ ๋ฐฐํฌ๋ ์ด๋ฏธ ๋๊ตฐ๊ฐ๊ฐ ๋ง๋ค์ด ๋์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ API๋ง ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ํ์ง๋ง ์๋ฌด๋ ๊ทธ API๋ฅผ ์ ๋๋ก ํตํฉํ ์ ์ด ์์ด์ ๋ฌธ์๊ฐ ์ข์ง ์์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๊ทธ๋์ ํด๋ผ์ด์ธํธ ์ธก๋ง ๊ตฌํํ๋ฉด ๋๋ค๋ ๊ฒ์ ์์์ง๋ง, ๊ทธ๋๋ ์ฌ์ ํ ๋งค์ฐ ๋ณต์กํฉ๋๋ค. ์ฌ๋ฌ ์ ์ฝ ์กฐ๊ฑด์ ๊ฐ์ง ๋ฒ์ ์ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ฝค ์ด๋ ต์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ํ์ง๋ง ๋ง์ ๋ถ๋ถ์ ์คํํธ์ ์ฒ๋ผ "๊ฐ ์์์ MVP๋ ๋ฌด์์ผ๊น? ๊ฐ์ฅ ์๊ณ ์ ์ฉํ ์ ๊ทผ ๋ฐฉ์์ ๋ฌด์์ผ๊น?"๋ผ๊ณ ์๊ฐํ๋ฉด์ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์์ ์ธ์ด๋ฅผ ๋ง๋๋ ๊ฒ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋์ง๋ง, ๊ตฌํํ๊ธฐ๋ ํจ์ฌ ์ฝ์ต๋๋ค. Rust๋ Scala์ฒ๋ผ ๋ง๋ค๋ ค๊ณ ํ๋ค๋ฉด ์ ๋ ๋ถ๊ฐ๋ฅํ์ ๊ฒ๋๋ค. ํ์ง๋ง Lua๋ Go์ฒ๋ผ ๋ง๋ค๋ ค๊ณ ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ๊ฑฐ์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ๋ง์์. ๊ณ ์์ด ์๋ฆฌ๊ฐ ๋ค๋ฆฌ๋ค์.
๋ฃจ์ด์ค ํํด๋: ํ๋ณตํ ๋ ์์ด์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋น์ ์ ์ค๊ณ ๊ณผ์ ์ ์กฐ๊ธ ์ดํด๋ดค๋๋ฐ, ๋น์ ์ "ํํ์ง ํ๋ก๊ทธ๋๋ฐ ์ค๊ณ"๋ฅผ ํ๊ณ ์๋ค๊ณ ๋งํ์ฃ . ๊ทธ๋ฆฌ๊ณ ํธ์ํฐ์ ๊ฐ์ "์ด ๋์์ ์ด๋ค ๊ตฌ๋ฌธ์ ์ฌ์ฉํ ๊ฒ์ผ๋ก ์์ํ์๋์?"๋ผ๊ณ ๋ฌป๊ณ , ๋์์ธ์ ๋ํ ์ ๊ธฐ์ ์ธ ํธ์ํฐ ์ค๋ฌธ ์กฐ์ฌ๋ฅผ ์ค์ํ๊ณ , ์ธ์ด๋ฅผ ์๊ฒ ์ ์งํ๊ณ ์์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ํน์ ์ค๊ณ ์ ํ์ ํ ์ ์์ต๋๋ค. ์กฐํ๋ก์ด ์ธ์ด๋ฅผ ๋ง๋๋ ๋ฐ ์ค์ํ ๊ฒ์ ๋ฌด์์ธ๊ฐ์? ์ด๋ค ์ธ์ด๋ ์ํ๊ณ , ์ด๋ค ์ธ์ด๋ ๋ชปํ๋๋ฐ, ๋น์ ์ ์ด๋ป๊ฒ ์ ๊ทผํ์๋์?
๋ฃจ์ด์ค ํํด๋: ์ค๋ฌธ ์กฐ์ฌ๋ ์ ๋ง ์ ์ฉํฉ๋๋ค. ์ ๋ ์ฌ๋๋ค์ด ๋๋ผ์ง ์๋๋ก, ์ฆ ์ ๊ทผ์ฑ์ ๋์ด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์ ๋ ๋ฌด์์ด ์ ์์ด๊ณ ๋ฌด์์ด ์ ์์ด ์๋์ง์ ๋ํด ์ข ์ข ํ๋ฆฐ๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. ์์ ์ ์๊ฒฌ์ด ํ์ค์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ์ฝ์ง๋ง, ๊ทธ๋ ์ง ์์ฃ . ๊ทธ๋์ "์ด ๋ ๊ฐ์ง ์ค ์ด๋ ๊ฒ์ด ๋ ์ด์ํด ๋ณด์ด๋์?"๋ผ๊ณ ์ง์ ์ ์ผ๋ก ๋ฌป๋ ๋์ , ๋ช ๊ฐ์ง ์์ ์ฝ๋์ ๋ํด ๊ฐ๋จํ ์ง๋ฌธ์ ๋์ ธ์ ์ฌ๋๋ค์ด ์ด๋ค ๋ถ๋ถ์์ ํผ๋์ค๋ฌ์ํ๋์ง ํ์ธํ๋ ๊ฒ์ด ์ ๋ง ์ ์ฉํฉ๋๋ค. ์ ๊ฐ ๋ ๋์ ์์ด๋์ด๋ผ๊ณ ์๊ฐํ๋๋ผ๋, ์ ๊ฐ ํ๋ ธ์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ํ์ง๋ง ๊ฝค ๊น๋ค๋ก์ด ๋ฌธ์ ์ ๋๋ค. ์ฒ์ฒํ, ์ ๋ง ์ฒ์ฒํ ์์ ํ๋ ๊ฒ์ด ๋์์ด ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. Gleam์ ์์ ์ธ์ด์ด๊ณ , ์ ๊ฐ ๋๋ถ๋ถ์ ์์ ์ ์ง์ ํ๊ธฐ ๋๋ฌธ์ ๋ง์ ์๊ฐ์ ํ ์ ํ ์ ์์ต๋๋ค. ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์์ ํ๊ณ ์๋ค๋ฉด 6๊ฐ์ ์ ์ ์ด๋ฏธ ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ ธ์ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์ฌ์ ํ 6๊ฐ์ ๋์ ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์์ ํ๊ณ ์์ต๋๋ค. ๊ทธ๋์ 1๋ ๋์ "์ด๋ ๊ฒ ํ๋ฉด ์ด๋จ๊น? ์ด๋ ๊ฒ ํ๋ฉด ์ด๋ค ์ํฅ์ ๋ฏธ์น ๊น?"๋ผ๊ณ ์๊ฐํ๋ฉด์ ์์นจ ์์ฌ๋ฅผ ํ๋ฉด์ ์ฐฝ๋ฐ์ ๋ฐ๋ผ๋ณด๋ ์๊ฐ์ ๋ณด๋ด๊ฒ ๋ฉ๋๋ค. ๋จธ๋ฆฟ์์์ ์์ด๋์ด๋ฅผ ์ฒ์ฒํ ๋์ด๋ ๊ฑฐ์ฃ . 12๊ฐ์ ๋์ ๊ทธ๋ ๊ฒ ์๊ฐํ๋ค ๋ณด๋ฉด "์, ์ด๋ ๊ฒ ํ๋ฉด ์ด๋ฐ ์์ผ๋ก ์ํธ ์์ฉํ๊ฒ ๋ค. ํฅ๋ฏธ๋กญ๊ตฐ. ์ ๊ฑด ์ด๋จ๊น?"๋ผ๋ ์๊ฐ์ด ๋ ์ค๋ฅด๋ ์๊ฐ์ด ์๊น๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ตญ์๋ ์ค๋ ์๊ฐ ๋์ ์ง์ฐฉ์ ์ผ๋ก ์๊ฐํ๋ค ๋ณด๋ฉด ๋ชจ๋ ๊ฒ์ ์ฐ์ฐํ ๋ค๋ฃจ๊ฒ ๋ฉ๋๋ค. ๋๋ฆฐ ํ๋ก๊ทธ๋๋ฐ์ด์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๊ฒ ๋น์ ์ ๋ฐฉ์์ด๊ตฐ์. ๋๋ฆฌ์ง๋ง ์ง์ฐฉ์ ์ธ ๋ฐฉ์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ์๊ฐ์ ๋ฉ์ถ์ง ์๊ณ ์ค๋ ์๊ฐ์ ํฌ์ํ๋ ๊ฑฐ์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ด๋ฆ์ ์ธ๊ธํ์ง๋ ์๊ฒ ์ง๋ง, ๊ฐ๋ฐ์๊ฐ ์์นจ์ ์ผ์ด๋์ ์๋ก์ด ๊ธฐ๋ฅ ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฌ๊ณ ์ต๋ํ ๋นจ๋ฆฌ ๋ง๋ค์ด์ ์ธ์์ ๋ด๋์ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์ธ์ด๋ค์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํจ์ฌ ๋ ์กฐํ๋ก์ด ๋๋์ ์ฃผ๋ ์ธ์ด๋ค์ด ์์ฃ .
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์. ์ ๋ ์กฐํ๋ก์ด ์ธ์ด๋ฅผ ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฌ๊ณ , ๋ง๋ค์ด์, ์ธ์์ ๋ด๋๋ ๊ฒ์ ์ ๋ง ๋ฉ์ง ์ผ์ด์ฃ . ์ธ์ ๊ฐ Gleam์ ์์ฑํ๊ณ , Gleam ์ฌ๋จ์ ๋๊ฒจ์ ๊ด๋ฆฌํ๋๋ก ํ๊ณ , ์ ๋ Gleam์ ๋ง๋ค๋ฉด์ ํฌ๊ธฐํ๋ ๋์ ์์ด๋์ด๋ค์ ๋ชจ์์ ์๋ก์ด ์ธ์ด๋ฅผ ๋ง๋ค๊ณ ์ถ์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ํญ์ "์ด๊ฑด ๋ณ๋ก์ผ. ํ์ง ๋ง์"๋ผ๊ณ ์๊ฐํ๋ ์์ด๋์ด๋ค์ด ์์ง๋ง, ์ ๋ง ๋์ ์์ด๋์ด๋ค์ "์ค, ์ด๊ฑฐ ์ ๋ง ์ข์๋ฐ? ํด๋ณด์"๋ผ๊ณ ์๊ฐํ๊ณ ๋์ "์, ์ ๋ชจ๋ฅด๊ฒ ๋ค. ํ์คํ์ง ์์"๋ผ๊ณ ์๊ฐํ๊ฒ ๋๋ ์์ด๋์ด๋ค์ ๋๋ค. ํญ์ ๋ฉ์ ธ ๋ณด์ด๋ ์์ด๋์ด๋ค์ด์ฃ .
๋์์ ํจ๊ณผ๊ฐ ์ํํ๊ฒ ์ข์ ๋ณด์ด๋ ์์ด๋์ด ์ค ํ๋์ ๋๋ค. ๋์์ ํจ๊ณผ๋ฅผ ์ฌ์ฉํ๋ฉด async/await, ์์ธ, try-catch ๋ฑ์ ์ฌ์ฉ์ ์์ญ์์ ๋ชจ๋ธ๋งํ ์ ์์ต๋๋ค. ์ ๋ง ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ด์ฃ . ์์ผ๋ก ๋ง์ ์ธ์ด๋ค์ด ์ด๋ ์ ๋ ๋์์ ํจ๊ณผ๋ฅผ ์ง์ํ๊ฒ ๋ ๊ฒ์ด๊ณ , ๊ฒฐ๊ตญ์๋ ์ผ๋ฐ์ ์ธ ๊ธฐ๋ฅ์ด ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ๋์์ ํจ๊ณผ๋ ์ํํ ์์ด๋์ด์ ๋๋ค. "๋ฉ์ง๋ฐ?"๋ผ๊ณ ์๊ฐํ๊ธฐ ์ฝ์ง๋ง, ์ค์ ๋ก ํ๋ก์ ํธ์ ๋ชฉํ์ ์ผ์นํ๋์ง ์๊ฐํด ๋ด์ผ ํฉ๋๋ค. ์ ๋ง ๊ฐ๋จํ๊ณ ์ ๊ทผํ๊ธฐ ์ฌ์ด ์ธ์ด๋ฅผ ๋ง๋ค๋ ค๊ณ ํ๋๋ฐ, ์คํ์ ์ด๊ณ ๋งค์ฐ ๋ณต์กํ ๋ช๋ช ์ธ์ด์์๋ง ์ฌ์ฉ๋๋ ๋งค์ฐ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์ข์ ์๊ฐ์ด ์๋ ์ ์์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ๋ง์์.
๋ฃจ์ด์ค ํํด๋: ๊ทธ๋ฆฌ๊ณ Elixir์์ ์ํธ ์ด์ฉ์ฑ๋ ์์ ํ ๋ง๊ฐ๋จ๋ฆด ๊ฒ์ ๋๋ค. ๊ทธ๋์ ๋ณ๋ก ์ข์ ์๊ฐ์ด ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋์์ ํจ๊ณผ๋ ๋์ค์ ๋ค์ ์ดํด๋ณด๊ณ ์ถ์ง๋ง, ์ง๊ธ์ ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ผ๋จ ๋ณด๋ฅํ๋ ๊ฒ์ด ํ๋ช ํ ์ ํ์ธ ๊ฒ ๊ฐ๋ค์. ๊ทธ๋ผ Gleam์ ๋ฐฐ์ฐ๊ธฐ ์์ํ๋ ค๋ ์ฌ๋๋ค์๊ฒ ์ด๋ค ๋ถ๋ถ์ ์๋ ค์ค์ผ ํ ๊น์? Gleam์ ๋ฐฐ์ฐ๋ ค๋ฉด ์ด๋ค ๋ถ๋ถ์ ์์์ผ ํ ๊น์?
๋ฃจ์ด์ค ํํด๋: ์ง๊ธ ๊ทธ ๋ถ๋ถ์ ๊ณ ๋ฏผํ๊ณ ์์ด์. Gleam ํ์ต ์ฝ์ค๋ฅผ ๋ง๋ค๋ ค๊ณ ํ๊ฑฐ๋ ์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์, ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: Erlang ์ํ๊ณ ์ฌ๋จ์์ ์๊ธ์ ์ง์๋ฐ์์ต๋๋ค. ์ ๋ง ๋ฉ์ง ๋จ์ฒด์ธ๋ฐ, Gleam ์ปค๋ฎค๋ํฐ๋ฅผ ์ฑ์ฅ์ํค๊ธฐ ์ํด Exercism์ด๋ผ๋ ํ๋ซํผ์ ๊ฐ์ ๊ณํ์๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. Exercism์ ๋ค์ํ ์ธ์ด๋ฅผ ์ฐ์ตํ๊ณ ๋ฐฐ์ฐ๋ ํ๋ซํผ์ ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ์๊ณ ์์ด์.
๋ฃจ์ด์ค ํํด๋: 2์์ Exercism์ ์ ๊ท ํธ๋์ ๋ฐ์นญํ์ต๋๋ค. Exercism์์ Gleam์ ์ฃผ์ ์ธ์ด๋ก ์ ์ ํด ์ฃผ์๋๋ฐ, ์ ๋ง ๊ฐ์ฌํ ์ผ์ด์ฃ . ๊ธฐ๋ณธ์ ์ผ๋ก "์ฌ๊ธฐ ์์ ํ๋ก๊ทธ๋จ๊ณผ ๊ณผ์ ๊ฐ ์์ต๋๋ค. ํด๊ฒฐํด ๋ณด์ธ์."๋ผ๋ ์์ผ๋ก ์งํ๋ฉ๋๋ค. ์๋์ผ๋ก ํ ์คํธ๋ฅผ ์คํํ ์ ์๊ณ , ์ปค๋ฎค๋ํฐ ํ์์ ๋ฉํ ๋ง๋ ๋ฐ์ ์ ์์ต๋๋ค. ์ ๋ง ๋ฉ์ง ์ฌ์ดํธ์์. ์ด๋ค ์ธ์ด๋ ์ฐ์ตํ๊ณ ์ถ๋ค๋ฉด Exercism์ ์ถ์ฒํฉ๋๋ค. Exercism์๋ ๊ฐ์ ๊ณํ์๋ผ๋ ๋ ๋ค๋ฅธ ๋ ์ด์ด๊ฐ ์์ต๋๋ค. ๊ณผ์ ๋ฟ๋ง ์๋๋ผ ์ธ์ด์ ๊ฐ๋ณ ๊ฐ๋ ์ ๊ฐ๋ฅด์น๋ ํน๋ณ ๊ณผ์ ๋ ์์ต๋๋ค. ์ ๋ง๋ค์ด์ง ๊ฐ์ ๊ณํ์๊ฐ ์๋ค๋ฉด ํ๋ก๊ทธ๋๋ฐ ๊ฒฝํ์ด ์๋ ์ฌ๋๋, ๋ฌผ๋ก ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ๊ธฐ๋ณธ ์ง์์ ์์ด์ผ ํ์ง๋ง, ์ฝ์ค๋ฅผ ํตํด ์ธ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ ์์ค๊น์ง ๋๋ฌํ ์ ์์ต๋๋ค. ์ ๋ง ๋ฉ์ง ์ผ์ด์ฃ .
Gleam์ ๋ฐฐ์ฐ๋ ค๋ฉด ๋ฌด์์ ์์์ผ ํ ๊น์? ๋ณ๋ก ๋ง์ง ์์ต๋๋ค. Gleam์ ์์ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ์ฌ์ด ๋ชจ๋๋ก ํ๋ ์ดํ๊ณ ์๋ค๊ณ ํ ์ ์์ต๋๋ค. ํ์ง๋ง ๋๋ถ๋ถ ํจ์, ๊ฐ, ํจํด ๋งค์นญ, ๋ ์ฝ๋ ๋ฑ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ค์ ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์๊ฒ ์ต๋๋ค. ํ์ง๋ง Erlang์ ์กํฐ ๊ธฐ๋ฐ์ธ๋ฐ, Gleam๋ ์กํฐ ๋ชจ๋ธ์ ๊น์ด ์ฌ์ฉํ๋์?
๋ฃจ์ด์ค ํํด๋: ์๋์. Erlang์ ์กํฐ ํ๋ ์์ํฌ์ธ OTP์ ๋ํด ์ด์ผ๊ธฐํ ๋๋ ํญ์ ์กฐ์ฌํด์ผ ํฉ๋๋ค. Erlang๋ ๊ฝค ์์ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด์ํ์ง๋ง ๊ฝค ์์ ์ธ์ด์์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๊ทธ๋์ Erlang์ ๋ฐฐ์ฐ๋ฉด Erlang์ ๋ฐฐ์ฐ๋ ๋ฐ ์ด๋งํผ ์๊ฐ์ ์ฐ๊ณ , ์กํฐ ํ๋ ์์ํฌ๋ฅผ ๋ฐฐ์ฐ๋ ๋ฐ ์ด๋งํผ ์๊ฐ์ ์๋๋ค. ์กํฐ ํ๋ ์์ํฌ๋ ๋ค๋ฅธ ์ธ์ด์ async/await์ด๋ ๋์์ฑ ๋ชจ๋๋ณด๋ค ํจ์ฌ ๋ ํฌ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฌ๋ฌ๋ชจ๋ก ์ด์ ์ฒด์ ์ ๊ฐ๊น์ต๋๋ค. ๋ ๋ฆฝ์ ์ธ ์์๋ค์ด ์๋ก ํต์ ํ๋ ๋ฐฉ์, ์๋ก๋ฅผ ๋๋ณด๊ณ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ํจํด ๋ฑ์ด ์์ต๋๋ค. ์ ๋ง ๋ณต์กํฉ๋๋ค. Erlang์ ํตํด Beam ํ๋ก๊ทธ๋๋ฐ์ ์ ํ๋ฉด ์กํฐ ํ๋ ์์ํฌ๋ฅผ ๋ณด๋ ๋ฐ ๋ง์ ์๊ฐ์ ํ ์ ํ๊ฒ ๋ ๊ฒ์ ๋๋ค. Erlang ์ปค๋ฎค๋ํฐ์์๋ ์กํฐ ํ๋ ์์ํฌ๊ฐ ๋งค์ฐ ์ค์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ง๋ง Elixir๋ฅผ ํตํด Beam ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ฐ๋ฉด ์ผ๋ฐ์ ์ธ ๋น์ฆ๋์ค ํ๋ก๊ทธ๋๋ฐ์ ํจ์ฌ ๋ ์ง์คํ๊ฒ ๋ฉ๋๋ค. ์น ์ฑ, ์น์ฌ์ดํธ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋ฑ์ ๋ง๋๋ ๊ฑฐ์ฃ . ์ฝ๋๊ฐ ๋ชจ๋ ์กํฐ ํ๋ ์์ํฌ ๋ด๋ถ์์ ์คํ๋์ง๋ง, ์ค์ ๋ก๋ ์กํฐ๋ฅผ ๋ณผ ์ผ์ด ์์ ์๋ ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒ์ ์๋์ง๋ง, ๋๋ถ๋ถ์ Elixir ํ๋ก๊ทธ๋๋จธ๋ OTP ์ฝ๋๋ฅผ ์ ํ ์์ฑํ์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค. Elixir ํ๋ก๊ทธ๋๋จธ๋ค์ ์ธ๊ธฐ ์๋ ์น ํ๋ ์์ํฌ์ ํฌํจ๋ ์น ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ณ , ์น ์๋ฒ์๋ ๋ด๋ถ์ ์ผ๋ก ๋ง์ ์กํฐ๊ฐ ์์ต๋๋ค. pub/sub ์์คํ ๋ ์กํฐ์ด๊ณ , ๋ค๋ฅธ ๋ชจ๋ ๊ฒ๋ ์กํฐ์ ๋๋ค. ํ์ง๋ง Elixir ํ๋ก๊ทธ๋๋จธ๋ค์ ์น ํธ๋ค๋ฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ฑ์ ์์ฑํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์กํฐ์ด์ง๋ง, ์ ๊ฒฝ ์ธ ํ์๊ฐ ์์ต๋๋ค. Ruby on Rails๋ Python์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ๊ฒ๊ณผ ๋งค์ฐ ๋น์ทํฉ๋๋ค. ์ฝ๋ ๋ด๋ถ์ async/await์กฐ์ฐจ ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ํธ๋ค๋ฌ ์ธ๋ถ์์ ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์. ์ ๋ Erlang์ ์ ๋๋ก ์ฌ์ฉํ๋ ค๋ฉด ์กํฐ ๋ชจ๋ธ์ ์ดํดํด์ผ ํ๋ค๊ณ ์๊ฐํ๋๋ฐ, ๋์ค์ Gleam์ ์ต์ํด์ง๋ฉด ์กํฐ ๋ชจ๋ธ์ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค๋ ๋ง์์ด๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์. ๊ทธ๋ฆฌ๊ณ ์กํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ์ง ์์ ์๋ ์์ต๋๋ค. ์กํฐ ๋ชจ๋ธ์ด async/await์ด๋ ์ฝ๋ฐฑ, future๋ณด๋ค ์ข์ ์ ์ ๊ฐ ์กํฐ๊ฐ ํ๋์ ์์ ๋ง ์ํํ๊ธฐ ๋๋ฌธ์ ์์ ํ ๋จ์ผ ์ค๋ ๋๋ผ๋ ๊ฒ์ ๋๋ค. ์์ฒญ ๊ฐ์ฒด์์ ๋ณธ๋ฌธ์ ๊ฐ์ ธ์ค๋ ์ฝ๋๋ฅผ ์์ฑํ ๋ async๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ค๋ ๋๋ฅผ ์ฐจ๋จํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํต์ ํ ๋๋ async๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ค๋ ๋๋ฅผ ์ฐจ๋จํฉ๋๋ค. ์๋ต์ ๋ณด๋ผ ๋๋ async๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ค๋ ๋๋ฅผ ์ฐจ๋จํฉ๋๋ค. ๋งค์ฐ ๋นํจ์จ์ ์ผ๋ก ๋ณด์ด์ง๋ง, ์ค์ ๋ก๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ์ด์ ์ฒด์ ์ค๋ ๋ ์ ์ฒด๋ฅผ ์ฐจ๋จํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ค์ ๋ก๋ ํ๋์ ์กํฐ๋ง ์ฐจ๋จํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ฐฑ, ์์ฒ ๊ฐ์ ์กํฐ๋ฅผ ๋์์ ์คํํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๋๋ค์ ์ผ์์ ์ผ๋ก ๊ทธ๋ ๊ฒ ํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: Beam ์ค์ผ์ค๋ฌ์์๋ ๋งค์ฐ ์ผ๋ฐ์ ์ธ ์ผ์ด์ฃ ?
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋งค์ฐ ์ผ๋ฐ์ ์ ๋๋ค. ๋น์ฐํ ๊ทธ๋ ๊ฒ ํด์ผ ํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ์กฐ ์์คํธ๋กฑ์ ๋์์ ๋ฐฑ๋ง ๊ฐ์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ ์น ์๋ฒ๋ฅผ ๋ง๋๋ ๊ฒ์ ์ ๋ง ์ด๋ ต์ง๋ง, ํ๋์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ ์น ์๋ฒ๋ฅผ ๋ง๋๋ ๊ฒ์ ์ ๋ง ์ฝ๊ณ , ๊ทธ๋ฐ ์น ์๋ฒ๋ฅผ ๋ฐฑ๋ง ๊ฐ ์คํํ๋ฉด ๋๋ค๊ณ ๋งํ์ต๋๋ค. ์ด๊ฒ์ด Erlang OTP ์กํฐ์ ํต์ฌ ์์ด๋์ด์ ๋๋ค. ๊ฐ์ฅ ์์ ์์ ๋จ์์์ ์ ๋ง ๊ฐ๋จํ ์์ ์ ์ํํ๊ณ , ์์ ํ ๋ค๋ฅธ ๊ณณ์์ ๋ฉํฐํ๋ ์ฑํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ "์ด๋ป๊ฒ ํ๋ฉด ์ํ์ ์ผ๋ถ๋ฅผ ๋ฒ๋ฆฌ๊ณ ๋ค๋ฅธ ๋ถ๋ถ์ ์ํฅ์ ๋ฏธ์น์ง ์์ ์ ์์๊น?"๋ผ๊ณ ๊ณ ๋ฏผํ ํ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ฅ ์์ ์์ ํ๋๋ฅผ ๋ฒ๋ฆฌ๋ฉด ๋ฉ๋๋ค. ๋๋จธ์ง๋ ๊ด์ฐฎ์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ํ๋ก๊ทธ๋๋ฐ์์ ์ ๊ฐ ์ข์ํ๋ ๋ถ๋ถ ์ค ํ๋์ ๋๋ค. ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋ณด๋ฉด ์ ๋ง ํฅ๋ฏธ๋ก์ด ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์๊ฐ์ ๋ด์ Gleam์ ์จ๋ด์ผ๊ฒ ๋ค์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๊ผญ ์จ๋ณด์ธ์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ ๊ฐ์ง ๋ ๋ฌป๊ณ ์ถ์ ๊ฒ์ด ์๋๋ฐ, ๋จผ์ ์๊ณ ์ ์ง์ ๋ํด ์ด์ผ๊ธฐํด ๋ณผ๊น์? ๋น์ ์ Gleam์ ๊ฐ๋ฐํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ง ์ผ์ ํ๋๋ฐ, ๊ทธ์ค์๋ ๊ฐ๋ํ๊ฒ ์ฌ๋ ๊ฒ๋ ํฌํจ๋์ด ์์ฃ ?
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์. ์ข์ ๊ฒฝํ์ด์์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ ๋ฆฝ์ ์ธ ์ธ์ด ์ค๊ณ์๋ก ์ฌ๋ ๊ฒ์ ์ด๋ค๊ฐ์?
๋ฃจ์ด์ค ํํด๋: ํ๋ค์ฃ . ์ ํต์ ์ผ๋ก๋ ์ง์ฅ์์ ์ผํ๋ฉด์ ์ ์ ๋ ์ผ์ ์ง์ฆ์ด ๋ฉ๋๋ค. ์ง์ฅ์ด ๋๋น ์๊ฐ ์๋๋ผ, ๋ค๋ฅธ ์ผ์ ํ๊ณ ์ถ์ด์ ์ ๋ ๊ณผ ์ฃผ๋ง์ ๋ค๋ฅธ ์ผ์ ํ๋ค ๋ณด๋ฉด ์ด๋ ์๊ฐ "๊ทธ๋ง๋๊ณ Gleam์ ์ ๋ ํด์ผ๊ฒ ๋ค"๋ผ๊ณ ์๊ฐํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ํ ์๊ณ ๊ฐ ์ค์ด๋๋ ๊ฒ์ ์ง์ผ๋ณด์ฃ . ์ด๋ ์๊ฐ "์์ธ๊ฐ ์ด๋งํผ์ด๊ณ , ์ํ ์๊ณ ๊ฐ ์ด๋งํผ์ด๋๊น, 30์ผ ์์ ์ง์ฅ์ ๊ตฌํด์ผ๊ฒ ๋ค"๋ผ๊ณ ์๊ฐํ๊ฒ ๋ฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๊ทธ๋ฐ ์ผ์ ๋์ธ ๋ฒ ๋ฐ๋ณตํ์ต๋๋ค. ํ์ง๋ง ์ด๋ ์๊ฐ GitHub์์ GitHub Sponsors ํ๋ก๊ทธ๋จ์ ์ถ์ํ์ต๋๋ค. ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํ Patreon ๊ฐ์ ๊ฑฐ์ฃ . ์ฌ๋๋ค์ด "GitHub Sponsors์ ๊ฐ์ ํด ๋ณด์ธ์."๋ผ๊ณ ๋งํ๊ณ , ์ ๋ "์ด ํ๋ก์ ํธ๊ฐ ๋๋ฅผ ๋ถ์ํ ์ ์์ ๊ฑฐ๋ผ๊ณ ๋ ์๊ฐ๋ ๋ชป ํ๋๋ฐ."๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ์คํ์์ค๋ก ๋์ ๋ฒ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํ๊ฑฐ๋ ์. ๋งค์ฐ ๋ณต์กํ ๊ฒ์ ํ๋งคํ์ง ์๋ ํ ๋ง์ด์ฃ .
๊ทธ๋์ GitHub Sponsors์ ๊ฐ์ ํ๋๋ฐ, ๋๋๊ฒ๋ ๋ช๋ช ์ฌ๋๋ค์ด ์ ๋ฅผ ํ์ํ๊ธฐ ์์ํ์ต๋๋ค. "์, ์ ๋ง ๋๋๋ค. ์ด ์ ๋๋ก ์ง์งํด ์ฃผ๋ ์ฌ๋๋ค์ด ์์๊ตฌ๋."๋ผ๊ณ ์๊ฐํ์ฃ . ๊ทธ๋ฆฌ๊ณ ๋ง์ผํ ์ ์กฐ๊ธ ๋ ํ๊ณ , ์ข์ ๊ธ์ ์ฐ๋ ๋ฐ ์ง์คํ๊ธฐ ์์ํ์ต๋๋ค. Gleam์ด ์ด๋ป๊ฒ ์๋ํ๋์ง, Gleam ์ธ๊ณ์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง์ ๋ํ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ๋ ๋ง์ด ์์ฑํ์ต๋๋ค. ์ฌ๋๋ค์ด Gleam์ ์์์ ๊ณ์ ์ ํ ์ ์๋๋ก ๋ง์ด์ฃ . ๊ทธ๋ฆฌ๊ณ ํ์์๊ฐ ๊พธ์คํ ๋์ด๋์, ์ด์ ์ ํ๋ ์ด๋ค ์ง์ ๋ณด๋ค ์์ ์ ํจ์ฌ ์ ์ง๋ง, ์ํ๋น๋ฅผ ์ถฉ๋นํ ์ ์์ ์ ๋๊ฐ ๋์์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: Gleam์ ์ฑ๊ณต์ํค๊ณ , Gleam์ ์กด์ฌํ๊ฒ ํ๊ณ , ์์ฌ ์์ด ์ผํ๊ธฐ ์ํด ์ผ๋ง๋ ๋ง์ ๋์ ํฌ์ํ ์ํฅ์ด ์๋๋๋ ์ง๋ฌธ์ ๋ํ ๋ต์ด์ฃ . ์ ๊ฐ ์ข์ํ๋ ์ผ์ ํ ์ ์๋ค๋ ๊ฒ์ ์ข์ ๊ฑฐ๋์ ๋๋ค. ๊ทธ๋์ ์ง๊ธ์ ๋์ ์ ์ง๋ง, Gleam์ ๋ง๋ค ์ ์์ต๋๋ค. ์ ๋ง ์ข์ฃ . ๊ทธ๋ฆฌ๊ณ ํญ์ ๋ถ์์ ์ ์ฐพ๊ณ ์์ต๋๋ค. Gleam๊ณผ ๊ด๋ จ๋ ์ผ์ด๋ฉด์ ๋๋ ๋ฒ ์ ์๋ ์ผ์ด ์๋ค๋ฉด, Gleam์ ๋ ์ง์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ ํ ๋งํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๋ณด์กฐ๊ธ ์ ์ฒญ ๊ฐ์ ๊ฒ๋ ์ข์ ์์ ๋๋ค. ์๊น ๋ง์๋๋ ธ๋ Erlang ์ํ๊ณ ์ฌ๋จ์ Gleam ํ์ต ์ฝ์ค ์ ์ ๋ณด์กฐ๊ธ์ด ์ข์ ์์ ๋๋ค. ๊ทธ๋ฐ ์ผ์ ๋ ๋ง์ด ํ๊ณ ์ถ์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ฉ์ง๋ค์. ๋์ ๋ํ ์ง๋ฌธ์ด๋ผ์ ๊ฑฐ์ ํ์ ๋ ๋์ง๋ง, GitHub Sponsors ํ์์๋ ๋๋ถ๋ถ ๊ฐ์ธ์ธ๊ฐ์, ์๋๋ฉด ๊ธฐ์ ์ธ๊ฐ์? ๋ช ๋ช ์ ๋ ๋๋์?
๋ฃจ์ด์ค ํํด๋: ๊ฑฐ์ ์ ๋ถ ๊ฐ์ธ์ ๋๋ค. ๊ฐ์ฅ ํฐ ํ์์๋ ๋ฐฐํฌ ํ๋ซํผ์ธ Fly.io์ ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์, ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ์ ๋ง ์ข์ ์ ํ์ ๋๋ค. ๊ผญ ๊ทธ๋ ๊ฒ ๋งํด์ผ ํ๋ ๊ฒ์ ์๋์ง๋ง, ์ ๋ง ์ข์์. ์จ๋ณด์ธ์. ์ ๋ ์ฐ๊ณ ์์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ์๊ฒ ์ต๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๊ฐ๋ฐ์ ๊ฒฝํ์ด ์ข๊ณ , Firecracker VM์ ์ฌ์ฉํ๋๋ฐ, ์ ๋ง ๋๋ํ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ํ์ง๋ง Fly.io์์ ์ ์ฒด ํ์๊ธ์ 3๋ถ์ 1 ์ ๋, ์ด์ฉ๋ฉด 3๋ถ์ 1๋ณด๋ค ์กฐ๊ธ ๋ ๋ง์ ๊ธ์ก์ ํ์ํ๊ณ ์๊ณ , ๋๋จธ์ง๋ 1๋ฌ๋ฌ, 5๋ฌ๋ฌ, 10๋ฌ๋ฌ ์ ๋๋ฅผ ํ์ํ๋ ์ฌ๋๋ค์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ 100๋ฌ๋ฌ๋ฅผ ํ์ํ๋ ์ฌ๋๋ค๋ ๋ช ๋ช ์๋๋ฐ, ์ ๋ง ๋๋์ต๋๋ค.
์ ์ด์์ ์ธ ์ํฉ์ Gleam์ ์ฌ์ฉํ๋ ํ์ฌ๋ค์ด ๋ชจ๋ Gleam์ ์ง์ํ๊ธฐ ์ํด ์์ก์ ๋์ ํ์ํ๋ ๊ฒ์ ๋๋ค. ๊ธฐ์ ์ ์ฅ์์๋ ํฐ๋์ด ์๋์ง๋ง, Gleam์ ์ ์งํ๋ ๋ฐ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ๊ธฐ์ ๋ค์ ์์ ๋ค์ด ์ฌ์ฉํ๋ ์คํ์์ค ํ๋ก์ ํธ๋ฅผ ์ง์ํ๊ธฐ ์ํด ์์ก์ ๋์ ๊ธฐ๋ถํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ ๋ ํจ์ฌ ๋ ๋ถ์ํ ๊ฒ์ ๋๋ค. ํ ํ์ฌ์ ํฌ๊ฒ ์์กดํ๋ ๊ฒ๋ณด๋ค ์์ญ ๊ฐ์ ํ์ฌ์์ ์์ก์ ๋์ ํ์๋ฐ๋ ๊ฒ์ด ํจ์ฌ ์์ ์ ์ด์ฃ . Fly.io๋ ์ ๋ง ํ๋ฅญํ๊ณ , ์์ผ๋ก๋ ๊ณ์ Gleam์ ์ง์ํด ์ฃผ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ ๋ง ๊ฐ์ฌํ์ง๋ง, Fly.io๊ฐ Gleam์ ์ง์ํ ์๋ฌด๋ ์์ต๋๋ค. ์ธ์ ๊ฐ Fly.io๊ฐ ๋ค๋ฅธ ์ผ์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ ์๋ ์๊ณ , ๊ทธ๋ฌ๋ฉด ์ ๋ ๊ณค๋ํด์ง ๊ฒ์ ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: Elm ๊ฐ๋ฐ์๋ Elm์ ๋ง์ด ์ฌ์ฉํ๋ ํ์ฌ์ ์ทจ์งํด์ ์ฌ๋ด ์ธ์ด ๊ฐ๋ฐ์๋ก ์ผํ๊ณ ์์ต๋๋ค. ๋น์ ๋ ๊ทธ๋ฐ ์ ์์ ๋ฐ์ ์ ์ด ์๋์?
๋ฃจ์ด์ค ํํด๋: ๋ช๋ช ํ์ฌ์์ ์ ์์ ํ์ง๋ง, ์ ๊ฐ ๋ณ๋ก ๊ธ์ ์ ์ธ ๋ฐ์์ ๋ณด์ด์ง ์์์ ์งํ๋์ง๋ ์์์ต๋๋ค. ํ์ง๋ง ๋ช๋ช ํ์ฌ์์ ์กฐ์ฌ์ค๋ฝ๊ฒ ์ ์์ ํ์ต๋๋ค. ํ์ง๋ง ํ ํ์ฌ๊ฐ ์ธ์ด์ ๋๋ฌด ๋ง์ ํฌ์๋ฅผ ํ๊ฑฐ๋ ์ธ์ด์ ๋ํ ํต์ ๊ถ์ ๊ฐ์ง๋ ๊ฒ์ ์ธ์ด์ ๋ฐ์ ๋ฐฉํฅ์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ ๋ ๊ทธ๋ฐ ์ํฉ์ ์ํ์ง ์์ต๋๋ค. ๋ฌผ๋ก ํ์์๊ฐ "์ฐ๋ฆฌ์๊ฒ๋ ์ด๋ฐ ๋ฌธ์ ๊ฐ ์์ผ๋ ์ด๋ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํด ์ฃผ์ธ์."๋ผ๊ณ ๋งํ๋ฉด, ์ ๋ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ ์๊ตฌ์ ๋ง์ถฐ ๋ฐฑ๋ก๊ทธ๋ฅผ ์กฐ์ ํฉ๋๋ค. ํ์ง๋ง ๊ณ ์ฉ์ฃผ๊ฐ ๊ทธ๋ ๊ฒ ๋งํ๋ฉด, ๋ ์ด์ ์ ๊ฒฐ์ ์ด ์๋๊ณ , ์ ๊ฐ ๋ฌด์์ด ์ต์ ์ด๋ผ๊ณ ์๊ฐํ๋์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ์๋ฌด๊ฐ์ ๋๋ผ๊ฒ ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ Gleam ์ปค๋ฎค๋ํฐ์ ๋ฏธ๋์ Gleam ์ฌ์ฉ์์๊ฒ ์ต์ ์ ์ ํ์ ํ ์ ์์์ง ํ์ ํ ์ ์์ต๋๋ค.
์ด๋ก ์ ์ผ๋ก๋ Gleam ํ๋ก์ ํธ๊ฐ ์์ผ๋ก ์์ญ ๋ ๋์ ๊ณ์๋ ๊ฒ์ ๋๋ค. ์ ๊ฐ Gleam์ ๊ทธ๋ง๋๊ณ ๋์๋ ๊ณ์๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ค๋๋ ์ด๋ค ํ์ฌ๊ฐ ํ์๋ก ํ๋ ๊ฒ์ ๊ทธ๋ ๊ฒ ์ค์ํ์ง ์์ต๋๋ค. ์ ๋ ๊ทธ๋ฐ ๊ฒ๋ค์ ์ต๋ํ ๋ถ๋ฆฌํ๊ณ ์ถ์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ฌ๋ฉด ๋น์ ์ "์๋น๋ก์ด ์ข ์ ๋ ์ฌ์"๋ฅผ ๋ชฉํ๋ก ํ๊ณ ์๋ค๋ ๋ง์์ธ๊ฐ์?
๋ฃจ์ด์ค ํํด๋: ์ ๋ ํญ์ "์ ์์ ์ธ ์ข ์ ๋ ์ฌ์"๋ผ๊ณ ๋๋ดํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ฐ๋ฐ์์ ๋ฐ๋ผ ๋ค๋ฅด์ฃ .
๋ฃจ์ด์ค ํํด๋: Elm ๊ฐ๋ฐ์์ธ Evan์ ์ด ์ฃผ์ ์ ๋ํด ์ข์ ๊ธ์ ์ผ์ต๋๋ค. ์ธ์ด๋ฟ๋ง ์๋๋ผ ๊ธฐ์ ํ๋ก์ ํธ ์ด๊ธฐ์ ๋จ์ผ ๋ฆฌ๋์ญ์ด ์๋ ๊ฒ์ด ์ข๋ค๋ ๋ด์ฉ์ ๋๋ค. ๋ฌผ๋ก ์ข์ ๋ฆฌ๋๋ฅผ ๋ง๋์ผ ํ๋ค๋ ์ ์ ๊ฐ ์์ง๋ง, ๋จ์ผ ๋ฆฌ๋๊ฐ ์์ผ๋ฉด ์์ฌ ๊ฒฐ์ ๊ณผ์ ์ด ํจ์ฌ ๋ ์ผ๊ด์ฑ ์๊ฒ ์งํ๋ ์ ์์ต๋๋ค. ๋ ผ์์ด๋ ๊ฐ๋ฑ ์์ด ๋ง์ด์ฃ . ๊ทธ๋ ๊ฒ ํ๋ฉด ํ๋ก์ ํธ๊ฐ ์ถฉ๋ถํ ์ฑ์ํด์ก์ ๋ "์ด์ ๋ ๊ฐ์ฒ๋ณด๋ค๋ ๊ด๋ฆฌ๊ฐ ๋ ์ค์ํ๋ค"๋ผ๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ๊ทธ ์์ ์์๋ ๋ฆฌ๋์ญ์ ๋ถ์ฐํ ์ ์์ต๋๋ค. ์์ง Gleam์ ๊ทธ ๋จ๊ณ์ ์ด๋ฅด์ง ๋ชปํ์ต๋๋ค. ๊ฑฐ์ ๋ค ์์ง๋ง์. Elm์ ํ ์ฌ๋์๊ฒ ๋๋ฌด ๋ง์ ๋ถ๋ด์ ์ฃผ์ด์ ๊ทธ ๋จ๊ณ์ ์ด๋ฅด๊ธฐ ์ ์ ์ง์ณ๋ฒ๋ฆฐ ๊ฒ ๊ฐ์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, Elm์ ๋ํด์๋ ์ ๋ชจ๋ฅด์ง๋ง, ์ด๋ ์๊ฐ ์ ๋ฐ์ดํธ๊ฐ ๋ฉ์ถ ๊ฒ ๊ฐ์ต๋๋ค. Evan์ ๋ถ๋ช ํ ๋งค์ฐ ๋๋ํ ์ฌ๋์ด์ง๋ง, ๊ทธ๊ฐ ๋งํ๋ฏ์ด ์ง์ณ๋ฒ๋ฆฐ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ ์์ ์ด ๋ง๋ ๊ฒ์ ๋ํด ๋์ ์์ค์ ํต์ ๊ถ์ ๊ฐ์ง๊ณ ์ถ์ดํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฐ ์ํฉ์ ์๋ ๋ชจ๋ ์ฌ๋๋ค์ด ๊ทธ๋ ๊ฒ ์ง๋ง์. ํ์ง๋ง ์์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ ๋ ์คํ์์ค ๋ํ์ ๋๋ค. ์ ๊ฐ ๋์๋ค๋ ๋ป์ ์๋์ง๋ง, ์ค๋ซ๋์ ์คํ์์ค ๋ํ์์ต๋๋ค. ๊ทธ๋์ ์ฐฝ์์ ์ปค๋ฎค๋ํฐ์ ์ธก๋ฉด์ ๋งค์ฐ ์ค์ํ๊ฒ ์๊ฐํฉ๋๋ค. Gleam์ ๋ง์ ๋ถ๋ถ์ด ์ปค๋ฎค๋ํฐ์์ ์ํธ ์์ฉ ๋ฐฉ์, ์ด์ ๊ด๋ฆฌ ๋ฐฉ์, ์ฌ๋๋ค์ด ์ฐธ์ฌํ๊ณ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค ์ ์๋๋ก ๋๋ ๋ฐฉ์์์ ๋น๋กฏ๋์์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๋๊ตฐ๊ฐ๊ฐ ์ ์๊ฒ๋ ํ๊ธฐ ํ๋ ๋ฉ์ง ์์ ์ ํด์ ์ ์๊ฐ์ ์ ์ฝํด ์ฃผ๋ ๊ฒฝ์ฐ๋ ์๊ณ , ๋๊ตฐ๊ฐ๊ฐ pull request๋ฅผ ๋ณด๋๋๋ฐ ๋ณ๋ก ์ข์ง ์์์ ์ ๊ฐ ๋์์ ์์ฑํ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ ๊ฐ ์ง์ ํ๋ ๊ฒ๋ณด๋ค ์๊ฐ์ด ํจ์ฌ ๋ ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง, ๊ทธ ์ฌ๋์ ์ข์ ๊ฒฝํ์ ํ๊ณ ์ปค๋ฎค๋ํฐ์ ์ผ์์ด ๋ฉ๋๋ค. ๋ ๋ค ์ข์ ์ผ์ ๋๋ค. ์ด ๋ ๊ฐ์ง ๋ชจ๋๋ฅผ ์ฑ์ฅ์ํค๊ณ , ๋ค๋ฅธ ๋ชจ๋ ์ํธ ์์ฉ์ ํตํด ์ปค๋ฎค๋ํฐ๋ฅผ ์ฑ์ฅ์ํค๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ด์ผ ์ ๊ฐ ์ฌ๋ผ์ง๋๋ผ๋, ๋ฌผ๋ก ๊ทธ๋ด ์ผ์ ์์ง๋ง, Gleam์ ๊ณ์๋ ๊ฒ์ ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ฌ๋๋ค์ด ๋๊ตฌ๋ฅผ ๊ธฐ์ฌํ๊ณ , ์ธ์ด ์์ฒด์ ๊ธฐ์ฌํ๊ณ , ์ค๊ณ ๊ฒฐ์ ์ ์ฐธ์ฌํ๊ณ ์๋์? ๋น์ ์๊ฒ์ ์ผ๋ง๋ ๋ถ์ฐ๋์ด ์๋์?
๋ฃจ์ด์ค ํํด๋: ์ปดํ์ผ๋ฌ ๊ฐ๋ฐ์ ๋๋ถ๋ถ์ ์ ๊ฐ ์ง์ ํ๊ณ ์์ต๋๋ค. ํ์ง๋ง ์ปค๋ฎค๋ํฐ๋ ๋๋ถ๋ถ Discord์์ ํ๋ํ๊ณ ์์ต๋๋ค. ์ ๋ง ๋ฉ์ง ๊ณณ์ ๋๋ค. Discord ์ปค๋ฎค๋ํฐ๋ ์ ๋ง ์น์ ํ๊ณ ์พํํ ์ฌ๋๋ค๋ก ๊ฐ๋ํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ์ฌ๋๋ค์ ๊ทธ๋ฅ Discord์์ ์ด์ธ๋ฆฌ๋ ค๊ณ ํฉ๋๋ค. ์ด๋ค ์ฌ๋๋ค์ ์ธ์ด ๊ฐ๋ฐ๊ณผ ๋๊ตฌ์ ๊ด์ฌ์ด ๋ง์์ ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํฉ๋๋ค. ๋ฉ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ๋ ํ๊ณ , ํ์ ์ ์ธ ๊ธ์ ์ฐ๋ ์ฌ๋๋ค๋ ์์ต๋๋ค. ์ธ์ด ๊ธฐ๋ฅ๊ณผ ์ธ์ด ๊ธฐ๋ฅ ๊ฐ์ ์ํธ ์์ฉ์ ๋ํ ๊ธด ๊ธ์ ์ฐ๊ณ , ๋ ผ๋ฌธ์ ์ฐธ์กฐํ๊ธฐ๋ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ Gleam์ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ๋๋ถ๋ถ ์์ ์ด ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ณต์ ํ๊ฑฐ๋ ์ทจ๋ฏธ ํ๋ก์ ํธ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ Gleam์ ์ฌ์ฉํ์ง ์๋ ์ฌ๋๋ค๋ ์์ต๋๋ค. ๊ทธ๋ฅ ์ปค๋ฎค๋ํฐ๊ฐ ์ข์์ Discord์ ์๋ ๊ฑฐ์ฃ . Gleam์ด ์๋๋ผ ์ฌ๋๋ค์ด ์ข์์ Discord์ ์๋ ๊ฒ๋๋ค. "Gleam์ ์จ๋ณธ ์ ์์ด์?"๋ผ๊ณ ๋ฌผ์ผ๋ฉด "๋ค, ํ ๋ฒ ์ค์นํด ๋ดค์ด์. ์คํํด ๋ณธ ์ ์ ์์ง๋ง์."๋ผ๊ณ ๋๋ตํฉ๋๋ค. ํ์ง๋ง ๊ทธ๋๋ ๊ด์ฐฎ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ญ๊ฐ ์ ๋๋ก ํ๊ณ ์๋ค๋ ์ฆ๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ปค๋ฎค๋ํฐ๋ฅผ ๋ง๋ค๊ณ ์๋ค๋ ์ฆ๊ฑฐ์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ๋ง์์. ์ ๋ง ์ข์ ์ ํธ์ ๋๋ค. ์ธ์ ๊ฐ๋ ํ์๊ธ์ผ๋ก 100์์ด์ปค ๊ท๋ชจ์ ๋ชฉ์ฅ์ ์ฌ์ Gleam ์ปค๋ฎค๋ํฐ ์ ์ฒด๊ฐ ํจ๊ป ์ด๋ฉด์ ๋ชฉ์ฅ ์ผ์ ํ ์ ์์ ๊ฒ ๊ฐ๋ค์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๋ง์์. ํ๋ก๊ทธ๋๋จธ๋ค์ด ์ํด ํ์ ๊ฐ ์ ์๋ ๊ณณ์ด์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ฃจ์ด์ค ํํด๋ ์ํด์ ๋ง์์ด๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๋์ฅ์์ ์ฌ๋ ๊ฑฐ์ฃ . ์ข๋ค์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: Gleam์ ๋ฏธ๋๋ ์ด๋ป๊ฒ ๋ ๊น์? 2๋ ํ์ Gleam์ ๋ณด๋ฉด ํฅ๋ฏธ๋ก์ด ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ด ์์๊น์? ๋ฃจ์ด์ค ํํด๋๊ฐ GleamConf์ ์ฌํ๋ฅผ ๋ณด๊ณ ์์๊น์?
๋ฃจ์ด์ค ํํด๋: ์ต๊ทผ์ ์ปจํผ๋ฐ์ค์์ ๋ฐํ๋ฅผ ์ค์ด๊ธฐ๋ก ํ์ต๋๋ค. ๋ฐํํ๋ ๊ฒ์ ์ข์ํ์ง๋ง, ๋ฐํ ์ค๋น์ ์๊ฐ์ด ๋๋ฌด ๋ง์ด ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ค ์ฌ๋๋ค์ ๊ธฐ์ฐจ์์ ๋ฐํ ์๋ฃ๋ฅผ ๋ง๋ค๊ธฐ๋ ํ์ง๋ง, ์ ๋ ์ด๋ ธ์ ๋ ์ฐ๊ทน์ ๋ง์ด ํด์ ๊ทธ๋ฐ์ง, ํญ์ ๋๋ณธ์ ์ฐ๊ณ ๋ฆฌํ์ค์ ํ๊ณ ์์ ํ๋ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค. ์๊ฐ์ด ๋๋ฌด ๋ง์ด ๊ฑธ๋ฆฌ์ฃ . ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์ฐ๋ ๊ฒ์ด ํจ์ฌ ๋น ๋ฅด๊ณ , ๋ ๋ง์ ์ฌ๋๋ค์ด ์ฝ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ์งธ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์ฐ๊ฑฐ๋, Gleam ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ์ง๊ธ์ Gleam์ด ๋ง์ ๊ด์ฌ์ ๋ฐ๊ณ ์๊ณ , ์ข์ ๋ชจ๋ฉํ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. GitHub์์ F#๋ณด๋ค ๋ณ์ ์ด ๋ ๋ง์ต๋๋ค. ์ ๋ง ์ด์ํ์ฃ .
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์, ์ ๋ง ๋๋จํ๋ค์. ์ด๋ป๊ฒ ๋ ๊ฑฐ์ฃ ?
๋ฃจ์ด์ค ํํด๋: ์ง๊ธ์ด Gleam์ ๋ฐ์ด๋ถ์ผ ๋์ ๋๋ค. ๊ทธ๋์ ์๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํด์ผ ํ๊ณ , ์ง๊ธ์ ์ปจํผ๋ฐ์ค์ ์ฐธ์ํ ๋๊ฐ ์๋๋๋ค. ํ์ง๋ง ๋๊ตฐ๊ฐ GleamConf๋ฅผ ๊ฐ์ตํ๋ค๋ฉด, ์ ๋ ๊ผญ ์ฐธ์ํ ๊ฒ์ ๋๋ค.
2๋ ์์ Gleam์ ์์ฑ๋ ์ธ์ด์ฒ๋ผ ๋ณด์ผ ๊ฒ์ ๋๋ค. ๋ ์ด์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ง ์๋๋ค๋ ๋ป์ ์๋์ง๋ง, Gleam 1.0 ๋ฒ์ ์ ํ์ํ๋ค๊ณ ์๊ฐํ๋ ๋ชจ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ๊ฒ์ ๋๋ค. ํญ์ ์ ๋ฉ๋ฆฌ ์ํ์ ์ ์๋ ์ฐ์ฒ๋ผ ๋ณด์๋๋ฐ, ์ด์ ๋ ์ธ๋์ฒ๋ผ ๋ณด์ ๋๋ค. ์ฌ์ ํ ํฌ์ง๋ง, ์ํ์ ์ ์์ต๋๋ค. ์ ๋ง ํฅ๋ฏธ๋กญ์ฃ . ๊ทธ๋ฆฌ๊ณ "์ด์ 1.0 ๋ฒ์ ์ ์ถ์ํ ๊น? ์ปดํ์ผ๋ฌ์ ์ธ์ด๋ฟ๋ง ์๋๋ผ ๋น๋ ๋๊ตฌ, ์ธ์ด ์๋ฒ ๋ฑ๋ ํฌํจ๋ ๋ฐ์ด๋๋ฆฌ์์ 1.0 ๋ฒ์ ์ ๋ฌด์์ ์๋ฏธํ ๊น? ๋น๋ ๋๊ตฌ์ ์ธ์ด ์๋ฒ๋ 0.x ๋ฒ์ ์ผ๋ก ์ ์งํ๊ณ ์ธ์ด ์์ฒด๋ง 1.0 ๋ฒ์ ์ผ๋ก ์ถ์ํ ๊น?"๋ผ๋ ์ง๋ฌธ์ ๋ํ ๋ต์ ์ฐพ์์ผ ํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ ๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๋ฏธ๋ฌํ ๋ถ๋ถ์ด ๋ง์ต๋๋ค. ์ฌ๋๋ค์ด Gleam์ ์ด๋ป๊ฒ ์ฌ์ฉํ๊ณ ์๋์ง, ํ๋ก๋์ ํ๊ฒฝ์์ Gleam์ด ์ด๋ป๊ฒ ์๋ํ๋์ง์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ๋ ๋ง์ด ์์งํ๊ณ ์ถ์ต๋๋ค. Gleam์ ๋์์ธ์ด ์ข๋ค๊ณ ์๊ฐํ์ง๋ง, 2๋ ํ์ ์ฌ๋๋ค์ด "์ด ๋ถ๋ถ์ด ์ ๋ง ๋ณ๋ก์์."๋ผ๊ณ ๋งํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด "์๊ฒ ์ต๋๋ค. ๊ณ ์น๊ฒ ์ต๋๋ค."๋ผ๊ณ ๋๋ตํ ์ ์์ฃ . 1.0 ๋ฒ์ ์ ์ถ์ํ ํ์ ๊ทธ๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋๋ ๊ฒ๋ณด๋ค 1.0 ๋ฒ์ ์ ์ถ์ํ๊ธฐ ์ ์ ๊ทธ๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๊ทธ๋ฌ๋๊น 1.0 ๋ฒ์ ์ ์ถ์ํ๊ธฐ ์ ์ ์ฃผ์ ๊ธฐ๋ฅ๋ค์ด ํ๋ก๋์ ํ๊ฒฝ์์ ์ถฉ๋ถํ ๊ฒ์ฆ๋๊ธฐ๋ฅผ ๋ฐ๋ผ๋๊ตฐ์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๊ทธ๋ ์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ ๋ง์ด ์์งํ๊ณ ์ถ์ต๋๋ค. ๋ฐ์ดํฐ๋ ๋ง์์๋ก ์ข์ต๋๋ค. ์ด๋ค ๊ฒฐ์ ์ ๋ด๋ฆด ๋ ํ์ ์ด ์์ง ์๋๋ค๋ฉด, ์กฐ๊ธ ๋ ๊ธฐ๋ค๋ฆฌ์ธ์. ๋ ๋ง์ ์๊ฐ์ ํ๊ณ , ๋ ๋ง์ ์ฌ๋๋ค๊ณผ ์ด์ผ๊ธฐํ๊ณ , ๋ ๋ง์ ์คํ์ ํด๋ณด์ธ์. Gleam ์ปค๋ฎค๋ํฐ์ ๊ฐ์ ํด์ ์กํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ์์ฑํ๊ณ ์ด๋ค ์กํฐ๊ฐ ๊นจ์ง๋์ง ํ์ธํด ๋ณด์ธ์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ๋ง์์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ๊ทธ๋ ๊ฒ ํ์ธ์.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ์ข์ ๋ง์์ ๋๋ค. ์ ๋ Gleam์ ๊ผญ ์จ๋ด์ผ๊ฒ ๋ค์. ์ค๋ ์คํ๋ ์๊ฐ์ด ์์ผ๋๊น์.
๋ฃจ์ด์ค ํํด๋: ๋ค, ์ข์ต๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ฃจ์ด์ค, ์ ๋ง ๋ฉ์ง ์ธ์ด๋ฅผ ๋ง๋ค์๋ค์. Erlang๋งํผ ์ด์ํ์ง ์์ผ๋ฉด์๋ Erlang์ ๊ฐ๋ ฅํจ์ ๊ฐ์ง ์ธ์ด๋ฅผ ์จ๋ณผ ์ ์๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. ์ค๋ ํจ๊ปํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๊ฐ์ฌํฉ๋๋ค. Gleam ์ปค๋ฎค๋ํฐ์์ ๋ง๋ ๋ต๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ค, ๊ผญ ๊ทธ๋ฌ๊ฒ ์ต๋๋ค.
๋ฃจ์ด์ค ํํด๋: ๊ฐ์ฌํฉ๋๋ค.
ํฌ๋ฆฌ์ค ์ ํจ์ค: ๋ฃจ์ด์ค, ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฃจ์ด์ค์ ๊ณ ์์ด ๋๋น์๊ฒ๋ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๊น์ง ์ถ์ฐํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ด๊ฒ์ผ๋ก ์ค๋ ์ํผ์๋๋ฅผ ๋ง์น๊ฒ ์ต๋๋ค. ์ ๋ ํฌ๋ฆฌ์ค ์ ํจ์ค์๊ณ , ๋ฃจ์ด์ค ํํด๋์ ํจ๊ป Developer Voices๋ฅผ ์งํํ์ต๋๋ค. ๋ค์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ ๋ Gleam์ ์จ๋ด์ผ๊ฒ ๋ค์. ์๊ฐ์ด ์ข ์์ผ๋๊น ํ๋ก๊ทธ๋๋ฐ์ ์ข ํด๋ด์ผ๊ฒ ์ต๋๋ค. Gleam์ ๋ํด ๋ ์์ธํ ์๊ณ ์ถ์ผ์๋ฉด gleam.run์ ๋ฐฉ๋ฌธํ์ธ์. Gleam์ ๋ํ ๋ชจ๋ ์ ๋ณด๊ฐ ์์ต๋๋ค. ์ ์ฒ๋ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ง์์ด ๊ถ๊ธํ์ ๋ถ๋ค์ packages.gleam.run์ ๋ฐฉ๋ฌธํ์ธ์.
gleam.run์ ๋ฐฉ๋ฌธํ๊ธฐ ์ ์, ํ์บ์คํธ์ ์ด ๋ถ๋ถ์์๋ ์คํฐ์๋ฅผ ์๊ฐํ๋๋ฐ, ์์ง ์คํฐ์๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ์ด๋ฒ ์ฃผ ์ํผ์๋๋ ๋ฐ๋ปํ ์ฐจ ํ ์์ผ๋ก ํ์๋์์ต๋๋ค. ์ฒด์ก๊ด์์, ๋ถ์์์, ํธ๋ผํซ ๋ ์จ์ ๊ฐ๋ ๊ธธ์ ์ด ํ์บ์คํธ๋ฅผ ๋ฃ๊ณ ๊ณ์๋ค๋ฉด, ๋ฐ๋ปํ ์ฐจ ํ ์๊ณผ ํจ๊ป ์ฆ๊ฒจ๋ณด์ธ์. ๊ทธ๋ฆฌ๊ณ ๋น์คํท๋ ํจ๊ป ๋์๋ฉด ๋ ์ข์ต๋๋ค. ๋น์คํท์ ๋์ ธ์ฃผ์๊ณ Developer Voices์ ๋ค์ ์ํผ์๋๋ฅผ ํ์ํ๊ณ ์ถ์ผ์๋ค๋ฉด ์ข์์, ๊ตฌ๋ , ๊ณต์ ๋ฒํผ์ ๋๋ฌ์ฃผ์ธ์. ํฅ๋ฏธ๋ก์ ๋ค๋ฉด ์น๊ตฌ๋ค์๊ฒ ๊ณต์ ํด ์ฃผ์ธ์. ์๊ณ ๋ฆฌ์ฆ์ ์ฌ๋๋ค์ด ๋ฌด์์ ๊ด์ฌ์ด ์๋์ง ํ์ ํ๋ ค๊ณ ๋ ธ๋ ฅํฉ๋๋ค. ํฅ๋ฏธ๋ก์ ๋ค๋ฉด ํด๋ฆญ์ผ๋ก ์๋ ค์ฃผ์ธ์.
์ด๊ฒ์ผ๋ก ์ค๋ ์ํผ์๋๋ฅผ ๋ง์น๊ฒ ์ต๋๋ค. ์ ๋ ํฌ๋ฆฌ์ค ์ ํจ์ค์๊ณ , ๋ฃจ์ด์ค ํํด๋์ ํจ๊ป Developer Voices๋ฅผ ์งํํ์ต๋๋ค. ๋ค์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.