[코드스테이츠] Full Pre 11기, 10번째 날

MihyunCho·2021년 3월 11일
0
post-thumbnail

코드스테이츠 we win 20주 Full Pre 11기 🔥

열번째 날

스코프와 클로저(feat.아침 9시) & solo day

아침 9시 부터 11기 줌 회의실은 북적북적했다.
어제 험난하게 수강했던 스코프와 클로저에 대해서 솔루션 하는 시간이었는데, 나도 엄청 헷갈리며 풀고 어려워했던지라 이 솔루션 시간이 기다려졌다. 그래서 제일 먼저 줌 회의실에 1빠로 들어왔다는 사실ㅋㅋ
일찍부터 시작했지만 다들 엄청 집중하며 솔루션 강의를 듣는 것이 화면 너머로 느껴져 나도 함께 집중할 수 있었다.
어제까지는 이해하기 힘들었던 스코프와 클로저가 오늘 솔루션 강의 듣고 '아하!'하는 순간을 만났다. 이제 클로저 문제를 보면 당황않고 집중해서 풀 수 있을거란 기대가 된다.

솔루션 진행 후 git 레슨을 시작했다.
페어와 함께 코딩한 날이 혼자 공부하는 날보다 많아져서인지, 갑작스레 혼자 공부하게 된 오늘이 낯설어졌다 🙃
혼자서 강의들으며 공부했던게 고작 얼마전인데도 벌써 누군가와 함께 이야기하며 공부하는 것이 익숙해진 것 같다. 인간은 적응의 동물이라더니..!
페어프로그래밍의 순기능은 확실히 공부하고자 하는 의지와 열정을 북돋아주는 것이 되겠다.
레슨 보면서 하는 공부가 왜이리 오늘은 지루하던지..그래도 중요한 파트를 공부하는 만큼 Notion도 잘 적고 직접 테스트도 해보면서 손가락 바삐 움직였다.

이번 솔로 과제중에 Javascript Koans가 있다.
듣자하니 Koans는 불교에서 유래된 단어로, 결론을 내리기 전에 이게 왜 맞는지 깊게 고민한다는 의미를 가지고 있다고 한다. 내가 푸는 문제를 깊게 성찰하라는 뜻에서 준비하신 과제인 듯 하다.
천천히 하나씩 이게 왜 맞는지 JS의 진리를 살펴보며 공부해야하는 파트이다. 이 과제를 해내고 나면 JS 와 조금 더 친해져있기를 바란다🙏

Mac OS에서 git 설치하기

  1. Mac OS에서는 터미널에 git 만 입력하면 설치할 건지 물어본다.
  2. 설치 후 터미널에 다시 git 을 입력하면 git에 대한 명령어들을 보여준다.


3. git --version 입력하면 현재 설치 된 git의 버전을 보여준다.


Command Line (CLI)

커맨드 라인을 사용했을 때의 이점

  • 빠르다
  • 강력하다
  • 접근성이 좋다

명령어 정리

  • ls : 파일보기
  • ls -al : 파일 상세보기 (소유자, 크기 등)
  • ls -a : 숨겨진 파일 보기
  • cd : 디렉토리 이동
  • mkdir : 디렉토리 생성
  • rm : 삭제 정말 삭제할 것인지 확인하지 않으며, 한번 삭제된 파일은 휴지통에 들어가지 않음. 주의해서 사용
  • pwd : 현재 디렉토리 확인
  • touch : 빈 파일 생성
  • cat : 텍스트 형태의 파일 확인
  • mv : 파일 이름 변경하기
  • cp : 복사

기호 표시

  • 홈 디렉토리 ~ ex) cd ~
  • 루트 디렉토리 / ex) cd /
  • 현재 디렉토리 .
  • 부모 디렉토리 ..

권한 관련

  • sudo : 관리자 권한으로 실행 : 관리자만 읽을 수 있는 파일 읽기
    • sudo는 권한 문제를 해결하는 솔루션이 아님. 필요에 따라 현명하게 사용
    • 가능한 user권한으로 해결할 수 있어야 함
    • sudo는 한번만 인증하면 그 이후는 생략
  • chown : 파일 소유권 변경

버전 관리 시스템(Version Control System)

  • 원래 소유주의 repository에서 내 repository에 복사해서 가져오는 것은 fork
  • 내 repository(remote)에서 로컬 저장소(local repository)에 작업가능하도록 복사해서 옮기는것을 clone
  • remote repository ← local repository : push
  • remote repository → local repository : pull
  • 원래 소유주의 저장소에서 변경사항을 pull 받는 것이 upstrem
  • 내 저장소에서 pull 받는 것이 origin

git 명령어

  • git add : 파일을 staging area에 파일 올리기
  • git commit -m "~" : 커밋하기 커밋메시지 반드시 기록하기

expect(테스트하는값).기대하는조건

  • expect(isEven(3)).to.be.true => 'isEven(3)'의 결과값은 참(true)이어야 한다'
  • expect(1 + 2).to.equal(3) => 'sum(1, 2)의 결과값은 3과 같아야(equal) 한다'
  • '기대하는조건'에 해당하는 함수를 matcher.
  • '참인 것이어야 한다' => to.be.true
  • '3과 같아야 한다' => to.equal(3)

expect('테스트하는값').to.equal('기대하는값');

  • equal은 두 값이 타입까지 엄격하게 같은지 검사(strict equlity, ===)

type

  • 비교연산자 '==' 는 두 값의 일치 여부를 느슨하게 검사(loose equality)
let actualValue = 1 + 1;
let expectedValue = 2;
expect(actualValue == expectedValue).to.be.true;

// 해당 코드는 expectedValue에 '2' 문자열로 넣어도 true이다.
// == 의 실행 중 타입 변환(type coercion)이 일어나기 때문.
// == 의 사용은 지양한다.
profile
Sic Parvis Magna 🧩

0개의 댓글

관련 채용 정보