사실 31일(금)부터 이어진 알고리즘 문제를 아직도 다 풀지 못하여 혼이 나갈 것 같지만 오늘 아주 흥미로운 것들을 배웠기에 정리해보기로 한다. 터미널과 git을 드디어 이용할 수 있게 되어서 괜히 신났다. 아직 익숙하지 않지만 코스 진행하는 동안 계속해서 쓸 것 같으니 꼭 숙지하고 있어야겠다.
터미널에서 CLI를 사용하는 것과 GUI로 작동하는 것은 본질적으로 다르지 않지만, CLI는 빠르고, 강력하고, 효율성이 높기에 개발자라면 반드시 익숙해져야 하는 주요 스킬이다.
명령어 :
ls : 현재 디렉토리 및 파일 확인
cd : 디렉토리로 이동
mkdir : 디렉토리 생성
rm : 삭제(정말 삭제할 것인지 확인 X. 휴지통에도 들어가지 않는다)
pwd: 현재 디렉토리 확인
touch : 파일 생성
cat : 텍스트 형태의 파일 확인
mv : 현재 디렉토리 및 파일 옮기기
cp : 복사
Git(버전 관리 시스템)은 기본적으로 폴더를 변경하는 걸 파악하는 기능을 하며, 변경사항을 추적한다고 생각하면 된다.
- commit : 작업 공간의 어떤 시점의 스냅샷
- Staging area : git add를 통해 commit을 하기 전에 거치는 가상의 공간
- Local repository : 내 컴퓨터에 저장되어 있는 개인 저장소
- Remote repository : 여러 사람이 공유하는 원격 저장소
fork : 동일한 프로젝트에 대하여 나의 저장소에 복사본을 만드는 것
clone : 특정 repository를 말 그대로 로컬에 clone(복사)하는 것
push : 원격 저장소에 내 로컬 저장소를 올리는 것
pull : 원격 저장소로부터 필요한 파일을 다운받고 병합하는 것
fetch : 원격 저장소로부터 필요한 파일을 다운(병합은 따로 과정을 거쳐야 함)
일주일간 javascript를 공부하며 반드시 대답할 수 있어야 하는 질문들 중 추가로 조금 더 학습이 필요한 부분을 정리했다.
- array.slice 개념
- mutable / immutable
- spread syntax
- function scope
- Closure
- for, while을 각각 써야 하는 경우의 차이