Step by step

김진서·2024년 10월 16일
post-thumbnail

오늘의 목표

  • 각 잡고 테스트가 통과될 때까지 최소 5시간 이상 몰입하기.
    • 5시간 전에 테스트가 통과된다면, 리팩토링 + 효율 올리기.
    • 구현 이외에 더 공부해야 할 것들 공부하기.
      • 입출력 메소드 사용법.
      • TDD + Test 코드 작성법.

공부한 내용

  • 자바스크립트의 class
  • 입출력 메소드 사용법.

TIL (Today I Learned)

자바스크립트는 동적 프로퍼티 할당이 허용되는 언어. 클래스의 인스턴스를 생성할 때, constructor에서 프로퍼티 초기화를 하지 않아도, 메소드에서 this.프로퍼티로 할당이 가능.

왜, 어떻게 동적 프로퍼티 할당이 가능할까?

  1. JavaScript의 객체 모델: JavaScript의 객체는 키-값 쌍으로 이루어진 해시 테이블 형태로 동작. 이는 객체가 동적으로 변경될 수 있다는 것을 의미. 프로퍼티를 객체에 추가하거나 제거할 때, JavaScript는 메모리 내에서 그 객체의 해시 테이블을 수정하기 때문에 새로운 프로퍼티나 메서드가 객체에 쉽게 추가.

  2. 런타임 시점에 객체가 수정 가능: JavaScript 객체는 런타임에 언제든지 수정될 수 있음. 새로운 프로퍼티를 객체에 추가하거나 기존 프로퍼티를 삭제하는 것도 가능.

  3. 프로토타입 체인(Prototype Chain): JavaScript는 클래스 기반이 아닌 프로토타입 기반 언어. 모든 객체는 다른 객체를 상속받을 수 있는 프로토타입을 가지고 있음. 클래스는 사실상 생성자 함수일 뿐이고, 새로운 인스턴스가 만들어질 때 해당 인스턴스는 생성자 함수의 프로토타입을 상속받음. 동적 프로퍼티를 할당할 때, 인스턴스 자체에 직접 프로퍼티가 추가. 이는 생성된 객체의 프로토타입에 영향을 주지 않으므로, 안전하게 동작.

잘한 것 (Keep)

  • 어제 생각했던 문서를 잘 읽자 덕분에, -> 디버깅을 쉽게 할 수 있었음.
  • 어제 정리해 둔 백로그를 기반으로 기능을 구현할 때마다 테스트 하면서 만들어 나가는 과정이 좋았음. 확실히 개발 난이도가 줄어든 느낌. -> 리스트업 잘했다..!

아쉬운 점 (Problem)

  • 오늘의 목표를 좀 범위를 크게 잡았더니 일부만 달성했을 때, 별로 달성하지 않은 것 같아 보였다.. 목표 항목들을 좀 더 세부적으로 나누자..!
  • 라는 질문 좀 더 많이 해보자..!

내일의 보완 계획 (Try)

  • 예외 처리 기능 구현
    • 케이스별 반례 찾기
  • 코드 리팩토링
    • 효율 ⬆️
  • airbnb JavaScript 코딩 컨벤션 적용.
  • 문서화. 기록으로 남기기.
  • JavaScript 필요한 것 1가지 개념 공부하기.
  • 라는 질문 3가지 이상하기.

오늘의 감정

  • 나만의 페이스를 찾을 필요가 있겠다라는 생각이 들었다.
  • 커뮤니티 적당히 들여다 보고, 할 일에 집중하자.
profile
PAy IT forwaRD를 실천하는 프론트엔드 개발자.

0개의 댓글