1. Command-Line Interface (CLI)
- 일반적으로 컴퓨터에 있는 터미널이라고 생각하면 쉽다.
- 리눅스의 터미널은 키보드의 입력과 모니터의 출력으로 모든 작업을 할 수 있다.
< CLI 명령 모음 >
mkdir # 현재 경로에서 폴더를 만든다.
cd # 현재 경로의 폴더로 이동
pwd # 현재 경로의 위치를 확인합니다.
touch # 현재 경로에서 파일을 만든다. (txt)
ls # 현재 경로에 있는 폴더와 파일을 출력합니다.
cat # cat: 파일의 내용을 터미널에 출력
rm # 파일 삭제
rm -rf # 폴더 삭제
mv # 폴더나 파일의 이름을 변경, 또는 폴더나 파일의 위치 옮기기
cp # 폴더나 파일을 복사
. # 현재 위치
.. # 상위 위치
2. Node.js
- JavaScript 런타임(runtime)중 하나
- 런타임이란, 프로그래밍 언어가 실행되는 환경, 그리고 Node.js는 JavaScript 런타임이다.
npm
- node.js 환경에서 외부 라이브러리를 다운로드하기 위한 방법 중 대표적인 방법
- Node Package Manager로 일종의 앱스토어
package.json
- 남이 만들어놓은 모듈을 node.js 에서는 npm 모듈이라는 이름으로 부르며,
이에 대한 정보를 담아둔 곳이 바로 package.json 이다. - 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있다.
- 로그램을 실행시키기 위해 필요한 실제 모듈은 따로 node_modules이라는 폴더에 저장되고, package.json에는 어떤 모듈인지만 적혀있다.
- 프로젝트 코드를 넘겨줄 때,포함하고 있는 모든 모듈을 다 전달하지 않아도 된다.
// 예시
{
"dependencies": {
"react": "^16.7.0",
"react-dom": "^16.7.0"
}
}
3. Git
- 개발자의 코드를 효율적으로 관리하기 위해 개발된 분산형 버전 관리 시스템
- Git으로 관리되는 파일 : Github,GitLab등등
Git을 사용하는 이유
- 버전 관리가 가능하다.
- 파일이 변경되면 변경 이력을 저장할 수 있음- 이전 버전으로 돌아갈 수 있다.
- 어떤 변경 사항이 발생했는지 알아보기 쉽다.
- 협업하기에 좋다.
- 백업용
4.Github
- Git으로 버전을 관리하는 폴더에 대해서 Github을 통해 여러 사람들이 공유하고 접근할 수 있는 것
- 개발자들의 SNS
- Code Review 등을 통해 협업이 가능하고, 수많은 오픈 소스 프로젝트들이 GitHub로부터 호스팅되고 있어서, 누구든 자유롭게 기여할 수 있다.
- commit 기록을 통해 어떤 수정사항이 있는지 확인 및 code도 볼 수 있다.
5. Git 과 Github 정리
- Git : 소스 코드 기록을 관리하고 추적할 수 있는 버전 관리 시스템
- Github : Git Repository를 관리할 수 있는 클라우드 기반 서비스