본문 바로가기

개발/설치&설정후기

mac 개발장비 초기 세팅기

많은 개발자들이 공감하는 부분이겠지만...

 

새로 장비를 사거나 지급받았을 때, 정말 할 일이 많다.

개발에 필요한 프로그램 설치해야지, 

설치하고 환경 설정하기 위해 관련 자료 검색해봐야지,

기존 쓰던 게 뭔가 달라지거나 사용 못하게 되어서 대체할 것도 찾아봐야지 등등...

...정말 할 일이 차고 넘친다.

 

그런데 저렇게 긴 시간을 들여서 잘 세팅해두면 어지간하면 다시 설정할 일이 거의 없다 보니,

막상 갑자기 새로 설치할 일이 생겨버리면, 예전에 어떻게 설정했는지 기억이 잘 안 나서 당황스러운 상황이 은근 생긴다.

 

그래서 이번 기회에 정리하는데 시간은 좀 걸리더라도, 다음번 시간 낭비를 줄이기 위해서라도 잘 남겨놔야겠다 다짐하며 포스팅을 시작해 보았다. 

 

 

 

 

자, 우선 설치해야 하는 것들이 어떤 것들이 있는지 차례대로 살펴보자.

 

기존에 직접 mac장비 설정하면서 적어둔 내용을 기반으로 정리해보았다.

 

IntelliJ 설치


java진영 개발자라면 친숙한 애증의 개발툴 IntelliJ. 어차피 설치할 거 제일 먼저 설치해주자. 

 

쓰는 언어가 java 오직 하나거나, 학습이 목적이라면 Community 버전으로 충분하겠지만...

DB(database) 데이터를 다루거나, front 개발자 등 다양한 언어와 유용한 플러그인을 쓰려면,

Ultimate 버전으로 내려받아서 설치하고, 이후 구매요청을 하자

 

만약, 회사나 집에서 안 사준다면? ㅠㅠ 개발 효율을 위해서! 피눈물 나지만 개인적으로라도 구매하길 권한다. 

(2020.03) 개인버전이 1년에 149달러 = 한화로 18만원이 조금 안되는데, 한 달에 한번 비싼 저녁 한 끼 먹은 셈 치며 정신 승리하자.

다음 해에도 연장하면 할인을 해주기 때문에 (2년째 - 119달러, 3년째 이후 - 89달러) 쭉 사용한다면 부담은 점차 줄어드는 셈이다.

 

시간은 곧 돈이라고 생각하기 때문에 미래를 위해 투자하자. 처음 받아서 설치했다면 30일은 무료(trial)로 사용 가능하다.

 

IntelliJ 다운로드 받으러

 

다운로드 IntelliJ IDEA: JetBrains가 만든 전문 개발자용 Java IDE

최신 버전 다운로드: IntelliJ IDEA (Windows, macOS, Linux)

www.jetbrains.com

여기서 IntelliJ 설치 후 설정하길 권하는 게 하나 있는데,

 

IntelliJ를 사용하는 개발자들이 은근 많이 겪는 이슈가 하나 있다. 바로 application build/run 시간이 심각하게 오래(hang) 걸리는 경우다.

macOS High Sierra, 버전 10.13 으로 업데이트 한 이후에 발생하는 네트워크 지연 관련 이슈인데, 이를 회피하기 위해서 기본 localhost(127.0.0.1) 주소에 대한 매핑 설정을 해주어야 한다.

 

해당사항이 없을 수도 있지만, 아래 설정을 통해 애초에 싹을 잘라두자.

 

1. 우선 컴퓨터명 확인

 - command + space  > 시스템 환경설정 > 공유에서 확인

시스템 환경설정 - 컴퓨터이름

 

2. 하단의 컴퓨터명 MacBook-Pro.local 을 확인했다면,  터미널을 열고 관리자 권한으로 /etc/hosts 파일을 수정해보자.

> sudo vim /etc/hosts


##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost       MacBook-Pro.local
255.255.255.255 broadcasthost
::1             localhost

스택오버플로에 언급된 이슈내용

 

InetAddress.getLocalHost() slow to run (30+ seconds)

