GitHub Codespaces ํ ํ๋ฆฟ์ ๋ํ ์ ๋ณด
์ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ ๊ฒฝ์ฐ ํ ํ๋ฆฟ์์ codespace๋ฅผ ๋ง๋ค์ด ๊ฐ๋ฐ ์์ ์ ๋น ๋ฅด๊ฒ ์์ํ ์ ์์ต๋๋ค. ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ์์ ํ๋ก์ ํธ๋ฅผ ์์ ํ๊ณ , ํ์ผ์ ํด๋ผ์ฐ๋์ ์ ์ฅํ๊ณ , ๋ค๋ฅธ ์ฌ์ฉ์์ ๊ณต์ ํ๊ฑฐ๋ ๋ก์ปฌ ์ปดํจํฐ์ ๋ณต์ ํ ์ ์๋ ์ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์์ ์ ๊ฒ์ํ ์ ์์ต๋๋ค.
๋น ํ ํ๋ฆฟ์์ ์์ํ๊ฑฐ๋, React ๋๋ Jupyter Notebook๊ณผ ๊ฐ์ ์ธ๊ธฐ ์๋ ๊ธฐ์ ์ ๋ํด GitHub์ด(๊ฐ) ์ ๊ณตํ๋ ํ ํ๋ฆฟ์ ์ ํํ๊ฑฐ๋, GitHub์ ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ์์ codespace๋ฅผ ์์ํ ์ ์์ต๋๋ค.
๋น ํ
ํ๋ฆฟ์ ์ฌ์ฉํ๋ฉด ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ปดํจํ
๋ฆฌ์์ค ๋ฐ ๊ธฐ๋ณธ dev ์ปจํ
์ด๋ ์ด๋ฏธ์ง์ ํจ๊ป ๋ฏธ๋ฆฌ ์ค์น๋ ๋๊ตฌ, ์ธ์ด ๋ฐ ๋ฐํ์ ํ๊ฒฝ์ ์ก์ธ์คํ ์ ์๋ ๋น ๋๋ ํฐ๋ฆฌ๋ก ์์ํฉ๋๋ค. ๋ค๋ฅธ ํ
ํ๋ฆฟ์ ์ฌ์ฉํ๋ฉด ์์
์ค์ธ ๊ธฐ์ ์ ๋ํ ์์ ํ์ผ๊ณผ ์ผ๋ฐ์ ์ผ๋ก ์ผ๋ถ ์ฌ์ฉ์ ์ง์ ํ๊ฒฝ ๊ตฌ์ฑ์ด ํฌํจ๋ ์ถ๊ฐ ์ ๋ณด ํ์ผ, .gitignore
ํ์ผ ๋ฐ ๊ฐ๋ฐ ์ปจํ
์ด๋ ๊ตฌ์ฑ ํ์ผ๊ณผ ๊ฐ์ ์ถ๊ฐ ํ์ผ์ ์ป์ ์ ์์ต๋๋ค. ๊ฐ๋ฐ ์ปจํ
์ด๋ ๋ฐ ๊ธฐ๋ณธ ์ด๋ฏธ์ง์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ฐ๋ฐ ์ปจํ
์ด๋ ์๊ฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์๋ฅผ ๋ค์ด GitHub์ React ํ
ํ๋ฆฟ์์ codespace๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ ์์
์์ญ์ ๊ฐ๋จํ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํ ํ
ํ๋ฆฟ ํ์ผ(์: index.js
, app.js
๋ฐpackage.json
)์ด ํฌํจ๋ฉ๋๋ค. Codespace๊ฐ ์ด๋ฆฐ ์งํ ๊ฐ๋ฐ ์๋ฒ๊ฐ ์๋์ผ๋ก ์์๋๊ณ VS Code ์น ํด๋ผ์ด์ธํธ์ ๊ฐ๋จํ ๋ธ๋ผ์ฐ์ ํญ์์ ์คํ ์ค์ธ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ณผ ์ ์์ต๋๋ค.
ํ ํ๋ฆฟ์ ํฌํจ๋ ํ์ผ ๋ฐ ๊ตฌ์ฑ์ ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์๋ฉ๋๋ค. Codespace๋ฅผ ๋ง๋ค๋ฉด ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ codespace์ ๋ณต์ ๋ฉ๋๋ค. ๊ทธ ํ์๋ ๋งํฌ๊ฐ ๋๊ธฐ๊ณ ๊ฒ์ํ ๋๊น์ง codespace๊ฐ ์๊ฒฉ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฐ๊ฒฐ๋์ง ์์ต๋๋ค.
ํ
๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ํ๋ ์์ํฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ๊ธฐํ ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ ์ ์๋๋ก GitHub Codespaces์ ์ฌ์ฉํ ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ GitHub Codespaces์ ๋ํ ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ ์ค์ ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
GitHub ํ ํ๋ฆฟ์์ codespace ๋ง๋ค๊ธฐ
๋น ํ ํ๋ฆฟ์ ํฌํจํ์ฌ GitHub์ ์ํด ๊ด๋ฆฌ๋๋ ํ ํ๋ฆฟ์ "๋์ codespace" ํ์ด์ง์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-
GitHub์ ์ผ์ชฝ ์ ๋ชจ์๋ฆฌ์์ ์(๋ฅผ) ์ ํํ๊ณ Codespaces๋ฅผ ํด๋ฆญํ ๋ค์ github.com/codespaces "๋ด codespace" ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
-
ํ ํ๋ฆฟ์ ์ ์ฒด ๋ชฉ๋ก์ ๋ณด๋ ค๋ฉด "๋น ๋ฅธ ์์ ํ ํ๋ฆฟ ํ์" ์น์ ์์ ๋ชจ๋ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ ํ ํ๋ฆฟ์ ํ์ผ์ด ํฌํจ๋ ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณด๋ ค๋ฉด ํ ํ๋ฆฟ์ ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
-
์์ํ๋ ค๋ ํ ํ๋ฆฟ์ ์ด๋ฆ ์๋์์ ์ด ํ ํ๋ฆฟ ์ฌ์ฉ์ ํด๋ฆญํฉ๋๋ค.
ํ ํ๋ฆฟ์์ ์ codespace๋ฅผ ๋ง๋ค ๋ ํญ์ Visual Studio Code ์น ํด๋ผ์ด์ธํธ์์ ์ด๋ฆฝ๋๋ค. ์ง์๋๋ ๋ชจ๋ ํธ์ง๊ธฐ์์ ๊ธฐ์กด codespace๋ฅผ ๋ค์ ์ด ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ธฐ์กด Codespace ์ด๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ์์ codespace ๋ง๋ค๊ธฐ
ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ์์ codespace๋ฅผ ๋ง๋ ๋ค์, ์ค๋น๊ฐ ๋๋ฉด ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์์ ์ ๊ฒ์ํ ์ ์์ต๋๋ค. ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ ํ๋ฆฟ์์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ง๋ค๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
-
GitHub์์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ๋ณธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
-
์ด ํ ํ๋ฆฟ ์ฌ์ฉ์ ํด๋ฆญํ ๋ค์, codespace์์ ์ด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ง ๊ด๋ฆฌ์์ด๊ณ ํ ํ๋ฆฟ ๋ฆฌํฌ์งํ ๋ฆฌ ์์ฒด์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์ปค๋ฐํ๋ ค๋ ๊ฒฝ์ฐ Code ๋๋กญ๋ค์ด์์ codespace๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ codespace ๋ง๋ค๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
ํ ํ๋ฆฟ์์ ์ codespace๋ฅผ ๋ง๋ค ๋ ํญ์ Visual Studio Code ์น ํด๋ผ์ด์ธํธ์์ ์ด๋ฆฝ๋๋ค. ์ง์๋๋ ๋ชจ๋ ํธ์ง๊ธฐ์์ ๊ธฐ์กด codespace๋ฅผ ๋ค์ ์ด ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ธฐ์กด Codespace ์ด๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
GitHub์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒ์ ์ค
ํ ํ๋ฆฟ์์ ๋ง๋ ์ฝ๋์คํ์ด์ค์์ ์์ ํ๋ ๊ฒฝ์ฐ ์์ ์ ํด๋ผ์ฐ๋์ ๊ฐ์ ๋จธ์ ์ ์ ์ฅ๋์ง๋ง GitHub์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ฅ๋์ง ์์ต๋๋ค.
ํ์ผ์ ์ ์ฅํ๊ณ , codespace๋ฅผ ๋ซ๊ณ ์ค์งํ๊ณ , ๋์ค์ ์์ ์ผ๋ก ๋์๊ฐ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก Git์ ๋ฏธ๋ฆฌ ์ค์น๋๋ฉฐ ์์ ๋๋ ํฐ๋ฆฌ๋ GitHub์ ๋น ํ ํ๋ฆฟ์์ ์์ํ์ง ์๋ ํ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์๋ ์ด๊ธฐํ๋ฉ๋๋ค. ์ฆ, ํ์ผ ์ถ๊ฐ ๋ฐ ์ปค๋ฐ๊ณผ ๊ฐ์ ๋ก์ปฌ ์๋ณธ ์ ์ด์ Git์ ์ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ฒ์๋์ง ์์ codespace๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๋ณด์กด ๊ธฐ๊ฐ ๋์ ์ฌ์ฉ๋์ง ์์ ์ํ๋ก ์ ์ง๋์ด ์๋์ผ๋ก ์ญ์ ๋๋ ๊ฒฝ์ฐ, ์์ ๋ ์ญ์ ๋ฉ๋๋ค. ์์ ์ ์ง์ํ๊ณ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ํ๋ก์ ํธ์์ ์์ ํ ์ ์๋๋ก ํ๋ ค๋ฉด GitHub์ ๋ฆฌํฌ์งํ ๋ฆฌ์ codespace๋ฅผ ๊ฒ์ํด์ผ ํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
๊ฒ์๋์ง ์์ codespace๊ฐ ํ์ฌ ์กฐ์ง์ ์ฒญ๊ตฌ๋๋ ๊ฒฝ์ฐ, codespace๋ฅผ ๊ฒ์ํ๋ฉด codespace์ ์์ ๊ถ๊ณผ ์ฒญ๊ตฌ๊ฐ ๊ฐ์ธ ๊ณ์ ์ผ๋ก ์ ์ก๋ฉ๋๋ค. GitHub Codespaces ์ฒญ๊ตฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
VS Code์์ ๊ฒ์
codespace์์ ์์ ํ๋ ๊ฒฝ์ฐ VS Code ์น ํด๋ผ์ด์ธํธ ๋๋ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ฒ์ํ ์ ์์ต๋๋ค.
-
์์ ํ์์ค์์ Source Control(์๋ณธ ์ ์ด) ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
๋ณ๊ฒฝ ๋ด์ฉ์ ์คํ ์ด์งํ๋ ค๋ฉด ์ถ๊ฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ ํ์ผ ์์ + ๋ฅผ ํด๋ฆญํ๊ฑฐ๋ ์ฌ๋ฌ ํ์ผ์ ๋ณ๊ฒฝํ๊ณ ๋ชจ๋ ์คํ ์ด์งํ๋ ค๋ ๊ฒฝ์ฐ ๋ณ๊ฒฝ ์ฌํญ ์์ ํด๋ฆญํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
GitHub์ ๋น ํ ํ๋ฆฟ์์ ์์ํ๋ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ๋ฅผ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ด๋ฏธ ์ด๊ธฐํํ์ง ์์ ํ ๋ณ๊ฒฝ ๋ด์ฉ ๋ชฉ๋ก์ด ํ์๋์ง ์์ต๋๋ค. ๋น ํ ํ๋ฆฟ์์ ๋ง๋ codespace๋ฅผ ๊ฒ์ํ๋ ค๋ฉด "์์ค ์ ์ด" ๋ณด๊ธฐ์์ GitHub์ ๊ฒ์๋ฅผ ํด๋ฆญํ ๋ค์ 5๋จ๊ณ๋ก ๊ฑด๋๋๋๋ค.
-
์คํ ์ด์ง๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๋ ค๋ฉด ๋ณ๊ฒฝ ๋ด์ฉ์ ์ค๋ช ํ๋ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ ๋ ฅํ ๋ค์ ์ปค๋ฐ์ ํด๋ฆญํฉ๋๋ค.
-
๋ถ๊ธฐ ๊ฒ์๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
"๋ฆฌํฌ์งํ ๋ฆฌ ์ด๋ฆ" ๋๋กญ๋ค์ด์์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ด๋ฆ์ ์ ๋ ฅํ ๋ค์ GitHub ํ๋ผ์ด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒ์๋ฅผ ์ ํํ๊ฑฐ๋ GitHub ํผ๋ธ๋ฆญ ๋ฆฌํฌ์งํ ๋ฆฌ ๊ฒ์๋ฅผ ์ ํํฉ๋๋ค.
์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์์ ์๋ codespace๋ฅผ ๋ง๋ GitHub ๊ณ์ ์ด ๋ฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ ํธ์ง๊ธฐ์ ์ค๋ฅธ์ชฝ ์๋ ๋ชจ์๋ฆฌ์ ๋ํ๋๋ ํ์ ์์ GitHub์์ ์ด๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ GitHub์์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ด ๋๋ค.
Codespace๊ฐ ๊ฒ์๋๋ฉด GitHub Codespaces ํ๊ฒฝ์ ์ฌ์ฉ์ ์ง์ ํ ์ ์๋ ๋ค์ํ ์ต์ ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ์์ํ ์ ์๋ ์์ ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Codespace์ ๋จธ์ ์ ํ์ ๋ณ๊ฒฝํ์ฌ ์ํ ์ค์ธ ์์ ์ ์ ํฉํ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋๋ก ํฉ๋๋ค(codespace์ ๋ํ ์ปดํจํฐ ์ ํ ๋ณ๊ฒฝ ์ฐธ์กฐ).
- GitHub์์ GPG๋ฅผ ์๋์ผ๋ก ์ฌ์ฉํ์ฌ codespace์์ ๋ง๋๋ ์ปค๋ฐ์ ์๋ช ํ๋๋ก ํ์ฉํฉ๋๋ค(GitHub Codespaces ๊ด๋ จ GPG ํ์ธ ๊ด๋ฆฌ ์ฐธ์กฐ).
- Codespace์ ๋น๋ฐ์ ๊ณต์ ํฉ๋๋คGitHub Codespaces์ ๋ํ ๊ณ์ ๋ณ ๋น๋ฐ ๊ด๋ฆฌ) ์ฐธ์กฐ).
GitHub์์ ๊ฒ์
๊ฒ์ํ์ง ์์ codespace๋ GitHub์ "๋์ codespace" ํ์ด์ง์์ ๊ฒ์ํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ํ์ฌ ๋ธ๋ผ์ฐ์ ์์ ์ด๋ ค ์์ง ์์ codespace๋ฅผ ๊ฒ์ํ๋ ค๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์์ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ง๋์ง๋ง ๊ธฐ์กด codespace์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ์ฐ๊ฒฐ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ด๋ํ์ฌ ํด๋น ์์น์์ codespace๋ฅผ ๋ง๋ค ์ ์์ผ๋ฉฐ, ์ด codespace๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
-
GitHub์ ์ผ์ชฝ ์ ๋ชจ์๋ฆฌ์์ ์(๋ฅผ) ์ ํํ๊ณ Codespaces๋ฅผ ํด๋ฆญํ ๋ค์ github.com/codespaces "๋ด codespace" ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
-
๊ฒ์๋์ง ์์ codespace ์์ ์๋ ์ค์ํ(...)๋ฅผ ํด๋ฆญํ ๋ค์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ฒ์๋ฅผ ์ ํํฉ๋๋ค.
-
์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ด๋ฆ์ ์ ํํ๊ณ , ๊ณต์ฉ ๋๋ ๊ฐ์ธ์ฉ์ผ๋ก ์ค์ ํ ๋ค์, ๋ฆฌํฌ์งํ ๋ฆฌ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณด๋ ค๋ฉด ๋ฆฌํฌ์งํ ๋ฆฌ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.