p r o g r a m m i n g

Node.js, Git & Github

hee.hee 2022. 5. 9. 23:47

Node.js JavaScript 런타임

런타임이란, 프로그래밍 언어가 실행되는 환경

크롬, 사파리와 같은 웹 브라우저가 대표적인 JavaScript 런타임입니다. 그래서 JavaScript의 주된 용도는 웹 페이지를 구성하는 것이었습니다.

그러나 Node.js라는 새로운 JavaScript 런타임이 등장하게 되면서, 웹 브라우저가 아닌 곳에서도 JavaScript를 실행될 수 있게 되었습니다. JavaScript를 통해 웹 페이지를 구성하는 것을 넘어 서버를 구축하는 등 활용폭이 크게 확장되었습니다.

 

JavaScript 파일 Node.js로 실행하기

CLI 환경에서 node <file_name> 명령어를 프롬프트에 입력하면 작성한 코드가 Node.js라는 런타임에서 실행됩니다.

 

 

nvm은 Node.js의 다양한 버전을 관리하는 프로그램입니다.

버전이 다른 경우마다 삭제 후 해당 버전을 설치해야 한다면, 실제 작업하는 환경에서 코드에 집중하지 못해 생산성이 떨어집니다. 이런 문제를 NVM이 해결해 줍니다.

nvm은 Node Version Manager입니다. nvm을 통해 간단한 명령어로 Node.js를 설치하고, 다양한 Node.js version을 손쉽게 옮겨 다닐 수 있습니다. nvm 역시 하나의 프로그램이므로 설치해야 합니다.

 

nvm install 12.18.3 //특정 버전 설치

nvm use 버전 넘버 // 이미 설치된 버전을 삭제하지 않고, 우리가 원하는 Node.js version을 설치할 수 있습니다.
//사용 중인 Node.js version을 다른 버전으로 변경하고 싶을 때

 

nano로 파일 만들고 코드 입력

node 명령어로 파일 열면 코드 실행됨

 

 

 

npm 모듈과 패키지

남이 만들어놓은 모듈을 node.js 에서는 npm 모듈이라는 이름으로 부르며, 이에 대한 정보를 담아둔 곳이 바로 package.json입니다. npm은 Node Package Manager로 일종의 앱스토어입니다. 필요한 모듈을 다운로드할 수 있는, 모듈들이 모여있는 모듈 스토어입니다. 필요한 모듈은 대부분 npm에서 다운로드해서 사용하면 됩니다.

 

package.json

package.json에는 해당 프로그램을 실행시키기 위한 모듈의 정보, 실행 방법, 테스트 하는 방법 등이 명시되어 있다.

npm install 명령어로 package.json에 포함되어 있는 모듈을 설치할 수 있다.
  • npm 모듈을 활용하기 위해 해당 모듈에 대한 정보를 담은 파일. 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있습니다. 실제 모듈은 따로 node_modules이라는 폴더에 저장된다는 것입니다. package.json에는 어떤 모듈인지만 적혀 있습니다.
  • package.json이 주는 또 하나의 이점은 프로젝트 코드를 전달할 때, 포함하고 있는 모든 모듈을 다 전달하지 않아도 된다는 점입니다.
  • 앞으로 스프린트를 진행할 때, 해당 스프린트의 레파지토리를 열어보시면 node_modules 는 없고, package.json 만 있을겁니다. 그럼 여러분은 package.json에서 필요하다고 하는 모듈을 npm을 이용해 다운로드하시면 됩니다. npm install 명령어를 입력하시면, package.json에서 필요하다고 하는 모듈을 다운로드합니다. npm install이 완료되면 node_modules 디렉토리가 생긴 걸 확인하실 수 있습니다.

 

package.json - devDependencies

개발이나 실행에 해당 모듈을 "의존"한다고 해서, "의존성(dependency)"이라고 부릅니다.

devDependencies에는 이 프로젝트를 개발하는 환경에서 필요한 모듈들이 무엇인지가 적혀 있습니다. 예를 들면 코드 모양을 잡아주는 lint나 테스팅 모듈처럼, 실제 프로젝트 동작에 직접적으로 영향을 주지 않는 모듈들을 명시합니다.

npm install을 이용하면, npm에 있는 모듈을 설치할 수 있는데, 이때 --save-dev 옵션과 함께 설치하면, 자동으로 devDependencies에 추가됩니다.

$ npm install mocha --save-dev //devDpendencies에 추가됨

package.json - scripts

scripts 항목은 CLI에서 사용 가능한 명령을 기술합니다. 우리는 이를 npm script라고 부릅니다.

CLI에서 실행할 때에는 "npm run <스크립트 이름>" 으로 실행합니다.

 

 

npm install range 명령으로 range 다운받은 후, 

nano에서 함수 파일에 range 내용을 작성하고 node index.js로 실행시킴.

- 아마도? 내일 다시 해보기. npm run start로 열어야 했나??

 

npm run test,npm run submit

 

 

 

git

 

파일의 변경 이력을 저장하고, 필요시 이전 버전으로 돌아갈 수 있다.

어떤 변경 사항이 발생했는지 알아보기 쉬우므로, 협업에 유리하다.

 

어떤 변경 사항이 발생했는지 알아보기 쉬우므로, 협업에 유리하다.

 
 

Git과 Github

개발자의 코드를 효율적으로 관리하기 위한 ‘분산형 버전 관리 시스템'이다.

특정 시점에 백업된 복사본을 만드는 작업을 commit이라고 한다.

Github은 Git repository를 관리할 수 있는 클라우드 기반 서비스이다.

Github으로부터 호스팅되고 있는 오픈 소스 프로젝트는 누구나 기여할 수 있습니다.

A. fork는 오픈 소스 코드가 업로드 되어 있는 원격 저장소에서 나의 원격 저장소로 가지고 오는 과정을 의미합니다.clone은 오픈 소스 코드를 원격 저장소에서 내 컴퓨터(Local Repository)로 가지고 오는 과정을 의미합니다.

내 컴퓨터에서 변경한 사항을 원격 저장소에 반영하는 작업을 push라고 합니다. 변경 내용을 commit을 통해 저장한 후, push를 통해 반영합니다.

D. pull은 원격 저장소에서 변경 사항이 생겼을 때, 변경된 사항을 내 컴퓨터에 반영하는 작업입니다.

contributors가 되었다고 해서 오픈 소스 코드를 즉시 반영하는 것이 아니라, 변경 사항을 제안하고, 반영을 요청할 수 있습니다. 이를 pull request라고 합니다.