[7/6] 9일차 회고록(Linux/Git)

원지렁·2022년 7월 6일
0
post-thumbnail

오늘의 생각

시작하며/마치며
오늘 배운 내용은 백엔드와 프론트엔드의 중간지점 어딘가에 있는 느낌이다...
무엇보다 터미널에서 명령어로만 작업을 수행하다보니 더 감이 안잡히는 느낌이었는데 페어 건희님과 찬찬히 진행하다 보니 어느정도 개념은 이해가 되는 것 같다.
우선 이 부분도 계속 복습하며 익숙해지는게 관건이라고 생각한다! +_+

오늘의 학습내용

1. CLI(Command-Line Interface)

: 대량의 서버 컴퓨터와 같은 클라우드 컴퓨팅을 다룰 때 유리

1) I/O(Input/Output)

: 컴퓨터를 조작하기 위한 입력과 출력 장치

2) 프롬프트(Prompt)

: 터미널에서 키보드의 입력을 확인하고 편집할 수 있는 한 줄 공간

3) CLI 명령어

  • pwd: 현재 위치 확인하기
  • mkdir: 새로운 폴더 생성하기
  • ls: 특정 폴더에 포함된 파일이나 폴더 확인하기
> ls 실행 시 나오는 포맷

drwxr-xr-x   # 'd'로 시작 시 폴더를 의미, cd로 진입 가능
-rw-r--r--   # '-'로 시작 시 파일을 의미
  • cd: 폴더에 진입하기
  • touch: 파일 생성하기
  • cat: 파일의 내용을 터미널에 출력하기
  • rm: 폴더나 파일 삭제하기
  • rm -rf : 폴더 삭제하기
  • mv: 폴더나 파일의 이름을 변경, 또는 폴더나 파일의 위치 옮기기
  • cp: 폴더나 파일을 복사하기

4) 상대경로

  • ./ : 현재 위치
  • ../ : 상위 폴더

5) sudo

: 관리자 권한을 일시적으로 획득하는 명령어

6) nano editor

: CLI 환경에서의 텍스트 에디터

nano hello.js  # hello.js 를 nano에서 엽니다.
nano # 그냥 실행할 수도 있습니다.

2. 패키지/패키지매니저

1) brew

: macOS의 패키지 매니저

[brew 설치]

  • Xcode Command Line Tools 선 설치
xcode-select --install
  • brew 사이트 (https://brew.sh/)
    : 해당 부분 코드 복사하여 터미널에 붙여넣기 한다.

  • wget 설치
    : 해당 부분 코드 복사하여 터미널에 붙여넣기 한다.

brew update
brew install wget

3. Node.js

1) nvm 설치

  • 터미널에 하기 명령어 입력
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

// 설치 후 version 확인
nvm --version
  • nvm 사용 이유
    개발을 시 Node.js의 다양한 버전에 대응해야 할 경우에 사용(특정 버전에서 에러 시, 삭제/재설치 대신 다양한 버전을 다운받아 테스트 해볼 수 있음.)
// 현재 nvm을 통해 설치한 Node.js version 확인 가능
nvm ls

// 특정 버전의 Node.js를 설치
nvm install 12.18.3

// 사용 중인 Node.js version을 다른 버전으로 변경하고 싶을 때
nvm use 버전 넘버  # 예를 들어, nvm use 12.18.3,  nvm use 14.15.5

2) Node.js 설치

nvm install --lts

// 설치 후 version 확인
node -v

// Javascript파일 Node.js로 실행하기
node 파일명.js

3) npm/package.json

3-1) npm

  • node.js 생태계의 패키지 매니저
  • npm install은 package.json에 있는 dependency (의존성 모듈)를 바탕으로 설치

3-2) package.json

  • 프로젝트 코드를 전달할 때, 포함하고 있는 모든 모듈을 다 전달하지 않아도 됨.(필요한 모듈에 대한 정보가 기입되어 있음)

  • npm install 명령어 입력 시, package.json에서 필요한 모듈을 다운로드함.

3-3) devDependencies

: 프로그램 실행과 관계없는 오로지 개발을 위해 필요한 dependency (의존성 모듈)

3-4) dependencies

: devDependencies와는 다르게, 이 프로젝트가 돌아가기 위해 반드시 필요한 모듈들.

3-5) scripts

: CLI에서 사용 가능한 명령을 기술

  • 실행 코드
npm run <스크립트 이름>

4. Git/Github

1) Git

: 개발자의 코드를 효율적으로 관리하기 위해서 개발된 ‘분산형 버전 관리 시스템’

  • Git 환경설정
// 사용자 정보 설정
git config --global user.name "나의 사용자 이름"
git config --global user.email "내 이메일 주소"

// 기본 text editor 를 nano로 설정
git config --global core.editor nano

// 추가 인증 - SSH
ssh-keygen

// 공개키(Public Key) 복사
cat ~/.ssh/id_rsa.pub

// 화면에 출력된 키를 마우스로 드래그한 다음 복사하여 Github 공개키에 등록
// Repository 페이지의 Code 클릭 후 SSH키 복사 후 터미널에 입력

2) Github

: Git Repository를 관리할 수 있는 클라우드 기반 서비스(오픈소스)

3) Github 사용법

  • Github 환경설정
// GitHub CLI 설치
brew install gh

// 로그인
gh auth login

// Login with a web browser 옵션을 선택 후 Device Activation 페이지에 one-time code 입력
  • commit
    : 특정 시점에 생성된 백업 복사본을 스냅샷을 만들어주는 작업

  • Fork
    : 원격 저장소를 내 원격 저장소로 가지고 오는 작업

  • Clone
    : Remote Repository에 있는 코드를 Clone 해서 내 컴퓨터로 가져오는 작업

  • Push
    : 변경된 내용을 commit을 통해 저장해 준 뒤, Remote Repository에 반대로 올려주는 작업

  • Pull request
    : 개인이 제안한 코드 변경사항에 대한 반영 여부를 요청하는 작업
    : Remote Repository에서 변경 사항이 있을 때 Local Repository 로 가져오는 Pull 작업도 가능

profile
새싹 개발자 지렁이의 벨로그입니다.

0개의 댓글