With the following code: try { System.out.println(new Date()); InetAddress hostName = InetAddress.getLocalHost(); System.out.println(new Date()); } catch (UnknownHostException e) { e.

stackoverflow.com

 

IntelliJ - lombok 플러그인 설치

lombok이 설정된 프로젝트를 진행한다면, 아래 부분을 체크해두자.

설치 후 관련설정을 반드시 해두어야 한다. 만약 관련이 없다면 다음으로~

 

lombok 설치

 - File > Settings > Plugins 이동

     + Lombok Plugin 찾아서 설치. 재구동

 

lombok 관련설정

 - Settings > Build > Compiler > Annotation Processors 이동.

     + Enable annotation processing 체크해서 활성화해주자.

 

 

brew 설치 


각종 패키지들을 설치하고 관리하기 위해 brew를 설치한다.

직접 다운로드하여서 설치하거나 yum을 써도 상관없지만, 개인적으로 brew가 설치/관리에 편리하다.

brew를 설치하기 위해선 CommandLine Tools 가 필요하기 때문에 우선 설치하자.

 

1. CommandLine Tools 설치

 - CommandLine Tools for Xcode 11.3.1 (2020.03) 찾아 받자. Xcode 전체 설치하기엔 사이즈가 크다.

 - 다운로드하기 위해선 appleId가 필요하다. 없다면 생성하자.

 - 다운로드 사이트로 gogo

 

2. homebrew 설치

> /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 

 

iTerm2 설치


기본 터미널 쓸 거면 넘어가도 무방하지만, 개발 효율을 높여주는 유용한 설정이 많으므로 조금 번거로워도 설치&세팅하길 권한다.

 

 

1. iTerm2 설치

> brew cask install iterm2

 

2. iTerm 연관 플러그인

개인적으로 oh-my-zsh / fzf / fasd / tig / jq  설치해서 사용 중이다. 

다른 건 몰라도 oh-my-zsh 정도는 설치해보길 권한다.

 

oh-my-zsh

최근 대세 쉘은 zsh이라 볼 수 있는데, zsh쉘 프레임워크 중 가장 유명하다.

먼저, zsh을 최신 버전으로 업데이트하고 zsh-completions도 설치하도록 하자.

> brew install zsh zsh-completions

oh-my-zsh 를 설치하자.

> sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

 

위 설치스크립트를 실행하면, 계정(root) 패스워드를 물어보는데 입력하도록 하자. 입력하면 기본 쉘을 bash에서 zsh로 변경해준다.

 

명령어 하이라이팅(zsh-syntax-highlighting), 자동완성 플러그인(zsh-autosuggestions) 설치

# zsh-syntax-highlighting
> git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# zsh-autosuggestions
> git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

플러그인 설치 후 ~/.zshrc파일에 설정을 추가하자. 

plugins=(
  git
  zsh-syntax-highlighting
  zsh-autosuggestions
)

 

설정을 다시 불러오자. 터미널을 재시작해도 된다. 

> source ~/.zshrc

 

설치가 완료되었다면 간단히 사용해보자.

 - cd 명령어 대신에 ..., ...., ..... 를 활용하면 한번에 복수단계 위로 이동 가능.

 - 단축 명령어 지원.

     + ex) git pull >> gl   |   git status >> gst

 - tab키를 누르면 명령어가 노출된다.

tab키를 누르면 나온다.

좀 더 다양한 활용법을 알고 싶다면, oh-my-zsh 를 방문해보자.

 

그 외...

fzf

원하는 파일이나 히스토리를 쉽고 빠르게 찾을 수 있게 해 줌.

fzf github

 

fasd

사용빈도가 높은 파일 또는 디렉터리 검색을 편하게 할 수 있게 해 줌.

fasd github

 

tig

cli기반의 git log 조회 프로그램

tig github

 

jq

curl 로 호출해서 응답받은 json 데이터를 이쁘게 보여주고, 편하게 특정값에 접근할 수 있게 해 줌

jq github

 

 

Java(jdk) 설치


최근 jdk 11+ 버전 이상이지만, 구 시스템에선 아직도 jdk 1.8을 쓰는 곳도 많으니 둘 다 설치해보자.

 

java 버전을 관리해주는 jenv 패키지를 설치

> brew install jenv

~/.bash_profile에 아래 코드를 추가하여 jenv를 초기화하자. 만약 .bash_profile 파일이 아직 없다면 만들자.

# ~/.bash_profile에 아래 코드를 추가

