์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
CUI์์ ๋์ด์ด
1. ๊ฐ์[ํธ์ง]
๋ช
๋ น์ค ์ธํฐํ์ด์ค(CLI)๋ Command-Line Interface ๋๋ Character User Interface์ด๋ค. TUI์๋ ์กฐ๊ธ ๋ค๋ฅธ ๊ฐ๋
์ด๋ค. ๊ฐ์ฅ ๋ํ์ ์ธ ์์๋ก๋ ๋์ค, ๋ช
๋ น ํ๋กฌํํธ, bash๋ก ๋ํ๋๋ ์ ๋์ค ์
ธ ํ๊ฒฝ์ด ์๋ค.
์ผ๋ฐ์ ์ผ๋ก CLI ํ๊ฒฝ์ ๋ถ์น์ ํ ํ๊ฒฝ์ผ๋ก ์ฌ๊ฒจ์ง๋ค. CLI ํ๊ฒฝ์ ์ต์ํด์ง๋ ค๋ฉด ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด๋ค์ ์ธ์์ผ ํ๋ ๊ฒ๋ถํฐ ๋๊ด์ธ๋ฐ, ๊น๊ฒ ๋ค์ด๊ฐ์๋ก ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ด๋ จ ์๋ ํ์ดํ ๋ฐ ์ ธ ์คํฌ๋ฆฝํธ๊น์ง ๋ด๋ ค๊ฐ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์์ผ ํ ๊ฒ ๋์ด ์๋ค. ๋น์ฐํ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ ํค๋ณด๋ ๋ฐ ๋ง์ฐ์ค๋ฅผ ํตํ์ฌ ์ ๊ทผํ๋ ์ง๊ด์ ์ธ GUI๋ฅผ ์ ํธํ ์๋ฐ์ ์๋ค. ์ด ๋๋ฌธ์ CLI๋ ์ต์ข ์ฌ์ฉ์ ์์ค์์๋ GUI๋ก ์์ ํ ๋์ฒด๋์์ผ๋ฉฐ, ์์ง๊น์ง CLI๊ฐ ๋จ์์๋ ๋ถ์ผ๋ ์๋ฒ ๊ด๋ฆฌ ๋ฐ ์๋ฒ ํ๋ก๊ทธ๋๋ฐ์ฒ๋ผ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ ์ ์ด ๋ฟ์์๋ ๋ถ๋ถ์ด๋ค.
๋ถํธํ๊ธฐ๋ง ํด ๋ณด์ด๋ CLI๊ฐ ์์ง๊น์ง ๋จ์์๋ ์ด์ ๋ GUI๊ฐ ๋์ฒดํ ์ ์๋ CLI๋ง์ ์ฅ์ ๋๋ฌธ์ด๋ค. ์ผ๋จ ๋ง์ง๋ ์ฌ๋์ด ์ต์ข ์ฌ์ฉ์๊ฐ ์๋ ์ถฉ๋ถํ ๊ต์ก๋ ์ฌ๋์ด๊ธฐ์ ์ง์ ์ฅ๋ฒฝ์ด ํฌ๊ฒ ๋ฌธ์ ๊ฐ ๋์ง ์์ผ๋ฉฐ, ์์์ ์ ๊ฒ ์ก์ ๋จน์ผ๋ฉด์ ์์ ์ ์ด๊ณ ๋น ๋ฅด๋ค. ๊ฒ๋ค๊ฐ ์๊ฒฉ์ผ๋ก ์์ ํ ๋ ์ฌ๋งํ ๋คํธ์ํฌ ํ๊ฒฝ์์๋ ์์ ์ ์ผ๋ก ์์ ํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์ ์ญ์ ์๋์ ์ผ๋ก ์ ๋ค. ํนํ ์๋ฒ ์ชฝ์์๋ ์์ ์๋ํ[1]์ ์๊ฒฉ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ CLI๋ ์ด ๋ถ์ผ์์ ์๋์ ์ธ ํจ์จ์ ๋ณด์ฌ์ค๋ค.
์ฃผ๋ก ๋ฆฌ๋ ์ค ์ปค๋ฎค๋ํฐ ์ชฝ์ด ์ด๋ฐ CLI ํ๊ฒฝ์ ์ต์ํ ํธ์ด๋ค. ์ด๋ฐ ์ฌ๋๋ค์ GUI ์๋์ฐ ๋งค๋์ ์์ 'ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ'๋ฅผ ์ด์ฉํ์ฌ CLI๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ํตํฉ์์ผ์ ์ด๋ค. ์๋์์ cmd๋ COMMAND.COM์ ๋์ ๋๊ณ ์ฌ์ฉํ๋ค๊ณ ์๊ฐ ํ๋ฉด ๋๋ค. ๋ฌผ๋ก ์ฐจ์ด๋ ์์ฒญ๋๋ค. ์ ์ข๋ค๋ ์๋ฏธ๊ฐ ์๋๊ณ ์ฌ์ง์ด ๋ ์ข์ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ํน์ ๊ธ๊ผด๊ณผ ๋ค์ํ ์์์ ์ ์ฉ์์ผ ํฐ๋ฏธ๋์ ์๋ก๋ฌ๋กํ๊ฒ, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ ์ฑ ์ข๊ฒ ๋ง๋ค ์ ์๋ค.[2] ํนํ macOS์์ ๋์๊ฐ๋ iTerm2๋ ์ด ๋ถ์ผ์ ์ต๊ฐ์.
ํ๋ก๊ทธ๋๋ฐ ๊ต์ก์ ๊ฒฝ์ฐ ๋งํ ๊ฒ๋ ์๋๋ฐ, ๋น์ฅ ํ๋ก๊ทธ๋๋ฐ ์ฒซ ์์ ๊ฐ ๋ฌด์์ธ์ง ์๊ฐํ๋ฉด ๊ฐ๋จํ ๊ฒ์ด๋ค. ์ฐ์ , GUI ํ๋ก๊ทธ๋๋ฐ์ ๋นํด ์ฌ์ ์ง์์ด ๋งค์ฐ ์ ๊ฒ ์๊ตฌ๋๋ฉฐ[3], ์ค์ ๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ๊ฐ์ฅ ๋ง์ด ๋ค๋ฃจ๋ ๋ฐ์ดํฐ์ ์ด ๋ฌธ์์ด์ด๊ธฐ๋ ํ๋ฐ๋ค๊ฐ, ๋ฌธ์์ด๋ง ๊ฐ์ง๊ณ ๋ ๊ฑฐ์ ๋ชจ๋ ์ข ๋ฅ์ ์๊ณ ๋ฆฌ์ฆ ์ฐ์ต์ ๋ค ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ CLI๋ถํฐ ์์ํ๋ ๊ฒ.
๊ฐ์ธ์ด ์ง์ ํํ์ด์ง๋ ๋ธ๋ก๊ทธ, ์๊ท๋ชจ ์ผํ๋ชฐ ๋ฑ์ ๋ง๋ค์ด ์ด์ํ ๋๋ ๋ณด๊ฒ ๋๋ค. ์น ํธ์คํ ์๋ฒ์ ํํ์ด์ง๋ ๋ธ๋ก๊ทธ ์์ค ํ์ผ ๊ด๋ฆฌ๋ฅผ ์ํด SSH๋ก ์ ์ํ๋ฉด ์ด๋ฏธ์ง ์์ด ๊ธ์๋ง ์ฃผ๋ฅด๋ฅต ๋จ๋ ํ๋ฉด์ด ๋จ๋๋ฐ, ๊ทธ๊ฒ ๋ฐ๋ก CLI ์ค ํ๋์ธ ๋ฆฌ๋ ์ค ํฐ๋ฏธ๋ ํ๊ฒฝ์ด๋ค. ๋ฌผ๋ก ์น ํธ์คํ ์ ์ฒด๋ ๊ฐ์ธ ํํ์ด์ง๋ ๋ธ๋ก๊ทธ, ์ผํ๋ชฐ ์ด์์ ์ํด ๊ฐ์ธ์ด CLI ํ๊ฒฝ์ ๋ฐฐ์ฐ๋ ๊ฑด ์ด๋ ต๋ค๋ ๊ฒ์ ์๊ณ ์๊ธฐ์ ์ต๋ํ CLI๋ฅผ ๋ง๋์ง ์๋๋ก ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ค. ๊ทธ๋ฌ๋ ์กฐ๊ธ ํ๊ณ ๋ค๋ค ๋ณด๋ฉด ์ด์ฉ ์ ์์ด CLI๋ฅผ ๋ง๋๊ฒ ๋๋ ๊ฒ์ด ํ์ค. ์ด๊ฒ ์ซ์ผ๋ฉด ์๋์ฐ ์น ํธ์คํ ์ ๋ฐ์ผ๋ฉด ๋์ง๋ง ์๋์ฐ๋ ๋ฌด๋ฃ๊ฐ ์๋๋ผ ํธ์คํ ๋น์ฉ๋ ๋น์ธ๋ค(...). ๋ฌผ๋ก ๋ฆฌ๋ ์ค๋ GUI๋ฅผ ์ง์ํ๋ ๋ฐฐํฌํ์ด ์๊ธฐ๋ ํ์ง๋ง[4][5] CLI ํ๊ฒฝ์ ๋นํด์ ์ฑ๋ฅ ์์ผ๋ก ๋นํจ์จ์ ์ธ ๊ฒ์ ์ด์ฉ ์ ์๋ค.
๊ทธ ์ธ์๋ ๋ถ์ผ์ ๋ฐ๋ผ ํ์ฉ๋๊ฐ ๋ฏธ์น ๋ฏ์ด ์ฌ๋ผ๊ฐ๊ธฐ๋ ํ๋ค. ์์ธ๋ก ๋ฌผ๋ฆฌํ์๋ค์ด ๋ง์ด ์ฐ๋๋ฐ, ํนํ ์ ์๋ฌผ๋ฆฌ ๊ณ์ด์ ํ๋ ์ฌ๋๋ค์ ๋๋ถ๋ถ ์ด ํ๊ฒฝ์์ ์์ ์ ํ๋ค. ๋๋ถ๋ถ์ ์ ์๋ฌผ๋ฆฌ ์ฉ ํ๋ก๊ทธ๋จ๋ค์ด ๋ฆฌ๋ ์ค ํ๊ฒฝ์์ ๋์๊ฐ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๋ค. ๋ฌผ๋ก ์ด๋ฐ ๊ฒฝ์ฐ ํํ vim ํน์ Emacs๋ฅผ ๊ฐ์ด ์ฐ๊ธฐ ๋๋ฌธ์ TUI๋ ๊ฐ์ด ์ด๋ค๊ณ ํด์ผ ์ ํํ๊ฒ ์ง๋ง. ์๋ฌดํผ, ์ด ๋ถ์ผ ์ฌ๋๋ค์ ์ฌ์ค ์์ ๊ฐ์(?!)๋ก ์ด ํ๊ฒฝ์ ์น์ํด์ง ์ํฉ์ด๋ฉฐ, ๊ฐํน ์์ ์ด ๋ฌผ๋ฆฌํ์์ธ์ง ํ๋ก๊ทธ๋๋จธ์๋, ์ฝ๋์ธ์ง ํผ๋์ค๋ฝ๋ค๋ ์
์๋ฌผ๋ฆฌํ์๋ค์ ์ฑํ ๋ ์๊ณค ํ๋ค.(...)
๋ญ๊ฐ ์์๋ณผ์ ์๋ ๊ธ์๋ค์ด ๋ด๋ ค์ค๋ฉด์ ์คํ๋๋ ๋ชจ์ต์ด ์ ๊ธฐํ์ง, ๋ฏธ๋์ด์์๋ ํด์ปค๋ ์ปดํจํฐ ๊ณ์ด ์ฒ์ฌ์์ฑ์ ์บ๋ฆญํฐ๊ฐ ์์ฃผ ์ฌ์ฉํ๋ค. ๊ทธ๋์ ์ด๋ฐ ๊ฒ๋ ๋์๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ๋ฐํ์์ ๊ฒ์ ์์ผ๋ก ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ฌ์ฉ์๋ค ์ค์ ๊ฐ๋ ์ฑ ๋๋ฌธ์ ํฐ ๋ฐํ์ ์ฐ๋ ๊ฒฝ์ฐ๋ ๋ง๋ค. ๋ฌผ๋ก ๊ฒ์ ๋ฐํ์ด ํ๋๊ฐ ๋ฎ์ ๋์ ํผ๋ก๊ฐ ๋ํ๋ค๋ ์ด์ ๋ก ๊ฒ๊ฑฐ๋ ์ด๋์ด ์ ๋ฐํ์ ์ฐ๋ ์ฌ๋ ์ญ์ ๋ง์ ๋ค ์ทจํฅ๋ฐ๋ผ ์ ๊ฐ๊ฐ์ด๊ธด ํ์ง๋ง. ๋ค๋ง ์ด๋์ด ๊ณณ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋คํฌ ๋ชจ๋๊ฐ ๋์ ํจ์ฌ ์ข์ง๋ง, ๋ฐ์ ํ๊ฒฝ์์ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ์คํ๋ ค ๋คํฌ ๋ชจ๋๊ฐ ๋ ์ด ๋๋ค๋ ์ ์ ๋ช ์ฌํ์.
์ผ๋ฐ์ ์ผ๋ก CLI ํ๊ฒฝ์ ๋ถ์น์ ํ ํ๊ฒฝ์ผ๋ก ์ฌ๊ฒจ์ง๋ค. CLI ํ๊ฒฝ์ ์ต์ํด์ง๋ ค๋ฉด ๊ธฐ๋ณธ์ ์ธ ๋ช ๋ น์ด๋ค์ ์ธ์์ผ ํ๋ ๊ฒ๋ถํฐ ๋๊ด์ธ๋ฐ, ๊น๊ฒ ๋ค์ด๊ฐ์๋ก ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ด๋ จ ์๋ ํ์ดํ ๋ฐ ์ ธ ์คํฌ๋ฆฝํธ๊น์ง ๋ด๋ ค๊ฐ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์์ผ ํ ๊ฒ ๋์ด ์๋ค. ๋น์ฐํ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ ํค๋ณด๋ ๋ฐ ๋ง์ฐ์ค๋ฅผ ํตํ์ฌ ์ ๊ทผํ๋ ์ง๊ด์ ์ธ GUI๋ฅผ ์ ํธํ ์๋ฐ์ ์๋ค. ์ด ๋๋ฌธ์ CLI๋ ์ต์ข ์ฌ์ฉ์ ์์ค์์๋ GUI๋ก ์์ ํ ๋์ฒด๋์์ผ๋ฉฐ, ์์ง๊น์ง CLI๊ฐ ๋จ์์๋ ๋ถ์ผ๋ ์๋ฒ ๊ด๋ฆฌ ๋ฐ ์๋ฒ ํ๋ก๊ทธ๋๋ฐ์ฒ๋ผ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ ์ ์ด ๋ฟ์์๋ ๋ถ๋ถ์ด๋ค.
๋ถํธํ๊ธฐ๋ง ํด ๋ณด์ด๋ CLI๊ฐ ์์ง๊น์ง ๋จ์์๋ ์ด์ ๋ GUI๊ฐ ๋์ฒดํ ์ ์๋ CLI๋ง์ ์ฅ์ ๋๋ฌธ์ด๋ค. ์ผ๋จ ๋ง์ง๋ ์ฌ๋์ด ์ต์ข ์ฌ์ฉ์๊ฐ ์๋ ์ถฉ๋ถํ ๊ต์ก๋ ์ฌ๋์ด๊ธฐ์ ์ง์ ์ฅ๋ฒฝ์ด ํฌ๊ฒ ๋ฌธ์ ๊ฐ ๋์ง ์์ผ๋ฉฐ, ์์์ ์ ๊ฒ ์ก์ ๋จน์ผ๋ฉด์ ์์ ์ ์ด๊ณ ๋น ๋ฅด๋ค. ๊ฒ๋ค๊ฐ ์๊ฒฉ์ผ๋ก ์์ ํ ๋ ์ฌ๋งํ ๋คํธ์ํฌ ํ๊ฒฝ์์๋ ์์ ์ ์ผ๋ก ์์ ํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์ ์ญ์ ์๋์ ์ผ๋ก ์ ๋ค. ํนํ ์๋ฒ ์ชฝ์์๋ ์์ ์๋ํ[1]์ ์๊ฒฉ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ CLI๋ ์ด ๋ถ์ผ์์ ์๋์ ์ธ ํจ์จ์ ๋ณด์ฌ์ค๋ค.
์ฃผ๋ก ๋ฆฌ๋ ์ค ์ปค๋ฎค๋ํฐ ์ชฝ์ด ์ด๋ฐ CLI ํ๊ฒฝ์ ์ต์ํ ํธ์ด๋ค. ์ด๋ฐ ์ฌ๋๋ค์ GUI ์๋์ฐ ๋งค๋์ ์์ 'ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ'๋ฅผ ์ด์ฉํ์ฌ CLI๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ํตํฉ์์ผ์ ์ด๋ค. ์๋์์ cmd๋ COMMAND.COM์ ๋์ ๋๊ณ ์ฌ์ฉํ๋ค๊ณ ์๊ฐ ํ๋ฉด ๋๋ค. ๋ฌผ๋ก ์ฐจ์ด๋ ์์ฒญ๋๋ค. ์ ์ข๋ค๋ ์๋ฏธ๊ฐ ์๋๊ณ ์ฌ์ง์ด ๋ ์ข์ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ํน์ ๊ธ๊ผด๊ณผ ๋ค์ํ ์์์ ์ ์ฉ์์ผ ํฐ๋ฏธ๋์ ์๋ก๋ฌ๋กํ๊ฒ, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ ์ฑ ์ข๊ฒ ๋ง๋ค ์ ์๋ค.[2] ํนํ macOS์์ ๋์๊ฐ๋ iTerm2๋ ์ด ๋ถ์ผ์ ์ต๊ฐ์.
ํ๋ก๊ทธ๋๋ฐ ๊ต์ก์ ๊ฒฝ์ฐ ๋งํ ๊ฒ๋ ์๋๋ฐ, ๋น์ฅ ํ๋ก๊ทธ๋๋ฐ ์ฒซ ์์ ๊ฐ ๋ฌด์์ธ์ง ์๊ฐํ๋ฉด ๊ฐ๋จํ ๊ฒ์ด๋ค. ์ฐ์ , GUI ํ๋ก๊ทธ๋๋ฐ์ ๋นํด ์ฌ์ ์ง์์ด ๋งค์ฐ ์ ๊ฒ ์๊ตฌ๋๋ฉฐ[3], ์ค์ ๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ๊ฐ์ฅ ๋ง์ด ๋ค๋ฃจ๋ ๋ฐ์ดํฐ์ ์ด ๋ฌธ์์ด์ด๊ธฐ๋ ํ๋ฐ๋ค๊ฐ, ๋ฌธ์์ด๋ง ๊ฐ์ง๊ณ ๋ ๊ฑฐ์ ๋ชจ๋ ์ข ๋ฅ์ ์๊ณ ๋ฆฌ์ฆ ์ฐ์ต์ ๋ค ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ CLI๋ถํฐ ์์ํ๋ ๊ฒ.
๊ฐ์ธ์ด ์ง์ ํํ์ด์ง๋ ๋ธ๋ก๊ทธ, ์๊ท๋ชจ ์ผํ๋ชฐ ๋ฑ์ ๋ง๋ค์ด ์ด์ํ ๋๋ ๋ณด๊ฒ ๋๋ค. ์น ํธ์คํ ์๋ฒ์ ํํ์ด์ง๋ ๋ธ๋ก๊ทธ ์์ค ํ์ผ ๊ด๋ฆฌ๋ฅผ ์ํด SSH๋ก ์ ์ํ๋ฉด ์ด๋ฏธ์ง ์์ด ๊ธ์๋ง ์ฃผ๋ฅด๋ฅต ๋จ๋ ํ๋ฉด์ด ๋จ๋๋ฐ, ๊ทธ๊ฒ ๋ฐ๋ก CLI ์ค ํ๋์ธ ๋ฆฌ๋ ์ค ํฐ๋ฏธ๋ ํ๊ฒฝ์ด๋ค. ๋ฌผ๋ก ์น ํธ์คํ ์ ์ฒด๋ ๊ฐ์ธ ํํ์ด์ง๋ ๋ธ๋ก๊ทธ, ์ผํ๋ชฐ ์ด์์ ์ํด ๊ฐ์ธ์ด CLI ํ๊ฒฝ์ ๋ฐฐ์ฐ๋ ๊ฑด ์ด๋ ต๋ค๋ ๊ฒ์ ์๊ณ ์๊ธฐ์ ์ต๋ํ CLI๋ฅผ ๋ง๋์ง ์๋๋ก ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ค. ๊ทธ๋ฌ๋ ์กฐ๊ธ ํ๊ณ ๋ค๋ค ๋ณด๋ฉด ์ด์ฉ ์ ์์ด CLI๋ฅผ ๋ง๋๊ฒ ๋๋ ๊ฒ์ด ํ์ค. ์ด๊ฒ ์ซ์ผ๋ฉด ์๋์ฐ ์น ํธ์คํ ์ ๋ฐ์ผ๋ฉด ๋์ง๋ง ์๋์ฐ๋ ๋ฌด๋ฃ๊ฐ ์๋๋ผ ํธ์คํ ๋น์ฉ๋ ๋น์ธ๋ค(...). ๋ฌผ๋ก ๋ฆฌ๋ ์ค๋ GUI๋ฅผ ์ง์ํ๋ ๋ฐฐํฌํ์ด ์๊ธฐ๋ ํ์ง๋ง[4][5] CLI ํ๊ฒฝ์ ๋นํด์ ์ฑ๋ฅ ์์ผ๋ก ๋นํจ์จ์ ์ธ ๊ฒ์ ์ด์ฉ ์ ์๋ค.
๊ทธ ์ธ์๋ ๋ถ์ผ์ ๋ฐ๋ผ ํ์ฉ๋๊ฐ ๋ฏธ์น ๋ฏ์ด ์ฌ๋ผ๊ฐ๊ธฐ๋ ํ๋ค. ์์ธ๋ก ๋ฌผ๋ฆฌํ์๋ค์ด ๋ง์ด ์ฐ๋๋ฐ, ํนํ ์ ์๋ฌผ๋ฆฌ ๊ณ์ด์ ํ๋ ์ฌ๋๋ค์ ๋๋ถ๋ถ ์ด ํ๊ฒฝ์์ ์์ ์ ํ๋ค. ๋๋ถ๋ถ์ ์ ์๋ฌผ๋ฆฌ ์ฉ ํ๋ก๊ทธ๋จ๋ค์ด ๋ฆฌ๋ ์ค ํ๊ฒฝ์์ ๋์๊ฐ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๋ค. ๋ฌผ๋ก ์ด๋ฐ ๊ฒฝ์ฐ ํํ vim ํน์ Emacs๋ฅผ ๊ฐ์ด ์ฐ๊ธฐ ๋๋ฌธ์ TUI๋ ๊ฐ์ด ์ด๋ค๊ณ ํด์ผ ์ ํํ๊ฒ ์ง๋ง. ์๋ฌดํผ, ์ด ๋ถ์ผ ์ฌ๋๋ค์ ์ฌ์ค ์์ ๊ฐ์(?!)๋ก ์ด ํ๊ฒฝ์ ์น์ํด์ง ์ํฉ์ด๋ฉฐ, ๊ฐํน ์์ ์ด ๋ฌผ๋ฆฌํ์์ธ์ง ํ๋ก๊ทธ๋๋จธ
๋ญ๊ฐ ์์๋ณผ์ ์๋ ๊ธ์๋ค์ด ๋ด๋ ค์ค๋ฉด์ ์คํ๋๋ ๋ชจ์ต์ด ์ ๊ธฐํ์ง, ๋ฏธ๋์ด์์๋ ํด์ปค๋ ์ปดํจํฐ ๊ณ์ด ์ฒ์ฌ์์ฑ์ ์บ๋ฆญํฐ๊ฐ ์์ฃผ ์ฌ์ฉํ๋ค. ๊ทธ๋์ ์ด๋ฐ ๊ฒ๋ ๋์๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ๋ฐํ์์ ๊ฒ์ ์์ผ๋ก ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ฌ์ฉ์๋ค ์ค์ ๊ฐ๋ ์ฑ ๋๋ฌธ์ ํฐ ๋ฐํ์ ์ฐ๋ ๊ฒฝ์ฐ๋ ๋ง๋ค. ๋ฌผ๋ก ๊ฒ์ ๋ฐํ์ด ํ๋๊ฐ ๋ฎ์ ๋์ ํผ๋ก๊ฐ ๋ํ๋ค๋ ์ด์ ๋ก ๊ฒ๊ฑฐ๋ ์ด๋์ด ์ ๋ฐํ์ ์ฐ๋ ์ฌ๋ ์ญ์ ๋ง์ ๋ค ์ทจํฅ๋ฐ๋ผ ์ ๊ฐ๊ฐ์ด๊ธด ํ์ง๋ง. ๋ค๋ง ์ด๋์ด ๊ณณ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋คํฌ ๋ชจ๋๊ฐ ๋์ ํจ์ฌ ์ข์ง๋ง, ๋ฐ์ ํ๊ฒฝ์์ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ์คํ๋ ค ๋คํฌ ๋ชจ๋๊ฐ ๋ ์ด ๋๋ค๋ ์ ์ ๋ช ์ฌํ์.
2. ๊ด๋ จ ๋ฌธ์[ํธ์ง]
[1] ์ฌ๊ธฐ์ ํ์ดํ์ ์
ธ ์คํฌ๋ฆฝํธ๊ฐ ๊ฐ์ ์ ๋ฐํํ๋ค. 1000๊ฐ์ ํ์ผ ์ด๋ฆ ํน์ ๋ด์ฉ์ ํ ๋ฒ์ ๋ฐ๊ฟ์ผ ํ๋ ๋ฑ์ ์์
์ ํด์ผ ํ ๋, ์ด๊ฑธ ํ๋ํ๋ ์์ผ๋ก ๋ค ๋ฐ๊ฟ ๊ฒ๋ ์์ด ์ด ๋์ ์ด์ฉํด์ ํ ํ์ ์์๊ฐ์ ์ฒ๋ฆฌํ ์ ์๋ค.
[2] ๋ํ์ ์ผ๋ก zsh(+oh-my-zsh)์ ์ฐ๋ ์ฌ๋๋ค์ด ์ด๋ฐ ๊ฑธ ๋ง์ด ํ๋ค. TUI ์๊ธฐ์ง๋ง vim์ ๋ชจ์์ด๋ผ๋ ๊ฐ syntax ๊ธฐ๋ฅ, ๊ทธ๋ฆฌ๊ณ tmux ๊ฐ์ ๊ฒ๋ ์๋ค.
[3] ๋ฉ์ธ์ง ๋ฐฉ์์ด๋ผ๋ ๊ฐ callback ๋ฑ ์์์ผ ํ ๊ฒ ๋ง์ผ๋ฉฐ ์ด๊ฒ ์ ํ ๊ฐ๋จํ์ง ์์๋ฐ๋ค, ๊ฐ๋จํ ์์
๋ง ํ๋ ๊ฑธ ์ง๋๋ผ๋ ์ฝ๋๊ฐ ์๋นํ ๊ธธ์ด์ง๋ค. ๋น์ฐํ ์๊ธฐ๊ฒ ์ง๋ง, ๊ฒฐ๊ณผ๋ฌผ์ด ๊ฐํธํ๊ณ ์ง๊ด์ ์ผ์๋ก ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค๊ธฐ ์ํด ํฌ์ฌ๋๋ ๋น์ฉ์ ๋์ด๋๊ธฐ ๋ง๋ จ์ด๋ค.
[5] ์ฌ์ค ๋ฐฐํฌํ์ด ๋ญ๊ฐ ๋๋ ๊ฐ์ ์ํ๋ GUI ํ๊ฒฝ(GNOME, KDE, Unity ๋ฑ)์ ์ผ๋ง๋ ์ง ์ค์นํด์ ์ฌ์ฉํ ์ ์๋ค.