1. 오늘 한 일
- 아침 : 알고리즘 문제 풀기, 스탠더드 과제
- 낮 : 스탠더드 과제 풀고 제출, 리액트 숙련 과제 재제출
2. 느낀 점
- 알고리즘은 매일 풀지 않으면 감 잡기가 어려운 것 같다. 오늘 문제도 슬랙에 올라와 있어서 문법 찾아가며 풀었는
데 내가 배운 대로 풀면 일반적인 문제는 통과되는데 복잡한 배열로 되어있으면 통과가 안 돼서 뭐가 문제인가 하며
구글링 했음.. 그동안 내가 잘못된 방식으로 풀고 있었구나 생각했다. 알고리즘은 다른 방식으로 접근하는 방법을
생각해 봐야겠다. 문제를 읽으면 아 이거다! 하는 문법이 딱 떠올라야 하는데 바로 안 떠오르니까 조금 그렇기도 하고
암튼 그렇다..ㅠ
function solution(number) {
return number.split( '' ).map(Number).reduce((a,b)=> a+b)%9;
}
문자를 split로 나누고 map 메서드와 reduce 메서드를 사용하였다. 나머지를 구할 땐 (%) 사용함
- 스탠더드 과제 하면서 느낀 건데 memo와 useMemo useCallBack 사용하며 해당 리턴문이 리랜더링 되지 않게
하는 방법을 알고 나니 나중에 프로젝트할 때 필요한 곳에 요긴하게 사용할 수 있을 것 같다. 물론 커스텀 훅은 아직
익숙지 않아 과제할 때 영상 보면서 어떻게 하는지 흐름은 파악했는데 막상 직접 해보려니 막막했음.. 😥
그래서 memo useMemo useCallBack 사용한 과제는 제출 완료!
* 용어 정리
> 캐싱 : 자주 사용하는 데이터를 임시로 저장하고 필요할 때 빠르게 접근할 수 있게 하는 것
> memo : 부모 컴포넌트를 리랜더링 할 때 캐싱된 컴포넌트를 리랜더링 하지 않고 재 사용하는 api
모든 컴포넌트에 memo를 사용하는 건 안되고 필요할 때만 사용한다.
> useMemo : 계산결괏값을 캐싱하여 리랜더링 할 때 재사용할 수 있는 Hook
/ 계산 비용이 많이 드는 함수에 사용할 때 효과적인 hook이다
> useCallBack : 함수 정의를 캐싱하여 리랜더링 할 때 재사용 가능한 hook
- 내일부터 뉴스피드 프로젝트네.. 리액트 때 제대로 배워둔 게 없어서 못하면 우짜지 '.ㅅ',,, 과제도
처음엔 호기롭게 시작했다가 뒤엔 망했던 적이 많아 걱정이 된다. 할 수 있겠지! 배워간단 생각으로 내일도
해보자~
3. 내일 계획
- 프로젝트 시작 (..) 주말 껴야 할 듯 ,, ㅎㅎ
'👻내일배움캠프 - 스파르타코딩클럽 > TlL' 카테고리의 다른 글
240603 TIL (0) | 2024.06.03 |
---|---|
240531 TIL (0) | 2024.05.31 |
240529 TIL (0) | 2024.05.29 |
240528 TIL (0) | 2024.05.28 |
240527 TIL (0) | 2024.05.27 |