ะ
์ ์๋์ ์๊ณ ์ธํฐ๋ท๊ณผ ์น๊ตฌ๊ฐ ์์ต๋๋ค. ํ๊ต์์์ ๊ต์ก์ PXNUMXP ํ์ต์ด๋ผ๋ ๊ณต๋ ํ๋ก์ ํธ ์์ ์ ์์น์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ํ์๋ค์ ๊ต๊ณผ์๋ฅผ ๊ณต๋ถํ์ง๋ ์๊ณ ๊ฐ์๋ฅผ ๋ฃ์ง๋ ์์ต๋๋ค. ํ๊ต ์ฃผ์ต์๋ ๋ชจ๋ ๊ฒ์ ์ธํฐ๋ท์์ ์ฐพ์ ์ ์๊ณ , ์น๊ตฌ๋ ํ๋ก์ ํธ์ ํจ๊ป ์ฐธ์ฌํ๋ ๊ฒฝํ์ด ๋ง์ ํ์๋ค์๊ฒ ์์ฒญํ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค.
์์ฑ๋ ๊ณผ์ ๋ ๋ค๋ฅธ ํ์๋ค์ด 3~4๋ฒ์ฉ ํ์ธํ๋ฏ๋ก ๋๊ตฌ๋ ํ์์ด์ ๋ฉํ ๊ฐ ๋ ์ ์์ต๋๋ค. ์ฑ์ ๋ ์์ต๋๋ค. ๊ณผ์ ๋ฅผ ์ ํํ๊ณ ์์ ํ๊ฒ ์๋ฃํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. 90% ์๋ฃ๋๋๋ผ๋ ์คํจ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
ํ์ ์ ์๊ณ ํฌ์ธํธ๋ง ์์ต๋๋ค. ๊ฒํ ๋ฅผ ์ํด ํ๋ก์ ํธ๋ฅผ ์ ์ถํ๋ ค๋ฉด ํน์ ์ ์, ์ฆ ์์ ์ ์๊ฐ ์์ด์ผ ํฉ๋๋ค. ๋ค๋ฅธ ํ์์ ์์ ๋ฅผ ํ์ธํ๋ฉด ์ ์๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ถ๊ฐ์ ์ธ ์ฑ์ฅ ์์ธ์ ๋๋ค. ์๋ํ๋ฉด ๋ค์ํ ์์ ์ ์ดํดํด์ผ ํ๊ณ ๋๋ก๋ ์ง์ ์์ค์ ์ด๊ณผํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
โ์ผ๋ถ ํ๋ก์ ํธ๋ ์ค์ ๊ณต๊ฐ์ด์ด์ ๋ง์์ ์ฌ๋ก์ก์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋จ ํ๋์ ์์ ์ ์ ์ป์ผ๋ ค๋ฉด ํ๋ฃจ ์ข ์ผ ๋์ ํ๋ฆฌ๋ฉฐ ์ฝ๋๋ฅผ ์ดํดํด์ผ ํฉ๋๋ค. ์ด๋ ๋ ์ด์ด ์ข์์ ํ๋ฃจ์ ๋ฌด๋ ค 4์ ์ ์ป์์ต๋๋ค. ์ด๊ฒ์ ํ์น ์์ ํ์ด์ ๋๋ค.โ, ๋ด ์น๊ตฌ์ด์ ํ์์ธ ์ธ๋ฅด๊ฒ์ด(Sergei)๊ฐ ๋งํฉ๋๋ค.
๊ตฌ์์ ์์ผ๋ฉด ์์ฉ์์ด์. ํ๋ก์ ํธ๋ ๊ฐ๋ณ์ ์ผ๋ก, ์์ผ๋ก, ๊ทธ๋ฆฌ๊ณ ๋๊ท๋ชจ ๊ทธ๋ฃน์ผ๋ก ์๋ฃ๋ฉ๋๋ค. ๊ทธ๋ค์ ์ธ์ ๋ ๊ฐ์ธ์ ์ผ๋ก ๋ณดํธ๋ฐ์ผ๋ฉฐ, ๊ทธ๋ฃน์ ๋ชจ๋ ๊ตฌ์ฑ์์ด ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํ๊ณ , ๋ชจ๋๊ฐ ์ฝ๋๋ฅผ ์ดํดํ๊ณ ๋์ ๋๊ธฐ๋ฅผ ๋ถ์ฌ๋ฐ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ฌ๊ธฐ์ ์นจ๋ฌต์ ์งํค๊ณ ์์ ์์ ์๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ๋ผ์ ํ๊ต๋ ๊ทธ๋ฃน ์์ ๋ฐ ์ฑ๊ณต์ ์ธ ์์ฌ์ํต ๊ธฐ์ ์ ํฅ์์ํต๋๋ค. ๊ฒ๋ค๊ฐ, ๋ชจ๋ ํ์๋ค์ด ์๋ก ์์๊ฐ๋ฉฐ ์ํตํ๊ฒ ๋๋ฏ๋ก ๋คํธ์ํน๊ณผ ๋ฏธ๋ ์ง๋ก์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
๊ฒ์ด๋ฏธํผ์ผ์ด์ . ์ปดํจํฐ ๊ฒ์์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ํ์๋ค์ ๋ ๋ฒจ์ ์ฌ๋ฆฌ๊ณ ์์ ์ด ํต๊ณผํ ์ ์ฒด ๊ฒฝ๋ก์ ์์ผ๋ก ๋์๊ฐ ๊ฒฝ๋ก๋ฅผ ๋ช ํํ๊ฒ ๋ณด์ฌ์ฃผ๋ "์ ์ฑํ" ์ง๋์ธ ์ ์ฑ ๊ทธ๋ํ๋ฅผ ์ฌ์ฉํ์ฌ ์งํ ์ํฉ์ ์ถ์ ํฉ๋๋ค. RPG์ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๋ก์ ํธ์๋ '๊ฒฝํ์น'๊ฐ ์ฃผ์ด์ง๋ฉฐ, ์ผ์ ๋์ ์ถ์ ํ ํ ์๋ก์ด ๋ ๋ฒจ๋ก ์ ํ๋ฉ๋๋ค. ์ค์ ๊ฒ์๊ณผ์ ์ ์ฌ์ ์ ๊ฐ๊ฐ์ ์๋ก์ด ๋ ๋ฒจ์ด ์ด์ ๋ ๋ฒจ๋ณด๋ค ๋ ์ด๋ ต๊ณ , ์์ ์ด ์ ์ ๋ ๋ง์์ง๋ค๋ ๊ฒ์ ๋๋ค.
์ ๋ฆฌ์ Adm. ํ๊ต์๋ Bokal(๊ธฐ์ ์)๊ณผ Adm(ํ์ )์ ๋ ๊ฐ์ง ์ฃผ์ ๋ถ์๊ฐ ์์ต๋๋ค. Bokal์ ๊ธฐ์ ์ ๋ฌธ์ ์ ๊ต์ก์ ๊ตฌ์ฑ ์์๋ฅผ ๋ค๋ฃจ๊ณ Adm์ ๊ด๋ฆฌ ๋ฐ ์กฐ์ง ๋ฌธ์ ๋ฅผ ๋ค๋ฃน๋๋ค. Bokala/Adm์ ์๋น ์ธ๋ ฅ์ ํ๊ต์์ ์ธํด์ญ์ ๋ฐ๋ ํ์๋ค์ด ์ง์ ๋ณด์ถฉํฉ๋๋ค.
์ฌ๊ธฐ์ ๊ฐ๋ฅด์น๋ ๋ฐฉ๋ฒ๊ณผ ๋ด์ฉ
๋ชจ๋ ๊ฒ์ "S"๋ก ์์๋ฉ๋๋ค. ํ๊ต์์๋ Windows๊ฐ ์ต์ ์ ์ ํ์ด ์๋๋ผ๋ ์ ์ ๊ณ ๋ คํ์ฌ Unix๋ง์ ์ฌ์ฉํฉ๋๋ค. ์ฝ๋๋ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ถํฐ ๊ฐ๋ฅด์น๋ฏ๋ก ํ๋ก๊ทธ๋๋ฐ์ ๋ ผ๋ฆฌ ์์ฒด๋ฅผ ์ดํดํ๋๋ก ๊ฐ์ํฉ๋๋ค. ๋ชจ๋ ํ๋ก์ ํธ์ ์ฒ์ ๋ช ๋ ๋ฒจ์ C ๋ฐ C++ ์ธ์ด๋ก๋ง ์คํ๋๋ฉฐ IDE๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ํ์๋ค์ gcc ์ปดํ์ผ๋ฌ์ vim ํ ์คํธ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
โ๋ค๋ฅธ ์ฝ์ค์์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ํ๋ก์ ํธ๋ฅผ ์ํํ ๋ค์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ง์ ์์ฑํ ๋๊น์ง ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฒ์์๋ ์์ง "ํ"์ ์์ ๋ ์ ์ด malloc์ด ํ์ํ์ง, ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ํ ๋นํด์ผ ํ๋์ง, ์ Python๊ณผ Javascript๋ฅผ ๊ณต๋ถํ์ง ์๋์ง ์ดํดํ์ง ๋ชปํ์ต๋๋ค. ๊ทธ๋ฌ๋ค ๊ฐ์๊ธฐ ๋ฌธ๋ ๊นจ๋ซ๊ฒ ๋๊ณ , ์ปดํจํฐ๊ฐ ์ด๋ป๊ฒ ์๊ฐํ๋์ง ์ดํดํ๊ธฐ ์์ํฉ๋๋ค.โ
์ง๋ช ํ๋ค. ๋ณดํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด ๋ชจ๋ ํ๋ก์ ํธ๊ฐ GitHub์ ๋๋ฑํ ๋ก์ปฌ ํ๋ก์ ํธ์ ์ ๋ก๋๋ฉ๋๋ค. ํ์ง๋ง ๊ทธ ์ ์ Norminette ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ํด๋น ์ฝ๋๊ฐ ํ๊ต ๊ท์น์ ์ค์ํ๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
โ์ฝ๋๊ฐ ์๋ฒฝํ๊ฒ ์๋ํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๋ฐ์ํ๋ฉด ํ๋ก์ ํธ๋ ์คํจํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๋ํ ๊ตฌ๋ฌธ๋ ํ์ธํฉ๋๋ค. ๊ธ์ง๋ ๊ธฐ๋ฅ, ์์ฑ, ํ๋๊ทธ ๋ชฉ๋ก์ด ์์ผ๋ฉฐ ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ถ์ ํ์๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๋ชจ๋ ์ผ์ ์์ ์ ์์ผ๋ก ๋งค์ฐ ์กฐ์ฌ์ค๋ฝ๊ฒ ํด์ผ ํฉ๋๋ค.", Sergei๋ ๋งํฉ๋๋ค.
์์ ์ ์
ํ์๋ค์ด ์ํํ๋ ๋ชจ๋ ์์ ์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์, ๋ค๋ฅธ ํ์ ๋ฐ Glass ๋ํ์์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋ฐ๋ผ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํ์ธ๋ฉ๋๋ค. ๋ค์์ ์ฒดํฌ๋ฆฌ์คํธ๊ฐ ํฌํจ๋ DIY ํ๋ก์ ํธ์ ๋๋ค.
Init(์์คํ ๋ฐ ๋คํธ์ํฌ ๊ด๋ฆฌ) โ ๊ฐ์ ๋จธ์ ์ Debian ์ด์ ์ฒด์ ๋ฅผ ์ค์นํ๊ณ ์์ ์ ์ง์ ๋ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
๋ฆฌํํธ โ ๋ค์๊ณผ ๊ฐ์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ฅผ C ์ธ์ด๋ก ๊ตฌํํฉ๋๋ค. strcmp, atoi, strlen, memcpy, strstr, toupper, tolower
๋ฑ. ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ผ๋ฏ๋ก ์ง์ ์ํํ์ธ์. ํค๋๋ฅผ ์ง์ ์์ฑํ๊ณ , ์ง์ ๊ตฌํํ๊ณ , ์ง์ ์์ฑํ์ธ์. Makefile
, ์ง์ ์ปดํ์ผํ์ธ์.
์ธ์ โ ํ์ค ๊ธฐ๋ฅ์ ์์ ํ ๊ตฌํํด์ผ ํฉ๋๋ค. printf
๋ชจ๋ ์ธ์๊ฐ C๋ก ๋์ด ์์ต๋๋ค. ์ด๋ณด์์๊ฒ๋ ๋งค์ฐ ์ด๋ ต์ต๋๋ค.
ํ๋ฆฟ - ์ ๋ ฅ์ผ๋ก ์ ๊ณต๋๋ ํ ํธ๋ก๋ฏธ๋ ธ ๋ชฉ๋ก์์ ์ต์ ๋ฉด์ ์ ์ ์ฌ๊ฐํ์ ์กฐ๋ฆฝํด์ผ ํ์ต๋๋ค. ์๋ก์ด ๋จ๊ณ๋ง๋ค ์๋ก์ด ํ ํธ๋ก๋ฏธ๋ ธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๊ณ์ฐ์ด C์์ ์ต์ํ์ ์๊ฐ ๋ด์ ์ํ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์์ ์ด ๋ณต์กํด์ก์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ โ ์์ ๋ง์ ๋ช
๋ น ๋ฒ์ ์ ๊ตฌํํฉ๋๋ค. ls
๋ชจ๋ ํ์ค ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ณผ๊ฑฐ ๊ณผ์ ์ ๊ฐ๋ฐ ๋ด์ฉ์ ์ฌ์ฉํ ์ ์๊ณ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ฌ์
ํผ์ ์ํํ๋ ์์ ์ธ์๋ ํ์ ๊ทธ๋ฃน์ด ์ํํ๋ ๋ณ๋์ ์์ ๋ฒ์ฃผ์ธ ๋ฌ์๊ฐ ์์ต๋๋ค. ๋ ๋ฆฝ ํ๋ก์ ํธ์ ๋ฌ๋ฆฌ ๋ฌ์๋ ํ์๋ค์ด ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ฒํ๋ ๊ฒ์ด ์๋๋ผ ๋ณด์นผ์ ๊ต์ง์์ด ์ ๊ฒํฉ๋๋ค.
ํ์ดํ์ค โ ํ๋ก๊ทธ๋จ์ ํ์ผ ์ด๋ฆ๊ณผ ์์์ ์ ธ ๋ช ๋ น์ ์ ๋ ฅ์ผ๋ก ๋ฐ์๋ค์ ๋๋ค. ํ์์ ์์คํ ์์ค์์ ํ์ดํ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ๊ณ ํฐ๋ฏธ๋์์ ์์คํ ์ ํ์ค ๋์๊ณผ ๋์ผํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฅ๋ ฅ์ ๋ณด์ฌ์ผ ํฉ๋๋ค.
๋ฏธ๋ํ ํฌ โ C๋ก ํด๋ผ์ด์ธํธ-์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌํํฉ๋๋ค. ์๋ฒ๋ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์์ ์์ ์ ์ง์ํ๊ณ SIGUSR1 ๋ฐ SIGUSR2 ์์คํ ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ๋ฉ์์ง๋ฅผ ์ธ์ํ ์ ์์ด์ผ ํฉ๋๋ค.
๊ฒจ์ธ ์๊ตญ โ ๋์์ฑ ๋ฐ ๊ณ ๋ฃจํด์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์ ๋์์ ์์ ํ ์ ์๋ IRC ์๋ฒ๋ฅผ Golang์ผ๋ก ์์ฑํฉ๋๋ค. ํด๋ผ์ด์ธํธ๋ ๋ก๊ทธ์ธ ๋ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธํ ์ ์์ด์ผ ํฉ๋๋ค. IRC ์๋ฒ๋ ๋ค์ค ์ฑ๋์ ์ง์ํด์ผ ํฉ๋๋ค.
๊ฒฐ๋ก
School 42์๋ ๋๊ตฌ๋ ๋ฑ๋กํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ํด ํน๋ณํ ์ง์์ด ํ์ํ์ง ์์ต๋๋ค. ํ๋ก๊ทธ๋จ์ด ์ด๋ณด์๋ฅผ ์ํด ์ค๊ณ๋์๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ ๊ฐ๋จํ ์์ ์ ์ข ์ข ๋ถ๋ถ๋ช ํ ๊ณต์์ด ํฌํจ๋ ์ฌ์ํ์ง ์์ ๋ฌธ์ ๋ก ๋น ๋ฅด๊ฒ ๋์ฒด๋ฉ๋๋ค. ํ์์ ์ต๋์ ํ์ , ์์ด๋ก ๋ ๊ณต์ ๋ฌธ์์์ ๋๋ฝ๋ ์ ๋ณด๋ฅผ ๊ฒ์ํ ์ ์๋ ๋ฅ๋ ฅ, ๋ค๋ฅธ ํ์๋ค๊ณผ ํ๋ ฅํ์ฌ ๊ณผ์ ๋ฅผ ์๋ฃํ ์ ์๋ ๋ฅ๋ ฅ์ด ํ์ํฉ๋๋ค. ๊ต์ก ํ๋ก๊ทธ๋จ์๋ ์๊ฒฉํ ์์๊ฐ ์์ผ๋ฏ๋ก ๋ชจ๋ ์ฌ๋์ด ์์ ์ ๊ฐ๋ฐ ๊ฒฝ๋ก๋ฅผ ์ ํํฉ๋๋ค. ์๋ํฌ์๋ ํ๊ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ฌ๋๊ณผ ์์ ์ ๋น๊ตํ๋ ๋์ ์์ ์ ๋ฐ์ ๊ณผ ๋ฐ์ ์ ์ง์คํ ์ ์์ต๋๋ค.
์ถ์ฒ : habr.com