๐ ๊ฐ๋ฐ์๋ฅผ ์ํ Windows ๊ฐ๋ฐํ๊ฒฝ ์ธํ
#1 ๊ธฐ๋ณธ ์ ์
1.0 PC ํฌ๋งท ํ ๋๋ผ์ด๋ฒ ์ก๊ธฐ (3DP chip ์ด์ฉ)
1.1 Chocolatey ์ค์น ํ ํ์ ํจํค์ง ๋ค์ด๋ก๋(Windows PowerShell ์ค์น)
1
2
3
4
5
6
7
8
#1.1.1
ํจํค์ง: Chrome, VSC, Python, Windows Terminal, Git
#1.1.2
VSC Extensions: Prettier, Material Theme(+icons), Java Extensions, Python, Tab Out
#1.1.3
๊ทธ์ธ: Java SE(JDK)- ์ค๋ผํด ๊ณตํ / WSL-MS / Ubuntu- MS Store
1.2 WSL (Windows Subsystems for Linux) ์ ์
1
2
3
4
5
#1.2.1
<https://docs.microsoft.com/ko-kr/windows/wsl/install-win10>
#1.2.2
WSL ๊ธฐ๋ณธ ์ค์น + ์ปค๋ ์
๋ฐ์ดํธ + WSL 2 ์
๋ฐ์ดํธ
1.3 ๋ฉ์ธ๋ณด๋ ๊ฐ์ํ(Virtual Machine) ์ ์
1
2
3
4
5
#1.3.1
Asus Prime X470 ๊ธฐ์ค BIOS ์ธํ
์ง์
ํ Advanced ๋ชจ๋
#1.3.2
Advanced - CPU Configuration - SVM - Enabled๋ก ๋ณ๊ฒฝ
1.4 Ubuntu ์ ์
1
2
3
4
5
6
7
8
#1.4.1
Ubuntu ์ธ์คํจ ํ ์ ์ ์ด๋ฆ, ํจ์ค์๋ ์ค์
#1.4.2
wsl --set-version Ubuntu๋ฒ์ 2 ์
๋ ฅ(์ฐ๋ถํฌ์์ wsl2๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋๋ก ์ค์ )
#1.4.3
Windows Terminal ์์ ๊ธฐ๋ณธ ํฐ๋ฏธ๋์ Ubuntu๋ก ์ค์ ํ ๋ฆฌ๋ถ
#2 ์ปค์คํฐ๋ง์ด์ง
2.1 oh my zsh
1
2
3
4
5
6
7
8
9
10
11
#2.1.1
[http://github.com/ohmyzsh/ohmyzsh](http://github.com/ohmyzsh/ohmyzsh) ์์ zsh ๋ค์ด๋ก๋>> sudo apt install zsh ์์
๋ ฅ
#2.1.2 sh -c
"$(wget -O- [https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh](https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh))" ์์
๋ ฅ
#2.1.3
์ค์น ์๋ฃ ํ code ์
๋ ฅํ์ฌ Ubuntu์ VSC ์๋ฒ ์ฐ๊ฒฐ
#2.1.4
์ด์ Ubuntu ์์ ๋ฐ๋ก VSC๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ค!
2.2 color scheme setup
1
2
3
4
5
6
7
8
9
10
11
12
#2.2.1
[msdocs ์๋ด](https://docs.microsoft.com/ko-kr/windows/terminal/customize-settings/color-schemes) ํ
๋ง๋ฅผ ์ฐ๊ฑฐ๋
#2.2.2
[terminalsplash.com/?ref=producthunt](http://terminalsplash.com/?ref=producthunt) ์์ Terminal Splash๋ฅผ ์ฌ์ฉํ ์ ์์
#2.2.3
.JSON ํ์ผ์ color scheme ๊ฐ์ ์ง์ ์์ ํ์ฌ ์ปค์คํฐ๋ง์ด์ง ํ ๊ฒ
> > ๋ชจ๋ ์์ ๊ฐ์ ํ
๋ง๋ฅผ ์ฐ๊ณ ์ถ์ ๊ฒฝ์ฐ
"profiles"์ "defaults"์ "colorschome": "ํ
๋ง", ๋ฅผ ๋ฃ์ด์ค ๊ฒ
2.3 powerlevel10k
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#2.3.1
๋ ์พ์ ํ ํ๊ฒฝ์ ์ํด powerlevel10k ์ฌ์ฉ (oh my zsh ์จ์ ์ค์น)
#2.3.2
[https://github.com/romkatv/powerlevel10k#oh-my-zsh](https://github.com/romkatv/powerlevel10k#oh-my-zsh) ์์ git clone ๋ณต์ฌ ํ ๋ถ์ฌ๋ฃ๊ธฐ
#2.3.3
.zshrc ํ์ผ ์์ (๋ช
๋ น์ด: code ~/.zshrc)>> ๋ํดํธ๋ฅผ powerlevel10k/powerlevel10k ๋ก ๋ณ๊ฒฝ
#2.3.4
ํฐ๋ฏธ๋ ์ฌ์์ ํ Powerlevel10 Configuration wizard ์งํ
#2.3.5
MesloLGS NF ํฐํธ ์ค์น(Regualr, Bold, Italic, Bold Italic)
#2.3.6
ํฐํธ๊ฐ ๊นจ์ ธ๋ณด์ด๋ ๊ฒฝ์ฐ, ํฐ๋ฏธ๋ ์ธํ
(.JSON) ์์
"defaults" ๊ฐ์ "fontFace": "MesloLGS NF" ์ถ๊ฐ
#2.3.7
VSC Preferences > Terminal > Integrated - Font Family ์ฐพ์ MesloLGS NF ๊ธฐ๋ณธํฐํธ๋ก ์ค์
#2.3.8
Powelevel10k ์ค์ ๋ง๋ฌด๋ฆฌ
2.4 ls color change
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#2.4.1
์์์ code ~./zshrc ๋ก ์ค์ ํ์ผ ์ด์ด์ฃผ๊ธฐ
#2.4.2
๋ง์ง๋ง ๋ผ์ธ์ LS_COLORS="ow=01;36;40" && export LS_COLORS ์ถ๊ฐ (wsl ๊ธฐ๋ณธ ls ์ปฌ๋ฌ๋ฅผ ๋ณ๊ฒฝ)
#2.4.3
VSC settings > intergrated terminal > automationsShell Windows Edit.JSON ์ด๊ณ
#2.4.4
"terminal.integrated.automationShell.windows": "C:\\Windows\\System32\\wsl.exe" ์ถ๊ฐ
#2.4.5
์ ์ฅ ํ ํฐ๋ฏธ๋ ์ฐฝ ์ฐ ๋ค powershell๋ก ์ ํ๋์ด์๋ ํฐ๋ฏธ๋์ ๐ฝ ๋๋ฌ์ Ubuntu(WSL)๋ก ๋ณ๊ฒฝ
https://nomadcoders.co/windows-setup-for-developers/lectures/1836
#3 ์ค์น
3.1 ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
$ ls
// ๋๋ ํ ๋ฆฌ ์ถ๋ ฅ(list)
$ cd ..
// ์์ํด๋๋ก ์ด๋
$ cd
// ๋๋ ํ ๋ฆฌ ์ด๋
$ touch helloworld.java
// .java ํ์ผ ์์ฑ
$ touch something/else.java
// ํ์ฌ ์์น์ something ๋๋ ํ ๋ฆฌ ์์ฑ ํ ๊ทธ ์์ else.java ์์ฑ
$ mkdir new_project
// ํ์ฌ ์์น์ new_project ๋๋ ํ ๋ฆฌ ์์ฑ
$ mv file.java to_new_file.java
// file.java์ ์ด๋ฆ์ new_file.java ๋ก ๋ณ๊ฒฝ
$ mv /foldername /home/yon/java
// fordername ๋๋ ํ ๋ฆฌ๋ฅผ /home/yon/java ๋ก ์ฎ๊ธฐ๊ธฐ
$ rm something/file.java
// something ๋๋ ํ ๋ฆฌ ๋ด์ file.java ์ญ์
$ rm -rf something
// something ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํ๊ธฐ
$ exit()
// ํ๋ก๊ทธ๋จ ์ข
๋ฃ
$ sudo
// root ๊ถํ ๋ถ์ฌ(admin)
$ ํ๋ก๊ทธ๋จ๋ช
-v
// ํ๋ก๊ทธ๋จ ๋ฒ์ ํ์ธ
$ code ~/.zshrc
// ์ฐ๋ถํฌ ์ฝ์ ์ค์
// .zshrc ํ์ผ์ alias python=python3.8 ๋ช
๋ น์ด๋ฅผ ์ถ๊ฐํ๋ฉด
// ํ์ด์ฌ์ ์คํํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก 3.8 ๋ฒ์ ์ ์คํํ๋ค
$ sudo tar xvf /ํ์ผ๋ช
.tar.gz
// .tar ํ์ผ์ ์์ถ์ ํ์ด์ฃผ๋ ๋ช
๋ น์ด -์ค๋ผํด Java ์ค์นํ ๋ ์ฌ์ฉํ์
$ sudo vi /etc/profile
// ํ๊ฒฝ์ค์ ์งํ
$ mkdir new_project
// ํ์ฌ ์์น์ new_project ๋๋ ํ ๋ฆฌ ์์ฑ
๐ ์๋์ฐ์์ WSL๋ฅผ ์ด์ฉํ๋ ๊ฒฝ์ฐ, ์ ์ ๋ ์์ ๋ฐฉ์์ ์ ํํ ์ ์๋ค.
1
2
1. ํ๋ก์ ํธ์ ๋ชจ๋ ์์ค์ฝ๋๋ฅผ ์๋์ฐ ํ๋๋๋ผ์ด๋ธ์ ์ ์ฅํ๊ฑฐ๋(Window side)
2. ํ๋ก์ ํธ์ ๋ชจ๋ ์์ค์ฝ๋๋ฅผ ๋ฆฌ๋
์ค Home ๋๋ ํ ๋ฆฌ์ ์ ์ฅํ๊ฑฐ๋(Linux side)
๐ ์ฃผ์ํ ์
1
2
3
4
Linux ์์๋ ์๋์ฐ ํ์ผ์ ์ ๊ทผํ์ฌ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฑด๋๋ ค๋ณผ ์ ์์ง๋ง,
๋ฐ๋๋ก ์๋์ฐ์์ Linux์ ๋ณด๊ดํด๋ ํ์ผ์ ์ ๊ทผํ์ฌ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฑด๋๋ฆฌ๋ ค๋ ์๊ฐ ๊ฐ์ข
์ถฉ๋์ ๋ง๋๊ฒ ๋๋ค.
๋ฐ๋ผ์ ์๋์ฐ์์๋ ๊ทธ ์ด๋ค ๋ฆฌ๋
์ค ํ์ผ๋ ๊ฑด๋๋ฆฌ์ง ์๋ ๊ฒ์ด ์ข๋ค.
๋ฐ๋ผ์ ๋๋๋ก ํ๋ก์ ํธ์ ์์ค์ฝ๋ ํ์ผ์ ์๋์ฐ์ ๋ณด๊ดํ๊ณ Linux์์ ์ ๊ทผํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ์์
์ ์งํํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค.
3.2 apt(apt ๋ช ๋ น์ด๋ ํจํค์ง๋ฅผ ๋ค์ด๋ก๋ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฒ์ํด๋ณด๊ฒ ๋ง๋ ๋ค.)
1
2
3
4
5
6
7
8
9
10
$ apt-get install ํ๋ก๊ทธ๋จ๋ช
// ํ๋ก๊ทธ๋จ ์ค์นํ๊ธฐ (ubuntu install ๋ก ๊ตฌ๊ธ๋งํ์ฌ ํ์ํ ํ๋ก๊ทธ๋จ ๋ค์ด)
// apt ๋ ํจํค์ง๋ฅผ ๋ค์ด๋ก๋ ํ ์ ์๊ฒ ๋ง๋ค์ด์ค๋ค(DB๋ฅผ ์ฐพ์)
$ apt-get upgrade
// ํจํค์ง ์
๊ทธ๋ ์ด๋
$ apt-get update
// apt-get ์ด ์ฐพ์๋ณผ ์ ์๋ ํ๋ก๊ทธ๋จ๋ค์ DB๋ฅผ ์
๋ฐ์ดํธ ํ๋ ๋ช
๋ น์ด
#4 Java ์ค์น
4.1 ๋ฆฌ๋ ์ค ์๋ฒ์ Java ์ค์นํ๊ธฐ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$ sudo apt-get update
// (1) apt ์
๋ฐ์ดํธ
$ sudo apt-get install openjdk-11-jdk
// (2) openjdk 11 ์ค์น
$ java -version
// (3) ์ค์น์ฌ๋ถ ํ์ธ
$ sudo update-alternatives --config java
// (4) ์
๋ฐ์ดํธ
$ which javac
// (5) ์๋ฐ ์ค์นํด๋ ์์น ๋ฆฌํด
$ readlink -f $(which javac)
// (6) javac์ ์ค์ ํ์ผ ๊ฒฝ๋ก๋ฅผ ๋ฆฌํด - ์ด ๊ฒฝ๋ก๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ (์ปดํ์ผ๋ฌ ๊ฒฝ๋ก ์ค์ )
// ex) /usr/lib/jvm/java-11-openjdk-amd64
$ sudo nano /etc/profile
// (7) ๋๋
ธ ํธ์ง๊ธฐ๋ฅผ ์ด์ฉํ์ฌ ์ปดํ์ผ๋ฌ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ค๋ค.
(8) ๋๋
ธ ํธ์ง๊ธฐ์ ๋ง์ง๋ง ์ค์ JAVA_HOME,PATH,CLASS_PATH ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํด์ค๋ค
$ export JAVA_HOME=(6) ์์ ๋ฆฌํด๋ ๊ฒฝ๋ก ex) /usr/lib/jvm/java-11-openjdk-amd64
$ export PATH=$JAVA_HOME/bin/:$PATH
$ export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH
(9) ctrl + o ๋ก ์ธ์ด๋ธํ๊ณ ctrl + x ๋ก ํธ์ง๊ธฐ๋ฅผ ๋น ์ ธ๋์จ ๋ค ์ฐ๋ถํฌ ์ฌ์คํ
(10) $ java -version ๋ฐ $ javac -version ์ผ๋ก ๋ฒ์ ์ถ๋ ฅ์ด ์ ๋๋ก ๋๋์ง ํ์ธ
(11) ์ด์ VSC-WSL ํ๊ฒฝ์์ Java๋ฅผ ์ปดํ์ผ ํ ์ ์๋ค!
// ref: https://www.youtube.com/watch?v=-ea_gSFJ4Tg
#5 Git ์ค์น
5.1 ๋ฆฌ๋ ์ค ์๋ฒ์ Git ์ค์นํ๊ธฐ
1
2
3
4
5
6
7
8
9
10
11
12
13
$ sudo apt-get install git
$ sudo apt install git
// (1) git ์ค์น
$ git --version
// (2) ์ค์น๋ git ๋ฒ์ ํ์ธ(๋ฒ์ ๋ช
์ด ๋จ๋ฉด ์ ์)
$ git config --global user.name "๊นํ๋ธ ๊ณ์ "
$ git config --global user.email "์ด๋ฉ์ผ"
// (3) ์ ์ ์ค์
$ git clone (์ํ๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฃผ์)
// (4) ํ์ฌ ์์น์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ณต์
5.2 ๋ฆฌ๋ ์ค ์๋ฒ์ Git CLI ์ค์นํ๊ธฐ
1
2
3
4
5
6
7
8
9
10
11
๋งํฌ: https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-apt
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0
sudo apt-add-repository https://cli.github.com/packages
sudo apt update
sudo apt install gh
์ดํ ๋ฒ์ ์
๊ทธ๋ ์ด๋๋
sudo apt update
sudo apt install gh