-
공변성, 반공변성, 이변성
- 종호의 Bivariance hack for consistent unsoundness with RefObject
- 인규의 TypeScript 4.7 - Optional Variance Annotations for Type Parameters
- in, out 키워드로 변성을 컨트롤할 수 있다!
-
함수를 인자로 넘길때 레퍼런스를 넘기는 것보단 익명 함수를 만들어서 넘기는게 나을지두...?
const parsedInts = ['-10', '0', '10', '20', '30'].map(parseInt); // =>
-
변수명을 한글로 쓰나유? 영어로 쓰나유?
- 인규: 사내에서 제시했는데 빠꾸 먹었음 ㅜㅜ
- 지용: 커밋 메시지까지 영어로 쓰고 있음
- 종호: 한글로 쓰고 있엉
-
지용) 커밋 메시지의 규칙도 있어??
- 윤서:
- 우린 그냥 [JIRA 번호] 커밋타입: 메시지 요렇게 쓰는 거 같아
- 강열:
- 지용:
- Commitizen Commit
- Conventional Commits (extension)
- 오오 이거 신기한뎅
- 종호:
- local branch 는 아무렇게 (대신 알아보기 최대한 편하게)
- main 에는 squash merge 를 하고 강열이가 말한 Semantic Commit Messages 를 씁니당
- 윤서:
-
인규: yarn install --frozen-lock-file 이란게 있엉
-
react query
-
지용: 우린 queryKey 편의성을 위해 extractKey 를 써
- queryClient.invalidateQueries 를 위한 key 를 쿼리마다 연결해줌
~~~Queries.extractKey()
=> queryKey 가 나옴!
-
비교
- 쿼리 키를 파일모듈 단위로 별도 명시하는 방식
- 쿼리키에 의존하는 다른 모듈이 키에 강결합하는 단점
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 } )); };
- 쿼리 키를 함수모듈 단위로
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 에 몇개 잡혔는지 테스트하는것은 공수 많이 안들여도 될것 같음...!- 이 목적이라면 소나큐브 등 리포팅 툴을 사용하는 게 좀 더 부합하는 거 같기도 하다
- 인규: Cypress 돌리는 사람 있어?
-
윤서) 사이드프로젝트 최근에 시작했는 데 자동배포 설정하면서 종호님의 글이 도움이 많이 되었음
-
그림이는 약속이 있어서 먼저 바위바위 :byebye:
-
지용이는 슬슬 React Native 로 발을 뻗는 중...!
- 앱은 성능 이슈를 엄청 신경써야 한다...!
- 인규: 내가 생각하는건 반댄데...?
- 지용: 모바일 Native 언어들은 괜찮은데 React Native 가 문제다!!
- encoding, decoding 하는 쪽이 너무 느림
-
인규: Flutter 미쳤던뎅...?
- 코드를 짜고 App 으로 빌드하려면 앱이 나오고 web 으로 빌드하면 웹이 나옴...!
-
인규가 자랑할 게 있대용
- QA 에서 스펙이랑 다르다고 제보했는데 가이드라인보다 내부 구현이 더 자연스럽다고 논이슈 처리했음!!!
- 윤서: 오~~~~~~~~~~~~~~
- 종호: 키야아아아아ㅏㅏㅏ
- grab 했을 때 버튼을 숨기기 위해 이런 처리를 했음.
- 마우스가 떠나지 않으면 무조건 버튼을 노출했어야 했는데 0.3 초동안 클릭하면 노출되지 않도록 했음!!
- QA 에서 스펙이랑 다르다고 제보했는데 가이드라인보다 내부 구현이 더 자연스럽다고 논이슈 처리했음!!!
-
네이버 인규가 일하는 레포의 PR 넘버는 26000번대, 커밋은 77000개...!ㅋ
-
Velopert 님 다음달 퇴사 ㅜㅜ
-
인규: 후원해줘 빼애액
- 강열: 저거 세금 때나?
- 인규: 궁금하면 나한테 해봐 ㅋ
- 강열: 저거 세금 때나?
-
인규의 블로그 추천 overcurried - 갓종호와 유사한 퀄리티
- 전자레인지와 와이파이의 주파수가 같다...?
- https://overcurried.netlify.app/%ED%83%80%EC%9E%85%20%EB%A0%88%EB%B2%A8%20%EA%B3%A0%EC%B0%A8%20%ED%95%A8%EC%88%98/
- 테오의 프론트엔드 톡방 추천!
-
강열: 이제 카카오톡 인스타처럼 프로필 좋아요 생긴다는데...?
-
지용이의 재미있는 비하인드 썰이 있음 꼭 들어야함
-
강열: 와이파이 바꿔야할듯... 난 전자레인지도 안돌리는데...
-
오늘 최장기록: 1시간 53분
- 갓종호 예전 블로그: https://jhpa.tistory.com
- 📆 2022.08.09 20:00 ~ 21:00
- 👥 @Seogeurim @hseoy @pumpkiinbell @jiyong1 @KangyeolLee @gomjellie