2021-07-23 TIL

til  · 2 mins read

Facts

  • 부스트 캠프 day05를 마쳤다.
  • 백준 사이트에서 정수 삼각형 문제를 풀었다.
  • 더블유키 활동: 리팩토링 작업을 하였다.

Feelings

  • 이번주는 부스트 캠프 활동을 하면서 정신없이 달렸다. 매일 til을 작성해야 겠다고 생각했지만 도저히 시간을 내기가 힘들었다.. 주어지는 미션을 수행하면서 cs 지식이 많이 부족하다고 느끼고 모르는 부분에 대한 학습 계획을 세웠는데 학습해야 될 내용이 너무 많아서 매일 다 못 끝내고 잠들었다. 학습 방법에서 문제가 있는 건지 내 이해력이 딸리는 건지 .. 다른 동료들은 많은 내용을 꼼꼼히 잘 정리해서 오는데 .. 매일 학습 정리를 하면서 회의감이 들었다. 공부할 내용이 너무 많고 또 꼼꼼히 깊게 학습하려고 하는게 문제인 건지 잘 모르겠다. 남은 챌린지 기간 3주를 헛되이 보내지 않도록 주말동안 효율적으로 학습하는 방법을 고민해보고 평일 시간 계획도 다시 짜봐야 겠다.

Findings

  • 값들을 매핑하기 위한 데이터 구조(ES6)
  • key와 value를 서로 매핑시켜 저장하면 저장된 순서대로 각 요소들을 반복적으로 접근 가능
const mapping = new Map();
mapping.set("dog", "woof");
mapping.set("cat", "meow");
mapping.set("elephant", "toot");
mapping.size; // 3
mapping.get("fox"); // undefined
mapping.has("bird"); // false
mapping.delete("dog");

for (let [key, value] of mapping) {
  console.log(key + " goes " + value);
}
// "cat goes meow"
// "elephant goes toot"
  • Object vs Map

    • Object
      • Object는 문자열을 값에 매핑하는 데 사용, 순서가 정해져 있지 않음, size는 다음과 같이 Object.keys를 이용해야 함
    const obj = { name: "aejijeon", age: 24 };
    console.log("Length: ", Object.keys(obj).length);
    
    • Map

      • Map 객체는 key 값으로 모든 값을 가질 수 있음(null, undefined도 가능)
      • size를 쉽게 구할 수 있음(map.size)
      • 삽입된 순서대로 반복
    • 언제 Object를 또는 Map을 사용할지?

      • 실행 시까지 키를 알수 없고, 모든 키가 동일한 type이며 모든 값들이 동일한 type일 경우에는 objects를 대신해서 map을 사용
      • 각 개별 요소에 대해 적용해야 하는 로직이 있을 경우에는 objects를 사용

Future Action Plans

  • 부스트 캠프 기간 동안 학습 정리한 내용을 바탕으로 10분 내로 til을 쓸 수 있다. 시간 없다고 변명하지 말고 꾸준히 til을 작성하자.

Feedback

  • 5일동안의 챌린지 활동에 대해 회고하고 2주차부터는 더 많이 배울 수 있도록 정신 차리고 준비하자.
  • 활동하는 동안에는 1초라도 더 집중하고 투자하자. 중요한 시기다.