Skip to content

Latest commit

 

History

History
168 lines (126 loc) · 6.99 KB

039-2022-08-09.md

File metadata and controls

168 lines (126 loc) · 6.99 KB

39번째 만남

WIL

const parsedInts = ['-10', '0', '10', '20', '30'].map(parseInt); // =>
  • 변수명을 한글로 쓰나유? 영어로 쓰나유?

    • 인규: 사내에서 제시했는데 빠꾸 먹었음 ㅜㅜ
    • 지용: 커밋 메시지까지 영어로 쓰고 있음
    • 종호: 한글로 쓰고 있엉
  • 지용) 커밋 메시지의 규칙도 있어??

  • 인규: yarn install --frozen-lock-file 이란게 있엉

  • react query

    • 지용: 우린 queryKey 편의성을 위해 extractKey 를 써

      • queryClient.invalidateQueries 를 위한 key 를 쿼리마다 연결해줌
      • ~~~Queries.extractKey() => queryKey 가 나옴!
    • 비교

      1. 쿼리 키를 파일모듈 단위로 별도 명시하는 방식
      • 쿼리키에 의존하는 다른 모듈이 키에 강결합하는 단점
      export const EXAMPLE_QUERY_KEY = 'EXAMPLE_QUERY_KEY';
      
      export const useExampleQuery = (queryOption?: UseQueryOption) => {
        return (queryResult = useQuery(
          [EXAMPLE_QUERY_KEY],
          async () => {
            const res = await someApi.getSomething();
            if (res.isError()) {
              throw res;
            }
            return res.getDate();
          },
          { ...queryOption }
        ));
      };
      1. 쿼리 키를 함수모듈 단위로 extractKey를 주입하는 방식
      • 쿼리키에 대한 의존성을 줄일 수 있음
      • 공식적으로 지원하는 프로퍼티가 아니고 직접 객체에 커스텀 주입하는 방식이므로 (가능성이 낮지만) 확장성 주의 필요
      export const useExampleQuery = (queryOption?: UseQueryOption) => {
        return (queryResult = useQuery(
          [EXAMPLE_QUERY_KEY],
          async () => {
            const res = await someApi.getSomething();
            if (res.isError()) {
              throw res;
            }
            return res.getDate();
          },
          { ...queryOption }
        ));
      };
      
      useExampleQuery.extractKey = () => generateQueryKey(...);
  • PR

    • 인규: as-is, to-be
    • PR 포인트를 스스로 짜야됨
    • PN Rule => P1 P2 P3 P4, ...
      • 저번에 얘기했는데, P1 은 강하게 주장하는 것, P3 는 중립!
    • restart shopping please
      • 쇼핑 CI 가 자주 죽어서 코멘트를 남기면 돌아가게 함
    • 지용: CI 다시 시작하게 하려면 Commit Message 로 함!
      • [deploy-stage] allow empty
  • E2E 테스트

    • 인규: Cypress 돌리는 사람 있어?
      • 지용: 쓰다가 버림, 외부 서비스에서 우리 서비스를 개입하는 순간 Cypress 동작이 이상하게 됨 ㅜㅜ
      • 강열: 지금 도입하려고 하는 중
      • 인규: release 브랜치에 3시간마다 한번씩 돌리는게 어떤가 싶었는데... (옆팀이 하루에 두번 돌림)
      • 지용: E2E 도입이 애매했던게... 기능 하나하나가 자주 변경되고 도입이 빨라서 E2E 테스트도 그만큼 공수가 필요함
      • 인규: 타입스크립트 옵션 키면서 타입 손질을 할것 같은데, ErrorBoundary 에 div 를 반환하게 하고, 속성으로 data-test-~~ 넣고 ErrorBoundary 에 몇개 잡혔는지 테스트하는것은 공수 많이 안들여도 될것 같음...!
        • 이 목적이라면 소나큐브 등 리포팅 툴을 사용하는 게 좀 더 부합하는 거 같기도 하다

잡담

  • 윤서) 사이드프로젝트 최근에 시작했는 데 자동배포 설정하면서 종호님의 글이 도움이 많이 되었음

  • 그림이는 약속이 있어서 먼저 바위바위 :byebye:

  • 지용이는 슬슬 React Native 로 발을 뻗는 중...!

    • 앱은 성능 이슈를 엄청 신경써야 한다...!
    • 인규: 내가 생각하는건 반댄데...?
    • 지용: 모바일 Native 언어들은 괜찮은데 React Native 가 문제다!!
      • encoding, decoding 하는 쪽이 너무 느림
  • 인규: Flutter 미쳤던뎅...?

    • 코드를 짜고 App 으로 빌드하려면 앱이 나오고 web 으로 빌드하면 웹이 나옴...!
  • 인규가 자랑할 게 있대용

    • QA 에서 스펙이랑 다르다고 제보했는데 가이드라인보다 내부 구현이 더 자연스럽다고 논이슈 처리했음!!!
      • 윤서: 오~~~~~~~~~~~~~~
      • 종호: 키야아아아아ㅏㅏㅏ
    • grab 했을 때 버튼을 숨기기 위해 이런 처리를 했음.
    • 마우스가 떠나지 않으면 무조건 버튼을 노출했어야 했는데 0.3 초동안 클릭하면 노출되지 않도록 했음!!
  • 네이버 인규가 일하는 레포의 PR 넘버는 26000번대, 커밋은 77000개...!ㅋ

  • Velopert 님 다음달 퇴사 ㅜㅜ

  • 인규: 후원해줘 빼애액

    • 강열: 저거 세금 때나?
      • 인규: 궁금하면 나한테 해봐 ㅋ
  • 인규의 블로그 추천 overcurried - 갓종호와 유사한 퀄리티

  • 강열: 이제 카카오톡 인스타처럼 프로필 좋아요 생긴다는데...?

  • 지용이의 재미있는 비하인드 썰이 있음 꼭 들어야함

  • 강열: 와이파이 바꿔야할듯... 난 전자레인지도 안돌리는데...

  • 오늘 최장기록: 1시간 53분

자투리