Skip to content

[11 25] 멘토링

김승현 edited this page Nov 25, 2021 · 2 revisions

질문사항

  • 주영 - 튜토리얼 없이 어떻게 사용자들이 서비스 기능을 의도한대로 사용하게 할까요?
  • 승현 - 라이브러리를 사용할 때 typescript 타입을 찾는 팁
  • 성현 - 컴포넌트 파일 분리하는 방법에 대한 고민
  • 유석 - useCallback을 사용할 때 dependency에 관한 질문. 우선 set관련 함수들을 dependency에 추가하지 않아도 된다고 생각하는데 맞는지, 다른 함수들도 포함되어야 하는거 같은데, 그 함수의 의존성에 포함되어 있는 것들은 포함되어야 하는지?

리팩토링 & 성능 개선

  • useCallback, useMemo, React.memo
  • 스트레스 테스트
  • 리페인팅 등만 보고 해도 충분
  • 테스트를 좀 짜보는 것이 더 좋다. e2e, 단위 테스트

발표 주제 상담


멘토님 피드백

잘하신거같다. 지난 주에 비해 너무 많이 완성이 되었다.

감사합니다!!

ui를 유저가 잘 파악할 수 있을까 고민이다.

괜찮아 보인다. 충분히 인지할 것 같다.

기획을 하나요?

기획자가 기획을 하면 설계하시는 분이 설계를 또 하신다. 마크업해서 주신다. 설계를 보고 작업을 하면된다.

라이브러리 사용 시 타입 지정 방법

차트의 라이브러리만의 이벤트를 쓰다보니깐, 해당하는 차트의 타입을 찾는 게 어려웠다.

가이드에 잘 없었나요? (네..ㅠㅠ -> 아니었다 문서를 잘 안읽은 탓)

저렇게 쓰는 방식은 별로 없다. 보통 타입스크립트가 잘 추천해주고, 가이드를 봐야하고, 내부로직을 찾아봐야 할 것 같다. 사용법이 따로 잘 나와있는 경우가 많이 있다. 근데 라이브러리가 많아서 상황이 다양하다.

라이브러리 많이 쓰시나요? date picker, 캘린더, 차트 구현하기 생각보다 까다롭다. 확장성 있게 나온 라이브러리 Echart, 네이버 빌보드차트 기획단계에서 검토를해서 제안을 함 보통, 할 수 있겠다 싶으면 만들기도, 수정해서 쓰기도 함.

재사용 되지 않는 거대 컴포넌트 분리

분리를 하는건 작업자의 판단 굳이 재사용 안하는 컴포넌트가 있어도 상관 없다. 버튼이 기능이 따로 있다. 그러면 나누는게 맞..죠? 보통은 페이지 폴더, 컴포넌트 폴더랑 따로 있고, 레이아웃 따로 있고 필터버튼은 컴포넌트 아닌가? 컴포넌트 안에 함수형 컴포넌트를 또 불러서 재사용하는건? 괜찮다 보통은 렌더링될때마다 다시 되니까 위로 뺀다 어레이로 맵 돌린다.

커스텀훅을 사용하는 경우가 생긴다. 그럴때 의존성이 많아져서 그냥 밑으로 두고 쓰는게 생각하게 되었다.

사실, 모든 컴포넌트는 빼는게 좋다. 유지보수 측면에도, 저희는 그냥 안에서 관리해요. 의존성이 너무 높으면 안에 두는 것도 방법.

스테이트에 의해 변경되는 값들만 넣어주면 된다.

useCallback, useMemo 쓰다보니 힘들다. 재귀적으로 중복된다면 둘 다 넣어야된다. 렌더링이 빈번하는 경우라면 넣는게 낫다. 모든 거에 영향을 받는다면 안 붙이는게

소켓스트레스 테스트, 적용할만한 있나요? 성능개선 쪽으로? 눈에 보이지 않는 병목현상이 있다거나, 그런게 아니면 리팩토링 안함

불필요한 렌더링 단위, e2e 테스트

프로젝트 주제

실시간 마인드맵 데이터 곁다리 레디스 이벤트 소싱

타입스크립트 유틸도 리팩토링 때 도전해보면 좋음

https://github.com/type-challenges/type-challenges

Clone this wiki locally