[node.js] node.js 설치는 nvm으로

node.js 설치를 위해서 nodejs.org의 다운로드에서 다운로드 받아 설치할 수도 있지만(이런 방식을 Node installer라고 한다), nvm을 이용하는 것이 좋다.

nvm은 node version manager의 약자로, node 버전을 필요에 따라 바꿔가며 사용할 수 있다. nvm의 설치는 https://github.com/nvm-sh/nvm#installing-and-updating를 참고하자.

nvm을 설치하고 나면 이 nvm을 통해 node.js의 특정 버전을 설치하면 된다. 현재 기준 LTS인 16을 설치하려면 다음과 같이 한다.

$ nvm install 16

그러면 해당 버전의 node.js와 함께 npm이 설치된다. npm은 node package manager의 약자이다.

최신 LTS 버전을 설치하고 싶을 때는 그냥 다음과 같이 하면 된다.

$ nvm install --lts

최신 npm을 다운로드하고 싶을 때는 npm 그 자체를 이용한다. 다음과 같이 하면 된다.

$ npm install --location=global npm

yarn 을 사용하고 싶다면 그냥 다음과 같이 하면 된다.

$ corepack enable

[Mac] Windows manager Rectangle쓰기

기존에 Windows manager로 Veer를 쓰다가 Rectangle이 더 나은 것 같아 갈아탔다. 설치는 Rectangle 사이트(https://rectangleapp.com/)에서 다운로드 받아 설치하면 된다.

내 Rectangle 설정 (32:9 모니터 기준)
내 Rectangle 설정 (32:9 모니터 기준)

나같은 경우는 아래 절반, 위 절반을 사용하지 않기 때문에 둘 모두 없앴다. 대신 높이 최대화를 Ctrl + Option + 위, 가운데 절반을 Ctrl + Option + 아래로 설정했다.

32:9 울트라 와이드 모니터의 경우 Ctrl + Option + D, F, G가 유용할 것 같다. Ctrl + Option + D만 눌러도 1/3씩 토글되면서 움직인다.

왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래도 사용하지 않을 것 같아서 1/4 쪽으로 U, I, J, K도 바꿨다. 역시 Ctrl + Option + U만 눌러도 1/4씩 토글되면서 움직인다.

창 복원은 항상 Ctrl + Option + BackSpace 이다.

[docker] Docker Swarm

도커 스웜 상태 보기

docker info | grep Swarm

클러스터 관리

도커 스웜 매니저 노드 시작

docker swarm init --advertise-addr 192.168.0.100

도커 스웜 워커가 클러스터에 참여

docker swarm join --token SWMTKN-1-sdlfhsalkghsalghlsahglksahglsakg... 192.168.0.100:2377

도커 스웜 클러스터 확인

docker node ls

새로운 매니저 추가를 위한 토큰 생성

docker swarm join-token manager

워커 노드에서 참여 더이상 하지 않고 노드 삭제

docker swarm leave

매니저 노드의 참여 삭제

docker swarm leave --force

워커 노드를 매니저 노드로 변경. 매니저 노드에서

docker node promote swarm-worker1

매니저 노드를 워커 노드로 변경.

docker node demote swarm-worker1

서비스

서비스 생성

docker service create \
ubuntu:14.04 \
/bin/sh -c "while true; do echo hello world; sleep 1; done"

서비스 목록 확인

docker service ls

서비스 정보 확인

docker service ps [service name]

서비스 삭제

docker service rm [service name]

secret / config

secret 생성

echo 1q2w3e4r | docker secret create my_mysql_password -

secret 사용 (기본 값은 테이너 내부의 /run/secrets/ 디렉토리에 마운트됨)

docker service create \
 --name mysql \
 --replicas 1 \
 --secret source=my_mysql_password,target=mysql_root_password \
 --secret source=my_mysql_password,target=/home/mysql_root_password \
 -e MYSQL_ROOT_PASSWORD_FILE="/run/secrets/mysql_root_password" \
 ...
 mysql:5.7

config 생성

docker config create registry-config config.yml

config 목록 확인

docker config ls

config 내용 확인

docker config inspect registry-config

config로 입력된 값 확인. config 내용 확인에서 “Spec” / “Data” 내에 dmVyc21vbjog… 이 있었다고 하면, 해당 내용은 base64로 encoding 되어 있기 때문에..

echo dmVyc21vbjog... | base64 -d

config 사용

docker service create --name yml_registry -p 5000:5000 \
 --config source=registry-config,target=/etc/docker/registry/config.yml \
 registry:2.6

변경은 docker service update--config-rm, --config-add, --secret-rm, --secret-add 로 삭제, 추가 가능.

도커 스웜 네트워크

네트워크 목록 확인

docker network ls

오버레이 네트워크 생성

docker network create \
--subnet 10.0.9.0/24 \
-d overlay \
myoverlay

오버레이 네트워크 사용

docker service create --name overlay_service \
--network myoverlay \
--replicas 2 \
dasomoli/book:hostname

docker run –net 으로 지정해서 사용 가능한 오버레이 네트워크 생성

docker network create \
-d overlay \
--attachable \
myoverlay2

[Mac] Window manager – VEEER

Windows에서 사용하던 기능 중 Win + 방향키 와 같은 동작을 맥의 OS X에서도 하고 싶다면, https://veeer.io/ 에서 VEEER을 다운로드 받아 설치하면 된다.

설치 후 사용법은 control + command + 방향키로 사용한다.

[MacOS] 클립보드 매니저 Clipy

복사/붙여넣기를 할 때 이전 복사했던 것들을 다시 붙여 넣는 경우가 많다.

Windows에서는 Ditto를 애용하는데, 맥에서는 어떤게 있나 보니 오픈소스인 Clipy가 있다.

github https://github.com/Clipy/Clipy 에서 받을 수 있고,

사용법은 간단히 Shift + Cmd + ‘V’ 혹은 Ctrl + Cmd + ‘V’이다.

기본 설정은 항목이 폴더 안에 들어가도록 되어 있는데,

“Preferences…” / “Menu” / “Number of items place inline:” 이 “0”으로 되어 있던 것을 “10” 등으로 적당히 늘려주면 된다.

 

Google의 New Business Manager, 김현유님을 만나다! 를 읽고.

Google의 New Business Manager, 김현유님을 만나다!

Google이나 실리콘밸리 기업들에 대한 여러 단면들을 보여준다. 또한 개인 커리어 관리에 대한 생각 역시 하게 한다. 국내(내가 다니고 있는 회사를 포함하여)와 실리콘밸리의 기업문화 비교 역시 흥미롭다.

특히 인상적이었던 것들은,

1. 멀리 내다보고 기회 포착을 위해 준비하는 자세
2. 그를 위해 조직을 만들고 이끄는 능력
3. 자신의 경험들에 대한 긍정적인 자세
4. 어려운 설명을 예를 들거나, 쉬운 용어로 쉽게 설명하는 능력
5. 기술적 트렌드에 대한 전망과 그 변화를 읽는 눈
6. 자신이 하고 싶은 일을 차후에 언제, 어떻게 할 수 있을 것 같다는 생각
7. 기업 문화의 장/단점을 포착하는 통찰력, 이를 사회 혹은 조직 전체적인 시각에서 바라보는 눈
8. 자신이 사업 체질인지 커리어 체질인지를 파악하고 인지하고 있다는 점

등이다. 이외에도 블로그를 보면 댓글들에서 상대의 좋은 부분을 꼭 칭찬하는 습관이 있음을 볼 수 있었다.

장점들은 배운다. 그리고 꼭 행동하고 실천하자.

p.s 글에 링크되어 있는 다른 글들 역시 읽어볼만한하다.