if which jenv > /dev/null; then eval "$(jenv init -)"; fi

수정 파일내용을 적용하자.

> source ~/.bash_profile

java 버전 뭘 깔 수 있는지 살펴보자

> brew cask info java

확인/다운 가능한 java 버전 확인하고 설치

# 확인가능한 버전 체크
> brew tap caskroom/versions
 
# java 버전별 리스트 조회
> brew search java
 
# java11 정보 확인
> brew cask info java11
 
# java11 설치
> brew cask install java11

jdk 1.8 버전 설치

> brew cask install homebrew/cask-versions/adoptopenjdk8

java11 / java8을 jenv 관리 항목에 추가

# java11 을 먼저 추가해주자. 기본을 11로 쓸 거라

> jenv add /Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/
> jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/

현재 설정된 버전 확인

> jenv version

현재 전역에서 기본으로 세팅된 java 버전을 확인해보자. 만약 뒤에 다른 버전을 명시하면 설정이 변경된다.

예를 들어, 전역 기본값을 jdk 1.8로 변경할 경우에는 >>  jenv global adoptopenjdk-8.jdk

> jenv global

 

gradle 설치


IntelliJ 사용자라면, 내장된 gradle 있으므로 반드시 설치할 필요는 없다.

만약, 별도로 다른 버전의 gradle를 사용해서 프로젝트를 생성하고 빌드하려면 설치하도록 하자.

 

기존 설치 경로 확인.

> brew info gradle
 
gradle: stable 5.4.1
Open-source build automation tool based on the Groovy and Kotlin DSL
https://www.gradle.org/
/usr/local/Cellar/gradle/5.4.1 (13,767 files, 235.4MB) *
  Built from source on 2019-06-10 at 13:09:25
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gradle.rb
==> Requirements
Required: java >= 1.8 ✔
==> Analytics
install: 35,809 (30 days), 157,137 (90 days), 603,389 (365 days)
install_on_request: 34,471 (30 days), 147,443 (90 days), 555,441 (365 days)
build_error: 0 (30 days)

콘솔에 출력된 내용을 살펴보면, 다음과 같은 정보를 알 수 있다.

 - 설치경로: /usr/local/Cellar/gradle/5.4.1

 - 최소요구 java버전: Required: java >= 1.8

 

IntelliJ - gradle 설정

IntelliJ에서 gradle용 새로운 모듈 만들 시, 연관 하위 디렉터리 생성하도록 설정해두자.

 - Build, Excution, Deployment  > Build Tools > Gradle 이동

     + Create directories for empty content roots automatically  항목 체크.

 

 

DB 설치 - PostgreSQL + PostGIS


대표적인 무료 RDBMS(관계형 DB) 에는 Mysql, PostgreSQL 이 있다.

간단한 조회/입력은 Mysql만으로 충분하고 성능적으로도 나은 점이 많지만, With절을 통한 중간집계 활용이나

PostGIS를 통한 공간데이터 처리가 필요하다면 PostgreSQL을 써보자.

 

PostgreSql 설치

> brew install postgres

PostGIS 설치

> brew install postgis

PostgreSql 실행. 중단은 start 대신 stop 명령어

> brew services start postgresql

PostgreSql 접속

> psql postgres

psql 접속해서 유저, 스키마,  PostGIS 설정

-- 유저계정 생성 id는 test_user | pw는 testyo 라고 설정해봄
CREATE USER test_user WITH PASSWORD 'testyo';
 
-- 스키마 생성. 'test_schema' 스키마 생성
CREATE SCHEMA test_schema;
 
-- 'test_user' 에게 스키마 search path 지정
-- 기본 search path는 public 이므로, DB접근시 접근할 path 순서를 명시적으로 지정해주자.
ALTER ROLE test_user SET search_path TO test_schema,public,topology;
 
-- postgres(db명) db에 위에서 생성한 유저 'test_user' 에 권한 부여
GRANT ALL PRIVILEGES ON DATABASE postgres TO test_user;
 
-- postgis 설정
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;

 


정리하다보니 정말 끝이 없다.

 

일단 이번엔 이 정도에서 마무리하자.

 

 

'개발 > 설치&설정후기' 카테고리의 다른 글

mac python3 설치 및 크롤링 준비  (0) 2020.03.16