Immersive TIL #1 pre 회고

paxkk·2020년 7월 20일

코드스테이츠의 기초과정 pre 코스가 끝나고 심화과정 Immersive 코스의 첫날이다
pre 코스에서의 아쉬움과 나 자신에 대한 부족함을 느끼며 반성하게 되는 solo week였다.
Immersive 잘 해낼 수 있을지에 대한 걱정이 굉장히 많았지만 한 쪽으로는 어떤 기술들을 새로 배우게 될지 기대되는 마음도 꽤 있다. 꾸준하게 노력하자.

1. JavaScript runtime & Node.js

런타임은 프로그래밍 언어가 구동되는 환경입니다. 쉽게말해 환경은 프로그램 입니다. 런타임 이란 "어떤 프로그래밍 언어가 동작할 수 있는 프로그램" 입니다. 우리가 자바스크립트를 이용해서 코드를 적었으면 코드가 실행되는 곳이 바로 런타임 입니다

브라우저가 대표적인 자바스크립트 런타임입니다. 이전에는 자바스크립트 런타임이 브라우저 밖에 없었습니다. 하지만 이제 Node.js 라는 새로운 자바스크립트 런타임이 나왔습니다
자바스크립트가 브라우저가 아닌곳에서 실행될 수 있으니,자바스크립트를 이용해서 웹페이지 뿐만 아니라 서버와 같은 다른 프로그램을 만들 수 있습니다.

2. nvm

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

예를 들어 Node 10.13.0 버전에서는 내가 짠 코드가 잘 돌아갔는데, Node 12.13.0 버전에서는 안 돌아가는 일들이 생깁니다. 그럼 Node 12.13.0에서 테스트를 해봐야되는데

문제는 여기부터입니다. 내가 설치한 Node는 10.13.0 버전이라고 해봅시다. 그럼 우리는 설치한 Node를 업데이트 해야합니다. 업데이트는 쉽게 할 수 있습니다.
근데 다시 이전 버전으로 가려면 Node를 지우고 다시 설치하면 되겠지만이렇게 버전을 옮길 때마다 지우고 설치해야 한다면 작업할 때 마다 상당히 번거롭게 되는데 이런 문제를 NVM이 해결해 줍니다.

3. package.json

내가 만든 프로그램을 나 혼자만 개발하고 사용한다면 큰 문제가 되지 않을 수 있지만, 우리는 대부분 다른 사람과 함께 개발하고 사용하게 됩니다. 그럼 다른 사람에게 이 프로젝트에 대해 알려주어야하는데 그 역할을 하는 것이 바로 package.json 입니다.

package.json에는 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있습니다

헷갈리시면 안 되는 점은 이 프로그램을 실행시키기 위해 필요한 실제 모듈은 node_modules이라는 폴더에 다 들어가 있다는 것입니다. package.json에는 어떤 모듈인지만 적혀 있습니다

package.json이 주는 또 하나의 이점은 프로젝트 코드를 전달할 때, 포함하고 있는 모든 모듈을 다 전달하지 않아도 된다는 점 입니다. 우리는 프로젝트 코드를 넘겨줄 때, "우리 코드는 여기있고, 필요한 모듈은 package.json에 적어 놨으니 너가 직접 다운받아서 쓰면 돼" 라고 하면 됩니다.

Git workflow

  • 진행 할 repository를 가져온다

  • 각자의 로컬로 가져온다

 git colne <Repo URL>
  • 상대의 repository와 나의 repository 연결한다
 git remote add pair <Repo URL> // fork된 url주소
 git remote -v
  • 자신이 코드를 작업했으면 자신의 깃허브 repository에 add , commit ,push 한다.
  • 변경된 코드를 자신의 로컬로 가져오기
 git pull pair master // pull안에 fetch가 포함되어있다.

충돌처리 , Git branch

https://lhy.kr/git-workflow

프로젝트나 새로운 기능을 개발할 때 원본 코드에 영향을 주지않고 다양한 시도를 하면서 독립적인 작업환경이 필요 할 때 상당히 효율적일 것 같다.

profile
꾸준하게 성장하자

0개의 댓글