์ ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ด๋ฒ ๋ธ๋ก๊ทธ๋ ์ธํ ๊ธฐ๋ฐ์ ๋งฅ์ ๋์์ผ๋ก ํฉ๋๋ค!
-์ฌ์ด๋ ๋ฐ ๊ณต๋ถ : MacBook-Pro-16 2019, Big Sur 11.1
-์ ๋ฌด : MacBook-Pro-13 2020, Catalina 10.15.7
-์ง์์ ๊ฐ์ง๊ณ ๋๊ธฐ : Mac Mini M1, Big Sur 11.1
Before ๊ฐ๋ฐ ๊ณต๋ถ
๋ํ์ ์์ ์ฌ์ฉํ๋ ๋งฅ๋ถํ๋ก์์ 'ํฐ๋ฏธ๋์ฑ(terminal)'์ ์ด์ด๋ณผ ์ผ์ด ๋ฑ ํ ๋ฒ ์์๋ค. ๋งฅ๋ถ์ ๋๋ณด๋ค ์ผ์ฐ๋ถํฐ ์ฌ์ฉํ๋ ์น๋๋์ ํจ๊ป ์นดํ์์ ๊ณต๋ถ๋ฅผ ํ ๋์๋ค. ์ฐ์ฐํ๊ฒ ๋๋ ๋งฅ๋ถ์ ๋ดค๋๋ฐ, ๋ฐ์นํจ๋์ ์ฑ ์์ด์ฝ๋ค์ด ์์ ํฌ๊ธฐ๋ก ์ค๋ฐ์กฐ๋ฐํ๊ฒ ์ ๋ฐฐ์น๊ฐ ๋ ๋ชจ์ต์ ๋ง์ฃผํ๊ณ ๋ด ๊ฒ์๋ ํด๋ฌ๋ผ๊ณ ํ ๊ฒ์ด ๊ทธ ์์์ด์๋ค. ๋๋๋ ์์ฐ์ค๋ฝ๊ฒ ํฐ๋ฏธ๋์ฑ์ ์ด๋๋ ๋ช ๊ฐ์ง ๋ช ๋ น์ด(?)๋ฅผ ์ ๋ ฅํ๊ณ ๋ ํธ๋ํจ๋์์ ๋ค์ฏ ์๊ฐ๋ฝ์ ์ค๋ฏ๋ ธ๋ค. ๋์ ๋งฅ๋ถ ๋ฐ์นํจ๋๋ ๋์ผํ๊ฒ ์ฑ ์์ด์ฝ๋ค์ด ์์ ํฌ๊ธฐ๋ก ์ค๋ฐ์กฐ๋ฐ ์ ๋ชจ์ฌ์์๋ค. ์ ์ ํ ์ถฉ๊ฒฉ ๋ค๋ก๋ ํฐ๋ฏธ๋์ ์ด๊ธฐ๊น์ง ์๋ง 2๋ ์ ๊ฑธ๋ฆฐ ๊ฒ ๊ฐ๋ค.
์์ ์ฌ์ง์ฒ๋ผ ๋ด๊ฐ ์๋ก์ด ๋งฅ์ ์ฌ๊ฑฐ๋ ๋๋ ๋๊ตฐ๊ฐ์๊ฒ ๋ฐ์ผ๋ฉด ๊ฐ์ฅ ๋จผ์ ํ๋ ์ผ์ด ๋ฐ์นํจ๋์ ์์ด์ฝ ์ฌ์ด์ฆ๋ฅผ ์ค์ด๋ ๊ฒ์ด๋ค. ๋ํดํธ๋ก๋ ์ฑ ์์ด์ฝ๋ค์ด ๋์๊ฒ๋ ๋๋ฌด ํฌ๋ค๊ณ ํ๋จ๋์ด์ ์กฐ๊ธ ๊ท์ฐฎ์ง๋ง ๊ฐ์ฅ ๋จผ์ ํด์ค๋ค. ์ด๋ ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๋์ ๋ช
๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ฑ์์ ์์๋๋ก ์
๋ ฅํ๋ฉด ๋๋ค. rows
๋ ๋ฐ์นํจ๋์ ๊ฒฉ์๋ฅผ ๋๋๋ค๊ณ ํ์๋ ์์ฑํ ํ์ ๊ฐฏ์๋ค. columns
๋ ๋ฐ๋๋ก ์ด์ ๊ฐฏ์๋ฅผ ์๋ฏธํ๋ค. ์ฌ์ง์์ ๋ณด๋ฉด, ํ ์ค(ํ)์ 7๊ฐ์ ์ฑ ์์ด์ฝ์ด ๋ฐฐ์น๋ ๊ฒ์ ์ ์ ์๋ค.
$ defaults write com.apple.dock springboard-rows -int 12
$ defaults write com.apple.dock springboard-columns -int 7
$ killall dock
github์ ์๊ธฐ ์์ํ๊ณ jekyll๊ณผ jQuery๋ก ๋ธ๋ก๊ทธ๋ฅผ ๋ง๋ค ๋ ๋ค์ ํฐ๋ฏธ๋์ ์ด์ด์ผ ํ๋ค. homebrew(ํ๋ธ๋ฃจ)[^1]๋ก ๋ฃจ๋น๋ฅผ ์ค์นํ๊ณ git์ ์ฐ๊ฒฐํด์ฃผ๋ ์์ ๋ง ์ ๋ง ํ๋ฃจ ์ข ์ผ ๊ฒ์ํ๋ฉด์ ์งํํ์๋ค. ๋ธ๋ก๊ทธ๋ฅผ ๊ตฌ์ถํ ๋ค์์๋ git ๋ช ๋ น์ด๋ฅผ ํตํด์ ํฌ์คํ ํ๋ ์์ ์ ์ํด ํฐ๋ฏธ๋์ ์ด์์๋ค.
์ด ๋ธ๋ก๊ทธ๋ฅผ ์ฐ๋ ๋ชฉ์
๊ฐ๋ฐ ๊ณต๋ถ๋ฅผ ์์ํ๊ณ ๋์๋ ๋ ๋ง์ ๊ฒ๋ค์ ๋งฅ์ ์ธํ ํด์ฃผ์ด์ผ ํ๋ค. ์ด ์ค์ ๋ค์ ์ง๊ธ๋ ์๋ก์ด ๋งฅ์ ์ป๊ฒ ๋๋ค๋ฉด ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ์ ์ํด์ ๋งค๋ฒ ํด์ค๋ค. ์ฌ์ค ์ด ๋ธ๋ก๊ทธ๋ฅผ ์์ฑํ๋ ๊ฐ์ฅ ์ฃผ์ํ ๋ชฉ์ ์ด ์ง๊ธ๋ถํฐ๋ค. ๋งค๋ฒ ๊น๋จน๊ธฐ ๋๋ฌธ์ ๋ ์ด์์ ๊ฒ์์ ํ์ง ์๊ณ ๋ฐ๋ก ๋ธ๋ก๊ทธ๋ก ํ์ธํ๊ธฐ ์ํด์!
1. Iterm2 ์ค์น์ Homebrew, oh-my-zsh ์ค์
๊ทธ๋ ๋ค. ๋งฅ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ํฐ๋ฏธ๋์ฑ์ ์ด์ ์ด์์ง๊ฐ ์๋ค. ๋๋ Iterm2๋ฅผ ์ฌ์ฉํ๋ค. macOS 10.14 ๋ฒ์ ์ด์๋ถํฐ ์ง์ํ๋ ํฐ๋ฏธ๋์ฑ์ด๊ณ ๋ค์ํ ํ ๋ง๋ฅผ ์ฌ์ฉํ ์ ์๋ค! (์ค์๋ฆฌ-๐ฃ) ๊ทธ๋ฆฌ๊ณ ๋ค์ํ ๊ฐ๋ฐ ํ๋ก๊ทธ๋จ์ ์ค์นํ ์ ์๊ฒ ๋์์ฃผ๋ Homebrew๋ฅผ ์ค์นํ๋ค.
Homebrew ์ค์น ์ ์ Iterm2๋ฅผ ์คํ์ํค๋ฉด ๋๋ํ ๋งฅ์ด auto-install์ ํตํด์ ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํ๋๊ณ ๋ฌป๋๋ค. ๊ทธ๋ ํ์ธ ๋ฒํผ์ ๋๋ฅด๋ฉด xcode์ ๊ด๋ จ๋ ์ค์น๊ฐ ์งํ๋๋ค. (xcode ์์ฒด๋ฅผ ์ค์นํ๋ ๊ฒ์ ์๋๋ค!) ๊ทธ๋ฐ๋ฐ, ์ค๊ณ ๋ก ๋งฅ์ ์ฌ๋ฉด ์ด auto-install ํ์
์ด ๋จ์ง ์๋ ๊ฒ๋ ๊ฐ์๋ค. ๊ทธ๋ด๋๋, $ xcode-select --install
๋ก ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค.
Homebrew๋ ๊ณต์๋ฌธ์ ๊ฐ์ฅ ์๋จ์ ์ค์น ์ฝ๋๊ฐ ์๋ค. ๊ทธ ์ฝ๋๋ฅผ ๋ณต์ฌํด์ ํฐ๋ฏธ๋์ ๋ถ์ฌ๋ฃ์ผ๋ฉด ๋๋๋ค. M1์นฉ์ด ๋ค์ด๊ฐ ๋งฅ๋ฏธ๋์์ Homebrew๋ฅผ ์ค์นํ ๋ ์ ๋ฅผ ๋จน๊ธดํ๋ค. ๋ก์ ํ๋ก ์ฐํํด์ ์ค์นํ๊ณ ๋์ค์ nvm ์ค์ ์ ์ก์์ค ๋๋.. ์ฐ์ M1์ ๋ํ ๋ด์ฉ์ ๋ค์์ ์ ๋ฆฌํ๊ธฐ๋ก ํ์.
Homebrew ์ค์น๊ฐ ์๋ฃ๋๋ฉด ์ด์ Iterm์ ์๋ก์ด ์ท์ ์ ํ์ค์ผ ํ๋ค. Homebrew๋ฅผ ๊ตณ์ด ๋จผ์ ์ค์นํ ํ์๋ ์์ง๋ง, wget์ ์ฌ์ฉํ ๊ฒ์ด๋ผ๋ฉด ์๋ ๊ฒ์ด ์ข๋ค. wget์ url์ ๊ธฐ๋ฐ์ผ๋ก ํ์ผ์ ๋ค์ด๋ฐ๋ ํ๋ก๊ทธ๋จ์ด๋ค. wget์ ์ด์ฉํด์ Iterm์ OH-MY-ZSH๋ฅผ ํ๋ค. ์ญ์ ๊ณต์๋ฌธ์์ ์ค์น ๊ด๋ จ ์ค๋ช ์ด ์ ๋์ด์๋ค.
$ brew install wget
$ sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
2. oh-my-zsh์ ์ด์ ํ ๋ง ์ ํ๊ธฐ
oh-my-zsh๋ ์ ๋ง ๋ค์ํ ํ
๋ง๋ฅผ ์ ๊ณตํ๋ค. ๊ทธ ์ค์์ ๋๋ agnoster
๋ fletcherm
์ ์ฌ์ฉํ๋๋ฐ ์ ๋ง ๋ค์ํ ํ
๋ง๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ง์ ๋๋ ๊ฒ์ ์ฐพ์์ ์ฌ์ฉํ๋ฉด ๋๋ค. ํ
๋ง ๋ณ๊ฒฝ์ ~/.zshrc
ํ์ผ์ ์๋ ZSH_THEME="์ฌ๊ธฐ์ ์ํ๋ ํ
๋ง๋ฅผ ์
๋ ฅํ์ธ์"
์ ๋ฐ์ํ๋ฉด ๋๋ค. ๊ตฌ๊ธ์ ๊ฒ์ํ๋ฉด ์ ๋ง ๋ง์ oh-my-zsh ํ
๋ง๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์๋ค. ๐
$ nano ~/.zshrc
$ ZSH_THEME="fletcherm"
# ๋ฐ์ํ ๋ค์์๋ ctrl + x -> ctrl + y -> enter ๋ก ์ ์ฅํ๊ณ ๋์จ๋ค!
3. VSCode ์ค์นํ๊ณ Path ์ค์ ์์ code ๋ช ๋ น์ด ๋จน์ด๊ธฐ
์ญ์ ๊ทธ๋ ๋ค. VSCode๋ฅผ ์ฃผ๋ ฅ ์๋ํฐ๋ก ์ฌ์ฉํ๋ฉด ๋ชจ๋ ๋ฌธ์, ์ฝ๋ ์์
์ ๊ฑฐ๊ธฐ์ ํ๊ฒ๋๋ค. VSCode๋ฅผ ์ค์นํ๊ณ ์ด์ด์ cmd shift P
๋ฅผ ๋๋ฅด๋ฉด ์ด๋ค ๊ฒ์์ฐฝ ๊ฐ์ ๊ฒ์ด ์๋ํฐ ์๋จ์ ๋์จ๋ค. ๊ทธ ๊ฒ์์ฐฝ์์ path
๋ฅผ ์
๋ ฅํ๋ฉด ํฐ๋ฏธ๋์ฐฝ์์ code .
๋ช
๋ น์ด๋ก VSCode๋ฅผ ์ด์ ์๊ฒ ๋ฑ๋กํ๋ ์ก์
์ด ๋์ค๋ ๊ฒ์ ๊ฒฝํํ ์ ์๋ค. (์๋ ์ฌ์ง ์ฐธ๊ณ !)
4. Git Alias ๋ฑ๋กํ๊ณ git, editor ๊ธฐ๋ณธ ์ค์ ํ๊ธฐ
Iterm์ผ๋ก ์ฃผ๋ก git ๋ช
๋ น์ด๋ฅผ ๋ง์ด ํ์ฉํ๋ค. ๊ทธ ๊ณผ์ ์์ git commit -m
๋ฑ๊ณผ ๊ฐ์ ๊ธธ๊ณ ๋ฒ๊ฑฐ๋ก์ด ๋ช
๋ น์ด๋ฅผ ๋งค๋ฒ ์
๋ ฅํ๊ธฐ ๊ท์ฐฎ์์ oh-my-zsh์ ๋ฑ๋กํด์ ์ฌ์ฉ์ค์ด๋ค. code . ~/.zshrc
๋ฅผ ์
๋ ฅํด์ VSCode์์ ์ฝ๊ฒ zsh ์ค์ ์ ๋ณ๊ฒฝํด์ฃผ์.
# .zshrc ํ์ผ
alias gl="git log --graph --decorate --oneline --all"
alias gs="git status"
alias c="clear"
alias mysql="mysql -u root -p"
์ฃผ๋ก ์์ ๋จ์ถํ alias๋ฅผ ์ค์ ํ๋ค. ๋ ๋ง์ง๋ง ๋ค ์ ๊ธฐ์๋ ๋๋ฌด ์ปค์คํ
ํ ๋์ด ์์ด์ ์๊ฐํ๊ธฐ ์ ๋งคํ๋ค. ํ์ผ์ ๋ฑ๋กํ alias๋ Iterm2์์ source ~/.zshrc
๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ ์ ์ฉํด ์ค ์ ์๋ค.
๊ทธ ๋ค์์ ๋ด ์ปดํจํฐ์์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ git๊ณผ ํฐ๋ฏธ๋์์ ์ฌ์ฉํ ์๋ํฐ์ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํด์ค๋ค.
$ git config --global user.name "hankyeolk"
$ git config --global user.email "email@email.com"
$ git config --glboal core.editor "nano"
5. NVM์ผ๋ก Node.js๋ฅผ ์ค์นํด์ฃผ๋ฉด ๋!
๋๋ Node.js๋ฅผ ํ์ฉํด์ ์น ๊ฐ๋ฐ์ ํ๋ ๊ฐ๋ฐ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ Node์ ๋ฒ์ ์ ์ฝ๊ฒ ๊ด๋ฆฌํ๋๋ก ๋์์ฃผ๋ NVM์ ์ค์น๋ ํ์์ ์ด๋ค. NVM ์ญ์ wget์ผ๋ก ์์ฝ๊ฒ ์ค์นํ ์ ์๋ค. ์๋์ ์ฝ๋๋ก ์ค์น๊ฐ ์ ๋๋ค๋ฉด nvm --version
๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ์ ๋ ํ๋จ์ ๋ฒ์ ์ด ์ ๋ฐ ๊ฒ์ด๋ค!
$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
๊ทธ๋ฐ๋ฐ ์ข
์ข
nvm์ ์ค์นํ๋ค ๋ณด๋ฉด ์ค์น ๋์ค์ nvm is already installed
๋ผ๊ณ ํ๋ ๋ฒผ๋ฝ๊ณผ ๊ฐ์ ๋ฌธ๊ตฌ๊ฐ ๋ฐ ์ ์๋ค. ๊ทธ๋ด๋๋ ๋นํฉํ์ง ๋ง๊ณ ์๋์ ๋ฐฉ๋ฒ์ ์๋ํด๋ณด์! nvm์ ๋ํ ์ค์ ์ด export ๋์ง ์์์ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๊ฑฐ์ ๋๋ถ๋ถ์ด๋ค.
$ nano ~/.zshrc
# nano
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# ctrl + x -> ctrl + y -> enter
NVM์ด ์ ์ค์น๋๋ค๋ฉด, nvm install 14.16.0
๋ฑ์ ๋ฐฉ์์ผ๋ก Node.js๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ฉด ๋๋ค. ๋๋ ๋ณดํต LTS ๋ฒ์ ์ ์ฐ์ ์ ์ผ๋ก ์ค์นํ๊ณ ๊ทธ ๋ค์์ Current ๋ฒ์ ์ ์ค์นํด์ ์ฌ์ฉํ๋ค. ๊ฐ๋ฐ์ Current ๋ฒ์ ์ ์ด์ฉํ๋ค.
์๋ก์ด ๋งฅ์ ์ด๋ป๊ฒ๋ ์ป๊ฒ๋๋ค๋ฉด ๋ ์ด์ ์ฐพ์๋ณด๋ ์๊ณ ๋ฅผ ํ์ง ์๊ณ ์ด ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด์ผ๊ฒ ๋ค. ์๋ก์ด ๋งฅ์ด ์ธ์ ์๊ธธ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ๊ทธ๋ ๊ฒ ํ์! ๐