키다리 개발자

Git bash로 node.js시작 / 터미널 창 기본 명령어 / version 이해하기 본문

node.js

Git bash로 node.js시작 / 터미널 창 기본 명령어 / version 이해하기

JunBucks 2019. 11. 2. 21:43

node.js = Javascript 개발하기 쉽게 만들어주는 환경

 

npm = node package manager

 

npm init -> npm 초기화 -> 프로젝트 생성 -> node project 생성

 

프로젝트 = package

 

npm install 모듈 -> 온라인 상에서 다운로드 -> require로 다운로드 한 모듈 가져오기(vs code)

(기본 명령어들은 하단에 설명)

 

Git bash로 node.js 환경 구축

 

 

index.js 와 package.json 파일 생성 (visual studio code에서 확인)

 

 


 

 

git bash 기본 명령어
ls  디렉터리 목록 조회
cat  파일 내용 조회
cd ..  상위 디렉터리 이동
cd  하위 디렉토리 이동
mkdir  디렉토리 폴더 생성
mk rm -r  디렉토리 폴더 삭제
touch  파일 생성
clear  화면 초기화

 

 


 

 

버전(Version)을 제대로 이해하기

 

Q. 1.3과 1.12 중 어느 버전이 더 최신 버전인가요?
A. 1.12가 더 최신버전입니다.

위의 같은 질문류를 커뮤니티에서 본 적이 있는데 놀랍게도 1.3을 1.12보다 더 높은 버전으로 생각하는 사람이 많은 것 같았다. 그래서 이번에는 버전 번호를 제대로 이해하는 방법을 한번 써 볼까 한다.

Version 정리

버전 번호는 점(dot)으로 구분되며 순서대로 다음과 같은 식의 구조를 가지고 있다.

Major Version. Minor Version . Build or Maintenance Version

이게 일반적인 정의지만 정석은 아니다. 실제로 버전 번호는 3자리 이상도 사용하기도 한다.

일단 여기서는 설명을 위해 3자리를 기준으로 이렇게 표현하겠다.

Release Number . Major Number . Minor Number

    • Release Number: 1로 시작해서 전체를 뒤엎을 정도로 큰 변화가 발생했을 때 이 수치를 올린다. (영화 속편이 나오면 2편 혹은 투(two)이라는 이름을 붙이듯 말이다.)
    • Major Number: 0으로 시작해서 주요 기능의 추가나 변경 등 사용상 혹은 컨텐츠의 주요 변화가 발생했을 때 1 혹은 무작위로 증가한다. 간혹 알파벳이 붙기도 하는데 예를 들어 Beta(테스트 버전)의 경우 b를 숫자 뒤에 붙이는 경향이 있다.

 

  • Minor Number: 0으로 시작해서 버그 수정 등 미미한 변화가 발생하면 1씩 혹은 무작위로 증가한다. 역시 개발사 정책에 따라 특정 알파벳이 붙을 수도 있다.


버전 번호의 증가나 변화는 개발사 특유의 정책에 의해 충분히 변화할 수 있지만, 각 점(dot) 별 순서의 의미 자체는 크게 변하지 않는다.

소수점으로 인한 오해

Version의 번호에 붙는 점(dot)을 소숫점으로 인식해서 간혹 오해를 일으키는 경우가 있다. 위의 질답에서 답이 틀렸다면 버전을 소수로 읽고 있기 때문일 것이다.

정확히 말하자면, 버전은 소수가 아니다. Major나 Minor 버전의 경우 한 자리로 표기되면 2자리로 바꿔서 보면 편하다.

1.1 -> 알기 쉽게 일반적으로 표현하면 1.01
1.10 ->  그 자체로 표현

이렇게 바꿔놓고 보면 편하다. 즉, 1.1보다 1.10이 더 높은 버전 번호이다. 1.1과 1.10은 같은 버전이 절대로 아니다.

1.2 -> 변형해서 1.02
1.12 -> 그대로 1.12

이 경우를 소수로 인식해서 1.2와 1.12는 1.2가 더 크니까 1.2가 최선 버전이다 라고 인식하면 안 된다. 1.2는 1.02로 인식하는 게 더 정확하다.

세 자리 이상으로 표현된 버전의 경우도 위처럼 2자리 이상의 숫자로 변경해 놓고 생각하면 된다.


특정 개발사는 정확한 버전 구분을 위해 1.1 대신 1.01과 같이 정확하게 표기해 주는 경우도 있다. 이런 경우는 구분하기 편할 것이다.

보통은 Major나 Minor 버전 숫자가 2자리를 넘어갈 정도까지 갈 정도로 버전을 붙이지는 않는다. 그만큼 변화가 많은 소프트웨어는 사용자 입장에서도 크게 좋은 건 아니니깐 말이다.

RC와 Beta

RC(Release Candidate)와 Beta라는 이름을 버전 근처에 붙이는 경우가 있는데 둘 다 비슷한 의미이다. 바로 테스트 버전이라는 의미이다.

특히 RC의 경우는 릴리즈(Release, 정식 배포) 후보라고 해서 이 버전에서 테스트해서 문제가 없으면 별 다른 수정 없이 RC만 떼어내고 릴리즈 하는 게 일종의 관행이다. RC도 특정 숫자가 붙을 수도 있는데 RC1, RC2 이런 두 가지가 있다면 둘 다 릴리즈 후보라는 것이다.

개발사 특유의 버전 네이밍: Mac OS X

현재 애플에서는 OS X라고 공식적으로 칭하고 있지만 어쨌든 Mac OS X라는 매킨토시용 OS 이름이 있다. 여기서 X는 알파벳 숫자로 아라비안 숫자로 표시하면 10이다. 즉 OS X는 10.x.x라는 버전의 제품명이다.

최신 OS X인 라이온(Lion)은 10.7.x 버전으로 표기되고 있다. 여기서 Major 버전 7이 라이온의 주요 버전인 셈이다. 비슷하게 10.6.x 는 Snow Leopard, 10.5.x는 Leopard이다.

OS의 경우 제일 앞의 버전 번호 변화는 정말 큰 변화다. 그래서 애플에서는 이런 식으로 두 번째 버전 번호를 큰 변화를 암시하는 식으로 버전을 명명한다.

개발사 특유의 버전 네이밍: Google Chrome

구글에서 개발/배포하는 유명한 인기 웹브라우저. 특징적인 면이 있다면 굉장히 버전이 빨리 올라간다는 점. 특히 제일 앞자리는 1년에도 수 차례 올라갈 정도로 지나치게 변하고 있다고 느끼고 있다.

하지만 크롬의 버전 명명은 눈속임인 것 같다. '나 굉장히 빨리 발전하고 있어요!' 라는 말을 하는 것 같다. 개인적으론 크롬의 버전은 앞에 하나가 숨은 것 같다. 

정리

버전의 점(dot)을 수학의 소숫점로 읽으면 곤란하다. 또한 버전에는 영문자도 쓸 수 있고 개발사 마다 버전을 구분하는 점(dot)을 몇 가지 이용하느냐도 다르다.

버전 제일 앞자리가 변경될 정도의 변화에는 아예 버전 대신 제품명을 바꾸는 케이스도 있으니 주의하자.

 

구글링 중 설명이 너무 잘 되어있어 출처 남기고 사용합니다.

출처: http://seorenn.blogspot.com/2012/02/version.html

Comments