์๋ก
๋ธ๋ผ์ฐ์ ์์ ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์๋๋ก ์น์ฉ vscode๋ฅผ ๋ง๋๋ ๊ฐ์ด๋์ด๋ค.
๋ธ๋ผ์ฐ์ ์์ด๋ผ ๋ง๋งํด๋ณด์ด์ง๋ง ์ค์ ๋ก IDE ์ญํ ์ ํ๋ค.
์ฝ๋ ํธ์ง, ์ปดํ์ผ, ๋๋ฒ๊น , ์คํ ๋ค ๊ฐ๋ฅํ๋ค.
์น์์ ์น๊ฐ๋ฐ๋ ๋๋ค. ์๋๋ก์ด๋์์ LoD๋ฅผ ํตํด ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ๋๋ฆฌ๋ ๊ธฐ๋ถ์ด ๋๋ค.
ํ์๋ OS๊ฐ Unraid๋ผ ์ค์น ๋ฐฉ๋ฒ์ด ์ผ๋ฐ ๋ฆฌ๋ ์ค์ ๋ค๋ฅด๋ค.
๋์ปค ์ปจํ ์ด๋๋ก ์คํํ๋ ๋ค๋ฅธ ๋ฆฌ๋ ์ค ํ๊ฒฝ์์๋ ์ถฉ๋ถํ ์ค์น ๊ฐ๋ฅํ๋ค.
๋ด๋ถ ์ค์ ๊ณผ ํฐ ํ์ ๋น์ทํ๋ฏ๋ก ๊ฐ์ธ ํ๊ฒฝ์ ์์ ํด์ ์ค์นํ๊ธธ ๋ฐ๋.
๋ณธ๋ก
์ค์น
์ปจํ ์ด๋ ์ค์น
ํ์์ ๋ค๋ฅธ ๊ฒ์๊ธ์์ ๋ค๋ฃฌ ๋ด์ฉ์ด๋ ๊ฐ๋จํ๊ฒ ๋์ด๊ฐ๋ค.
ํ OS์ฌ์ฉ์๋ ๋์ปคํ๋ธ ์ฐธ๊ณ
1. apps์์ code server ๊ฒ์
2. linuxserver์ ๋ฐฐํฌํ์ผ๋ก ์ค์นํ๋ค.
3. ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋ณด์ผํ ๋ฐ ์ด๋ฆ๊ณผ ๋คํธ์ํฌ ํ์ ๋ฑ ํ์ํ ๋ถ๋ถ์ ๋ณ๊ฒฝํ๋ค
4. PASSWORD์ SUDO_PASSWORD๋ฅผ ์ค์ ํ๊ณ ํ๋ก์ ๋๋ฉ์ธ์ ์ถ๊ฐํ๋ค.
PASSWORD๋ VS code ํ์ด์ง ์ ์์ ์ฌ์ฉํ ๋น๋ฐ๋ฒํธ์ด๋ค.
SUDO_PASSWORD๋ ๋์ปค๋ด ํฐ๋ฏธ๋์์ ํจํค์ง ์ค์น๋ฑ ๊ด๋ฆฌ์ ๊ถํ ์ฌ์ฉ์ ์ฌ์ฉํ ๋น๋ฐ๋ฒํธ์ด๋ค.
๊ฐ๋ฐ ๋๊ตฌ ์ค์น
์ด์ ๋ถํฐ๊ฐ ์ง์ง ์ค์ ์ด๋ค.
๋์ปค ์ปจํ ์ด๋๋ฅผ ์คํํ๊ธฐ ์ ์ ๊ฐ๋ฐ์ ํ์ํ ๊ฐ๋ฐํท์ ์ค์ ํ ์ ์๋ค.
์ด๋ linuxserver์์ ๋ฐฐํฌํ ์ด๋ฏธ์ง์์ ์ง์ํ๋ ๊ธฐ๋ฅ์ธ๋ฐ ์ด๋ฏธ์ง๋ณ๋ก ์ค์ ํ ์ ์๋ ๋ชจ๋๊ฐ ์๋ค.
๋ฐ์ ๋ ์๋ฅผ ์ํด ์๋ ค๋๋ฆฌ์๋ฉด code-server์์ ์ฌ์ฉ๊ฐ๋ฅํ ๋ชจ๋๋ 25๊ฐ๊ฐ ์๋ค.
๋ชจ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค.
DOCKER_MODS๋ผ๋ ํ๊ฒฝ๋ณ์๋ฅผ ๋ง๋ค์ด linuxserver/mods:๋ชจ๋1| linuxserver/mods:๋ชจ๋2 ์ ๊ฐ์ด ์ถ๊ฐํ๋ฉด ๋๋ค.
ํ์๋ ํ์ด์ฌ, ์๋ฐ(11๋ง ์ง์), flutter, nodejs, ๊น, ๋์ปค๋ฅผ ์ค์นํ๋ค.
์๋ฐ๋ฅผ ์ค์นํ๋ฉด์ JAVA_HOME ํ๊ฒฝ๋ณ์๋ ๊ฐ์ด ์ถ๊ฐํด ์ฃผ์๋ค.
์ค์น ๋๊ตฌ๊ฐ ๋ง๋ค๋ณด๋ ์ปจํ
์ด๋ ์์ฑ์ ์๊ฐ์ด ์ข ์ค๋๊ฑธ๋ฆฐ๋ค.
ํ์๋ ํ์ํ ๊ฐ๋ฐ๋๊ตฌ๋ฅผ ์ ํํด ์ถ๊ฐํ๋ฉด๋๊ฒ ๋ค.
linuxserver/mods:code-server-python3|linuxserver/mods:code-server-java11|linuxserver/mods:code-server-flutter|linuxserver/mods:code-server-nodejs|linuxserver/mods:universal-git|linuxserver/mods:universal-docker-in-docker
Node.JS๋ฒ์ ์ NODEJS_MOD_VERSION ํ๊ฒฝ๋ณ์๋ก ์ง์ ํ ์ ์๋ค.
GPU๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์๊ฒฝ์ฐ extra parameters์ --device=/dev/dri:/dev/dri๋ฅผ ์ถ๊ฐํ๊ฑฐ๋
์๋๊ฐ์ด ๋๋ฐ์ด์ค๊ฐ์ ์ถ๊ฐํด๋ ๋๋ค.
์ธํ
C/C++
C๋ฅผ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด C runner์ codeLLDB ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ฉด ๋๋ค.
์ปดํ์ผ๋ฌ๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ๋ด์ฅ๋ C์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ค์น๊ฐ ํ์์๋ค.
C/C++ Runner๋ C์ฝ๋๋ฅผ ์ฝ๊ฒ ๋๋ฒ๊น , ์ปดํ์ผ, ์คํํ ์ ์๋๋ก UI๋ฅผ ์ ๊ณตํ๋ ์ญํ ์ ํ๋ค.
๋ง์ผํ๋ ์ด์ค์์ c runner๋ก ๊ฒ์ํ๋ฉด ์ต์๋จ์ ์์นํ๋ค.
์ค์นํ์๋ ์๋์ฒ๋ผ ์น์ ํ๊ฒ ๋ฒํผ์ด ์๊ธด๋ค.
์ด๋ ๊ทธ๋ฅ ๋๋ฒ๊น ๋ฒํผ์ ๋๋ฅด๊ฒ ๋๋ค๋ฉด ์๋ง ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ๊ฒ์ด๋ค.
์ด๊ฒ ๋ฌด์จ์๋ฆฌ์ธ๊ฐ ์ปดํ์ผ๋ ์คํ๋ ๋๋๋ฐ ๋๋ฒ๊น ์ด ์๋๋ค๋. ์ด๋ฆ๋ถํฐ๊ฐ c++๋๋ฒ๊ฑฐ์ธ ๋๋ฒ๊ฑฐ๊ฐ ์ง์๋์ง ์๋๋จ๋ค.
๊ฑฑ์ ํ์ง๋ง๊ณ ๋ณ๋์ ๋๋ฒ๊ฑฐ๋ฅผ ์ค์นํด์ค๋ค.
๋ง์ผํ๋ ์ด์ค์ lldb๋ก ๊ฒ์ํ๋ฉด ๋ฉ์๋ ์ฉ์ด ์๋ ํ์ฅ๊ธฐ๋ฅ์ด ์๋ค.
์ ํ์ฅ์ ์ค์นํ ๊ฒฝ๊ณ ์์ ๋์จ launch.jsonํ์ผ์ ์ด์ด ์ผ์ชฝ๊ณผ ๊ฐ์ ํ์ผ์ ์ค๋ฅธ์ชฝ๊ณผ ๊ฐ์ด ์์ ํด์ฃผ์.
์ ์ฅ ํ ๋ค์ ์คํํ๋ฉด..!
์๋ผ~
์๋์ ๊ฐ์ด ์ค๋จ์ ๋ ์ ๋จนํ๋ค.
์ด์ ๊ธด์ฝ๋, ์งง์์ฝ๋, ์ข์์ฝ๋, ์ด๋ ค์ด์ฝ๋ ๋ง์๊ป ๋น์ ์ vscode ์น์์ ์์ ํ ์ ์๋ค.
Java
์๋ฐ? ๋ฌผ๋ก ๊ฐ๋ฅํ๋ค.
์๋ฐ ๊ณตํ๊ตญ์์ ์๋ฐ๊ฐ ์๋๋ค๋ฉด ๊ธ์ ์ฐ๊ธฐ ์์ํ์ง๋ ์์์๊ฒ์ด๋ค.
์๋ฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค.
๋ ์๊ฐ ์ ์์ ์ผ๋ก DOCKER_MODS ํ๊ฒฝ๋ณ์์ ์๋ฐ 11 ๋ชจ๋๊ฐ์ ๋ฃ์๋ค๋ฉด ์ปจํ ์ด๋๊ฐ ์คํ๋๋ฉฐ ์๋์ผ๋ก ์ค์น๋์์๊ฒ์ด๋ค.
์ปจํ ์ด๋๊ฐ ์ ์์ ์ผ๋ก ์ผ์ง์ ๋ง์ ํฐ๋ฏธ๋์ ์ด์ด java -version์ ๋ ๋ ค๋ณด๋ฉด
11๋ฒ์ ์ด ์๋ฆฌ๋ฅผ ์ก์๋จ๋ค.
Python
AI? ์น์๋ฒ? ํ์ด์ฌ ๋ฌผ๋ก ์ง์ํ๋ค.
ํ์ด์ฌ ๋ํ JAVA์ ๋ง์ฐฌ๊ฐ์ง๋ก DOCKER_MODS์ ๋ชจ๋๊ฐ์ ๋ฃ์ด ์๋ ์ค์น๊ฐ ์๋ฃ๋์ด์๋ค.
๋ณด๋ค ์ฝ๊ฒ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด python, ipynb ๊ฐ์ ํ์ฅ๊ธฐ๋ฅ์ ์ค์นํ์ฌ ์ฌ์ฉํ๋ฉด ๋๊ฒ ๋ค.
Live Server
์นํ์ด์ง๋ฅผ ๊ฐ๋ฐํ๋ค๋ฉด ๋น ์ง์ ์๋ ํ์ฅ๊ธฐ๋ฅ์ด๋ค.
๋ธ๋ผ์ฐ์ ์์ ์นํ์ด์ง๋ฅผ ๊ฐ๋ฐํ๋ค๋. ๋๋ฌด IT๋ณํ์ค๋ฌ์ด ๊ตฌ์กฐ๋ค.
๋ง์ผํ๋ ์ด์ค์์ live server๋ก ๊ฒ์ํด ํ์ฅ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค.
ํ์ฅ์ ์ค์นํ๊ณ ํ ์คํธ์ฉ HTMLํ์ผ์ ๋ผ์ด๋ธ์๋ฒ๋ก ๋๋ ค๋ณด์.
์น์ ํ ์๋ฒ๊ฐ ์์๋จ๊ณผ ์ฌ์ฉํ๋ ํฌํธ๋ฅผ ์๋ฆผ์ผ๋ก ์๋ ค์ค๋ค.
๋ธ๋ผ์ฐ์ ์์ ์ด๊ธฐ๋ก ํ์ด์ง๊ฐ ์ ๋จ๋์ง ํ์ธํด๋ณด์
์ด๋ฐ ๋์ ๋คํ๋ฆฐ ์๋ง์ ์ด๋ป๊ฒ ์์๋์ง ๋ชจ๋ฅด์ ๋ก ์ผ๊ดํ๊ณ ์๋ค.
ํ์ง๋ง ๋ฐฉ๋ฒ์ด ์๋ค.
ํน์ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ ์๋น์ค์ ์ ๊ทผํ๊ธฐ ์ํด์ URL์ ์ฝ๊ฐ ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค.
์ฝ๋์๋ฒ๋๋ฉ์ธ/proxy/ํฌํธ๋ฒํธ
์ ํ์์ผ๋ก ๋ฐ๊ฟ์ ์ ์ํ๋ฉด ์ ์์ ์ผ๋ก ํ์ด์ง๋ฅผ ํ์ธํ ์์๋ค.
PC์์ ์์ ํ๋๊ฒ๋งํผ ํธํ์ง ์์์ ์์ง๋ง ์๋ฌดํผ ๊ฐ๋ฅํ๊ธด ํ๋ค...!
Docker in Docker
์ด๋ฐ! ์ฌ๊ธฐ๊น์ง ๋ฐ์ ๋ค์ธ ๋น์ , ์ง์ง ๋ณํ๋ค์ ์์ญ์ ์จ๊ฒ์ ํ์ํ๋ค.
๋์ปค์์ ๋์ปค๋ผ๋ ์ด๋ณด๋ค ๋ํ ์ ์๋ค.
์ปจํ ์ด๋ ์์์ ๋์ปค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ 2๊ฐ์ง๊ฐ ์๋ค.
1. ํ์ฌ ์ปจํ ์ด๋๊ฐ ๋์๊ฐ๊ณ ์๋ ๋์ปค ์์ง์ ๋ถ์ด ๋์ปค๋ฅผ ํจ๊ป ์ฌ์ฉํ๊ธฐ
2. ๋์ปค ๋ด์์ ๋์ปค๋ฅผ ์ค์นํ์ฌ ์ปจํ ์ด๋๊ฐ ๋์ํ๋ ๋์ปค์์ง๊ณผ ๊ฒฉ๋ฆฌ๋ ๋ณ๋์ ๋์ปค๋ฅผ ์ฌ์ฉํ๊ธฐ
์ ์์ ๊ฒฝ์ฐ ํธ์คํธPC์์ ์ฌ์ฉ์ค์ธ ๋ค๋ฅธ ์ปจํ ์ด๋์๋ ์ ๊ทผํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
๋ณธ ํฌ์คํธ์์๋ ํธ์คํธ์ ๋์ปค ํ๊ฒฝ๊ณผ ๊ด๊ณ์์ด ๊ฐ๋ฐ, ํ์ต์ฉ ๋์ปค๋ฅผ ๋ณ๋๋ก ์ฌ์ฉํ๊ธฐ ์ํด ํ์๋ฅผ ํํ๋ค.
์ค์น๋ฒ์ ๊ฐ๋จํ๋ค. DOCKER_MODS์ ์ถ๊ฐํ๋ฉด ๋๋ค.
1๋ฒ ๋ฐฉ๋ฒ๊ณผ 2๋ฒ ๋ฐฉ๋ฒ์ด ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ชจ๋๊ฐ์ ๊ฐ๊ณ ์์ผ๋ฏ๋ก ์ฃผ์ํ๋ค.
๋ชจ๋๊ฐ์ ์ ๋ ฅํ๊ณ ์ ์์ ์ผ๋ก ์ปจํ ์ด๋๊ฐ ๋ถํ ์ด ๋์๋ค๋ฉด ํฐ๋ฏธ๋์์ ๋ฐ๋ก docker๋ช ๋ น์ ์ฌ์ฉํ ์ ์๋ค.
๋ณด๋ค ์ฝ๊ฒ ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํ๊ณ ์ถ๋ค๋ฉด vscode์์ ์ ๊ณต๋๋ dockerํ์ฅ ๊ธฐ๋ฅ์ ์ค์นํ๋ฉด ์ข๋ค.
๋ช ๋ น์ด๋ฅผ ํตํด ํ์ธํด๋ณด๋ฉด ๊ธฐ๋ณธ์ผ๋ก ์กด์ฌํ๋ ์ด๋ฏธ์ง์ ์ปจํ ์ด๋๋ฅผ ๋ณผ ์ ์๋ค.
๋คํ๋ฆฐ ์๋ง์ ๋ง์๊ป ๋ถ์ถํ ์ ์๋ ๋์ปค ๋์ดํฐ, ์ด๋ ๊ฒ ์์ฑ์ด๋ค.
๊ฒฐ๋ก
์๊ฐ๋ณด๋ค ๋ง์๊ฒ์ด ๊ฐ๋ฅํ vscode server์๋ค.
๋ฌผ๋ก ์ผ๋ถ ํ์ฅ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค๊ฑฐ๋, ์์ ๋ฐฉ์์ด PC๋ณด๋ค ๋ณต์กํ๋๋ฑ ๋จ์ ๋ ์กด์ฌํ๋ค.
๊ทธ๋ผ์๋ ์์ ํ๊ฒฝ์ ์ ํ์์ด ์์ ์ด ๊ฐ๋ฅํ๋จ์ ์ ์๋นํ ๋งค๋ ฅ์ ์ด๋ค.
์๋ฒPC์ ์ฌ์๋ง ์ข๋ค๋ฉด ์ํฐ ๋ค์ด๊ฐ ์๋ฐ๋ฅ ๋งํ ๋ฏธ๋PC์์๋ ๋ชปํ ๊ฒ ์๊ฒ ๋ค.
๊ตต์งํ ์ธ์ด๋ค์ ๋ฌธ์ ์์ด ์ง์ํ๊ณ ๋ฆฌ๋ ์ค์์ ๋๋ฆฌ๋ vscode๋ผ๊ณ ๋ณด๋ฉด ๋๋ ํ์ฉ์ฑ๋ ๋ฌด๊ถ๋ฌด์งํ๋ค.
์ฑ ์๊ณผ ๊ฐ๋ฐฉ์ ๋ ๊ฐ๋ณ๊ฒ, ์๋ฒ์ค์ ๋ ๋ฌด๊ฒ๊ฒ. ํ์๋ฒ์์ ๋๋ฆฌ๋ vscode๋ก ๊ฐ๋ฅํ๋ค.