맥북/아이맥 등으로 개발 환경을 설정할 때, 홈브류(homebrew)는 반드시 설치 해야 한다. 

왜? 

명령어 한 줄로 각종 프로그램과 이미지 등을 설치/제거 할 수 있어

맥OS의 개발환경 편의성을 높여주는 대표적인 애플리케이션이기 때문이다. 

 

Homebrew란?

macOS용 Package 관리 애플리케이션으로, 각종 프로그램 및 이미지 파일 등을 터미널에서 cmd로 간편하게 설치 할 수 있다. 

 

 

1. Homebrew를 설치하자 

아래 사이트로 이동하여 Install Homebrew의 명령어를 복사한다.

https://brew.sh/

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

 

 

명령어 오른쪽의 아이콘을 클릭하여 쉽게 복사 후,(혹은 아래 명령어 복사하기) iTerm에 입력하면 설치 완료

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

 

설치 완료 후, 버전을 확인하면서 설치 정상 완료 여부를 확인한다.

brew --version

 

 

 

2. homebrew 설치 완료 후, nvm을 설치한다. 

nvm이란?

node version manager의 약자로, Node.js의 여러 버전을 손쉽게 설치할 수 있도록 도와주며, 사용자는 여러 버전의 Node.js를 호환성을 확보하여 사용할 수 있다. 

 

brew install nvm

 

 

3. nvm 환경 변수를 등록하자

java 환경 변수를 설정했던 ~/.bash_profile에 vi 편집기를 이용해 아래 nvm환경변수 설정 커맨드를 입력한다.

 

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home
export PATH=${PATH}:$JAVA_HOME/bin


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

 

설정한 환경 변수를 source 명령어를 통해 적용한다.

source ~/.bash_profile

 

 

>>lts 버전 설치하기

LTS버전 이란?

Long Term Support 버전을 다운로드 받는 것으로, LTS버전은 앞에 짝수단위의 버전으로, 보다 안정적이로 오랜 기간을 지원하는 버전이다. 꼭 LTS 버전이 아니더라도 원하는 버전을 설치할 수 있는데, 설치 가능한 Node 버전 목록을 확인할 수 있다.(아주 많음)

nvm list-remote

 

설치해보자

nvm install --lts

윈도우와 달리 맥OS는 설치 및 환경변수 설정이 다르다. 

스터디를 위한 설치 및 환경 변수를 따라해보자.

 

1. 오라클 사이트 방문 - 로그인, JAVA SE8을 각 맥북/아이맥 OS에 맞게 다운로드

https://www.oracle.com/java/technologies/downloads/

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

 

 

2. JAVA SE8 macOS jdk 파일 다운로드/설치하기

 

 

3. 다운로드 된 설치 파일을 더블 클릭하여 설치 진행하기 

(macOS는 더블 클릭 후, 드래그)

설치 진행 화면

 

4. Terminal실행(보통 iTerm 설치하여 사용하므로 iTerm 실행) 후 jdk파일이 있는 경로로 이동

cd /Library/Java/JavaVritualMachines/
cd /Library/Java/JavaVritualMachines/jdk1.8.0_311.jdk/Contents/Home

 

이동하여 리스트 확인

 

 

5. 환경 변수 설정하기

 vi 편집기로 .bash_profile에 진입 위 경로(/Library/Java/JavaVritualMachines/jdk1.8.0_311.jdk/Contents/Home)를 복사하여 JAVA 경로 잡기

export JAVA_HOME=/Library/Java/JavaVritualMachines/jdk1.8.0_311.jdk/Contents/Home
export PATH=${PATH}:$JAVA_HOME/bin

 

vi 편집기로 위 내용 입력 후 저장하기

 

 

6. cat 명령어로 해당 내용이 잘 입력되었는지 확인하기 

 

 

7. 환경 변수 적용 및 최종 확인

source ~/.bash_profile을 통해 새로 설정한 환경 변수를 적용하고, 아래 명령어로 확인

java -version
javac -version
echo $PATH

 

위와 같이 화면이 출력 될 경우 정상적으로 환경 변수가 설정되었음을 확인할 수 있다.

 

 

 


Visual Studio 확장 팩 설치하기 

 

Visual Studio 설치 후(설치 바로가기), 확장팩 설치 화면으로 이동

>>검색: java code genErators(자바코드 자동 완성 기능 팩)

자원(대역폭)이 제한적일 때, QoS에 따른 대역폭 제한이 수행된다. 

 

 

Traffic Shaping

-버퍼를 이용하여 대역폭을 제한하는 QoS 방식

-보장된 대역폭을 넘어선 트래픽이 유입되었을 때, 트래픽을 홀딩하여 잠시 멈춘 후 가용 대역폭이 확보되면 이후에 서비스 수행

-구성요소: CBS(정해진 자원 내에서 전송할 수 있는 최대 비트 수), CI(허용 정보율), EBS(초과 버스트 크기)

 

Traffic Policing

-제한된 대역폭을 초과하는 트래픽을 Drop 시키는 QoS 방식

-구성요소: Meter(Packet의 유입률 측정), Drop(대역폭을 초과하는 트래픽 제한), Mark(대역폭 내에서 포워딩 되는 Packet 마킹)

  

 


Traffic Shaping vs Traffic Policing

 

Buffering vs Drop

bps vs Bytes

Outbound vs Inbound(Outbound 가능)

Packet Loss률 감소 vs Packet Loss 가능  

Increase Throughput vs Pakcet Drop 시, TCP Window 사이즈 감소 유발 전체 출력 속도 감소

딜레이 발생 가능&메모리 필요 vs 딜레이 없음&메모리 불필요

 

+ Recent posts