MacOS 이용 개발자라면 Intel 맥과 애플 실리콘을 이용하는 맥 이용자로 구분될 것입니다. 실제로 무언가 설치를 할 때 설치 경로가 다르거나 실행이 잘 안되는 경우가 있었을 것입니다.
이번 포스팅에서는 애플 실리콘 중 M1 칩을 사용하는 개발 입문자와 추후 M1 맥북을 다시 만났을 때를 위해 간단한 개발 환경 세팅을 할 수 있는 글을 적어보겠습니다. 물론 그 때는 마이그레이션을 사용할 수도 있겠네요.
일반 터미널 애플리케이션 대신 사용할 수 있는 터미널 애뮬레이터
👉 공식홈페이지 👈
그동안 무지성으로 설치했던 iterm2
였다면 이제는 iterm2를 왜 쓰는지도 간단하게 알아보겠습니다.
정말 간단하게 알아볼 것이니, 공식 홈페이지에서도 어떠한 기능을 제공하는지 확인해보세요!
cmd+D` 또는 cmd+shift+D
재부팅 또는 터미널 종료 후에도 이전 작업 내용의 세션을 복원할 수 있습니다.
사용자의 입맛에 맞게 커스터마이징을 할 수 있습니다.
다양한 개발 툴과 통합되어 사용할 수 있습니다.
설치방법은 정말 간단합니다.
공식홈페이지에 접속 후 아래와 같이 다운로드 버튼을 눌러 압축 파일을 해제하기만 하면 됩니다.
우선 ~/Library/KeyBindings
폴더에 설정 파일을 만들어야 합니다.
KeyBindings 폴더는 처음에는 원래 없으므로 없다면 아래와 같이 생성해줍니다.
키보드 설정을 오버라이드하기 위해서는 DefaultKeyBinding.dict 파일을 만들어야합니다. 여기에 개인별로 원하는 설정들을 저장해 놓을 수 있습니다. DefaultKeyBinding.dict
파일을 만들고 아래 내용을 작성하고 저장해주세요.
vi ~/Library/KeyBindings/DefaultKeyBinding.dict
우리가 ₩ (원화) 입력을 ` 입력으로 설정 해야하므로 아래와 같이 설정 파일을 작성하면 됩니다.
{
"₩" = ("insertText:", "`");
}
위 내용을 입력 및 저장하고 재부팅하거나 애플리케이션을 다시 실행하면 됩니다.
oh-my-zsh
은 쉘의 설정과 테마를 관리하는 오픈 소스 프레임워크입니다.
GUI를 사용할 수는 있어도 개발자에게 있어 터미널, 쉘 환경은 떼어놓을 수 없는 사이입니다.
생산성을 높이고 개발 작업을 더욱 편리하게 해주는 툴, Oh My Zsh
에 대해 알아보겠습니다.
Bash 쉘의 대체품으로 유용한 보조 도구를 통해 쉘 환경을 향상시켜줍니다.
맥북은 macOS 10.15 이후로 부터 Bash가 아닌 Zsh을 기본 쉘로 적용하고 있기 때문에 Zsh을 따로 설치할 필요가 없습니다.
다양한 테마를 제공하여 쉘 환경을 사용자 입맛에 맞게 꾸밀 수 있습니다. 단순 검정색 바탕에 흰색 글씨가 마음에 들지 않는다면, Oh My Zsh에서 제공하는 디자인, 색상 스킨, 아이콘을 이용할 수 있습니다.
플러그인을 제공하여 쉘 환경을 확장할 수 있습니다.
명령어 단축키 기능을 제공하여 작업의 효율을 높일 수 있습니다.
iterm2
를 실행하여 아래 명령어를 입력해주세요.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Homebrew는 macOS 운영 체제에서 패키지 관리를 위한 오픈 소스 소프트웨어입니다. 이를 통해 macOS에 손쉽게 소프트웨어 패키지를 설치, 업데이트, 관리할 수 있습니다.
👉 공식홈페이지 👈
Homebrew를 사용하면 터미널을 통해 손쉽게 다양한 소프트웨어 패키지를 설치할 수 있습니다. 많은 오픈 소스 프로젝트와 유틸리티, 개발 도구 등이 제공되며 간편하게 설치할 수 있습니다.
Homebrew는 패키지 간의 의존성을 자동으로 해결합니다. 패키지를 설치할 때 필요한 다른 패키지도 함께 설치하거나 업데이트해 줍니다.
Homebrew를 사용하면 설치된 패키지를 쉽게 업데이트할 수 있습니다. brew update 명령을 통해 Homebrew 자체를 업데이트하고, brew upgrade 명령을 사용하여 설치된 패키지를 최신 버전으로 업데이트할 수 있습니다.
Homebrew는 사용자가 직접 패키지를 추가하거나 수정할 수 있는 유연성을 제공합니다. Homebrew를 통해 패키지를 설치하고 관리하는 것 외에도, 사용자는 자체적으로 패키지를 생성하고 배포할 수 있습니다.
마찬가지로 iterm2
를 실행하여 아래 명령어를 입력해주세요.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
버전 확인을 통해 설치가 정상적으로 되었는지 확인해주세요.
brew --version
brew 명령어를 사용할 때 해당 에러가 발생한다면 아래와 같이 조치를 해주세요.
vi ~/.zshrc
export PATH=/opt/homebrew/bin:$PATH
Miniconda는 Conda의 배포판 중에 하나로, 프로그래밍 환경 구축 및 패키지 저장소 관리를 도와주는 도구 입니다.
Python 프로젝트를 이용한다면 Miniconda를 이용해 보는 것도 좋을 것 같습니다.
👉 공식 홈페이지 👈
Conda란 언어의 패키지, 의존관계와 환경을 관리하는 가상환경 툴입니다. 파이썬의 경우 파이썬 2.x, 3.x부터 시작해서 패키지의 버전에 따른 의존성이 강하기 때문에 Conda와 같은 가상환경을 이용하여 패키지를 관리해야합니다.
배포판으로 불필요한 패키지를 전부 설치하지 않아도 됩니다.
Conda를 기본으로 하기 때문에 파이썬 패키지를 쉽게 설치하고 업데이트할 수 있습니다.
가상 환경을 생성하여 프로젝트별로 독립된 환경을 구성할 수 있습니다.
chmod +x "OS별_설치_파일_이름"
./OS별_설치_파일_이름
맥은 설치 과정 중 zsh에 적용할거냐는 질문이 나오는데 이때 Y로 적용하게 되면 별도로 zsh에 적용해주는 명령은 입력할 필요가 없습니다.
NVM은 Node Version Manager의 약어로, macOS 및 Linux 환경에서 Node.js 버전 관리를 쉽게 할 수 있도록 도와주는 도구입니다. NVM을 사용하면 여러 버전의 Node.js를 설치, 관리하고 프로젝트별로 다른 버전을 사용할 수 있습니다.
👉 공식 홈페이지 👈
NVM을 사용하면 하나의 시스템에 여러 개의 Node.js 버전을 설치하고 전환할 수 있습니다. 각 프로젝트에 필요한 Node.js 버전을 선택하여 사용할 수 있으며, 버전 간의 충돌 없이 개발할 수 있습니다.
각각의 프로젝트는 자체적인 Node.js 환경을 갖고 있어야 할 때가 있습니다. NVM을 사용하면 프로젝트마다 독립된 Node.js 환경을 생성할 수 있으며, 각 프로젝트의 요구에 맞게 버전을 선택하여 사용할 수 있습니다.
NVM을 사용하면 Node.js의 새로운 버전이 나왔을 때 쉽게 업데이트할 수 있습니다. 또한, 이전 버전으로 롤백하는 것도 간단합니다. 이를 통해 안정적인 개발 환경을 유지하거나 새로운 기능을 빠르게 적용할 수 있습니다.
NVM은 간단한 명령어를 통해 Node.js 버전을 설치, 사용, 관리할 수 있습니다. 터미널에서 명령어를 입력하여 원하는 작업을 수행할 수 있으며, 프로젝트의 요구에 따라 Node.js 버전을 손쉽게 전환할 수 있습니다.
brew를 사용하여 nvm을 설치해보겠습니다.
brew install nvm
~/.zshrc
파일 가장 하단에 아래 코드를 작성해주세요.export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
nvm install [version]
nvm install --lts
RDBMS 중 대표적인 데이터베이스 시스템 중 MySQL을 설치해보려고 합니다.
👉 공식 홈페이지 👈
MySQL은 오픈 소스 프로젝트로 개발되어 누구나 소스 코드를 열람하고 수정할 수 있는 오픈소스입니다. 이는 커뮤니티의 기여와 개선으로 인해 빠른 버그 수정 및 기능 개선이 가능하다는 장점을 제공합니다.
MySQL은 테이블 간의 관계를 기반으로 데이터를 저장하고 관리하는 관계형 데이터베이스 시스템입니다. 이를 통해 데이터의 일관성, 무결성, 중복 제거 등을 보장할 수 있습니다.
다양한 데이터 유형: MySQL은 다양한 데이터 유형을 지원합니다. 문자열, 숫자, 날짜 및 시간, 이진 데이터 등을 저장하고 처리할 수 있습니다.
MySQL은 트랜잭션을 지원하여 데이터베이스 작업의 원자성, 일관성, 격리성, 지속성(ACID)을 보장합니다. 이는 데이터의 안정성과 데이터 조작의 정확성을 유지하는 데 도움이 됩니다.
MySQL은 대규모 데이터베이스와 많은 동시 사용자를 처리할 수 있는 확장성을 제공합니다. 클라이언트-서버 아키텍처와 여러 기능을 활용하여 성능과 확장성을 향상시킬 수 있습니다.
MySQL은 다양한 프로그래밍 언어(예: Python, Java, PHP)와의 연동을 지원합니다. 이를 통해 다양한 응용 프로그램과의 데이터 통합이 용이합니다.
brew install mysql
mysql.server start
mysql_secure_installation
vim을 사용해보려 했으나, 익숙해지기까지의 시간이 오래걸려 아직도 사용 중인 에디터입니다.
👉 공식 홈페이지 👈
brew install --cask visual-studio-code
iterm2에서 작업을 하다가 에디터를 사용하고 싶을 때,
아직 나는 vim에 익숙하지 않다면 현재 작업 중인 디렉토리의 모든 내용을 에디터로 옮길 수 있습니다.
code .
VSCode 앱을 실행 > cmd+shift+p
> >path
Window 유저라면 cmd를 ctr로 바꿔주세요.
이후 다시 iterm2에서 code .
을 입력해보세요
기존에 맥을 이용하고 있었지만 회사에서 제공하던 Intel 맥북이었고, 이마저도 M1으로 갈아타기 전에 회사에 반납을 해버렸다.. 사실 M1을 늦게 구매한 것뿐.
내가 겪으면서도 멘토링을 하면서도 첫 개발을 입문할 때는 역시 세팅이 코드 한줄 치는 것 보다 더 힘들다는 사실을 뼈저리게 느꼈다.
많은 분들에게 작게나마 도움이 되길 바랍니다.
버전이 달라졌거나 명령어가 실행이 안되는 부분은 댓글로 알려주시면 열심히 확인하여 반영하겠습니다.