주간회고 - 6월 막주
알고리즘의 중요성을 많이 느낀 하루..
요즘 하고 있는 프로젝트는, children이 최대 4개 까지 있는 중첩구조의 카테고리를 트리컴포넌트로 렌더시켜주는 카테고리 페이지 작업을 하고 있다. 요구사항에 맞게 트리컴포넌트를 구현하기 위해서는 중첩구조 안에서 필요한 값을 찾아야 하는 로직들이 많다. 이런 경우 재귀를 사용할 수 밖에 없는데, 이런 알고리즘이 익숙하지 않다보니, 쉽게 코드가 짜지지 않았다.
새로운 컴포넌트 구조의 필요성
새로운 피쳐를 개발할 때 대략적인 컴포넌트는 기존 컴포넌트와 동일하지만, 실제 디자인상의 디테일한 수치, typography는 다른 경우가 종종있다. 혹은 내부 로직을 달라져 다른 로직을 사용해야 하는 경우도 있다. 이런 경우에는 어떻게 하면 좋을까. 기존에 사용했던 방식은 기존 컴포넌트를 새로운 컴포넌트가 overriding 해서 사용했었다. 하지만, 이런 작업들이 반복되다 보니, 지속적으로 같은 컴포넌트를 생산하고 있기도 하고, 계속 같은 작업을 반복하게 되어 새로운 방식을 찾게 되었다.
- 뷰와 로직의 분리
- Compound Component 패턴
- Function as Children component 패턴
- Custom Hook 패턴
—> headless로 할 경우 style은 보통 classname으로 줌
더 좋은 방법이 없을까??? —> 컴포넌트 개선기로 찾아오겠다.
비슷한 훅을 세번째 만들고 있는 나,,정상인가요,,?
필터 쿼리 훅을 세번째 만들었다.
모름지기 훅은 재사용하려는데 목적이 있지 않은가?
재사용이 불가능하다면 그건 훅으로서의 역할을 하기에 부족한건 아닐까?
재사용이 아닌 새로 만들었던 이유
- 전반적인 쿼리를 라우터로 쏴줌으로써 필터를 관리함은 동일
- 쿼리 타입, 쿼리마다 생성되어야할 조건이 다름.
- 예) 정렬이 바뀐다면, 어떤 페이지는 페이지네이션도 초기화 되어야함. 어떤페이지는 무한스크롤. handlesort로직의 통일이 어려움.
그치만 이또한 로직을 잘 분리하다보면 가능한 일이지 않을까 —> 함수형 프로그래밍에 더 관심을 갖고 공부해 보자.
풋살과 수영
수영만 다니다 풋살도 시작했다. 너무 유산소만 하는거 아닌가 하지만 나는 근력운동보다 유산소가 더 재밌다. 이보다 몸과 마음이 건강할 수 있을까. 운동을 꾸준히 한달은 이번이 처음인데, 매일매일 도파민 뿜뿜이다. 꾸준히 가보자고
한줄 정리
매일 불필요하게 반복하고 있는게 무엇일까 고민하고, 개선하기를 반복하자
7월 목표
-
알고리즘 뿌시기 :
한달동안 알고리즘 스프린트를 뛸 예정이다. 코테에서 가장 자주나오는 DFS,BFS이런 유형들위주로 먼저 알고리즘 유형에 익숙해지는 연습을 할것이다! -
블로그 꾸준히 쓰기 : 내가 쓴 글 묵혀두지만 말고, 완성도 높여서 발행하기
-
깊에 파고들기 : 당장의 문제를 땜빵하는데서 더이상 끝나면 안된다. 왜부터 시작해서 해결방안 모색하기
-
다음 연구과제
- react 18,19 기능 모두 써보기
- samsung, safari : 크로스 브라우징 이슈 해결하기
- 함수형 프로그래밍 공부
- polymorphic한 컴포넌트 만들어보기