TIL

2022 연말회고

2022.12.29

2022 끝!

2022년 마지막 출근을 했다. 이로서 2022년에 두 번 취직하고 두 번 퇴사한 사람이 되었음.

apollo mock server

apollo-server 4버전부터 mock server라는 것을 지원한다. 스키마와 기본적인 리졸버를 넣어놓으면 결과값을 난수로 반환해주는 형식.

2022.12.21

storybook global css 설정

webpack5를 사용해서 번들링하는 경우 css 파일을 읽어올 수 있는 별도의 loader를 설정해주어야 한다.

// preview.js
import "!style-loader!css-loader!../styles/globals.css";

2022.12.19

apollo/client의 useLazyQuery

useLazyQuery를 이용한 데이터 fetching이 완료된 후에 특정한 동작을 수행하고 싶을 때에는 onCompleted 옵션을 설정해주면 된다.

await searchBook({
  variables: { input: { target: BookSearchQueryTarget.Isbn, query: isbn } },
  onCompleted: (data) => {
    state.setBookInfo(/* ... */);
  },
});

2022.12.12

vite 4.0.0

원인 모를 에러가 발생할 때에는 유관 라이브러리들의 버전도 체크하자. 3일 전에 새로운 버전이 릴리즈 되었을 수도 있다.

2022.12.08

2022 If.Kakao

  • Sentry 발표: Sentry는 scope 기반으로 에러 데이터를 쌓는다.
  • 브런치 FE 심폐소생술: 재밌었다.

주니어/미들/시니어 개발자를 나누는 기준

주니어와 미들을 나누는 기준이 어떠한 기술 이슈에 대해 확신을 가지고 이야기할 수 있는지의 여부라는 이야기를 들었다.

2022.12.06

storybook에서 head 적용

.storybook/preview-head.html 파일을 생성하고 head 태그 안에 넣고 싶은 태그를 입력.

2022.12.04

MongoDB와 데이터

Document 기반의 NoSQL DB는 RDB처럼 엄격하게 데이터의 무결성을 보장하지는 않지만 유연한 사용이 가능하다.

2022.12.02

JS 전역 공간에 대하여

JS는 전역 상태를 생성하는 경우 Window(node 환경의 경우 Global)에 해당 값이 들어간다. 전역 공간은 최대한 사용하지 않는 것이 좋다. 임시 변수도 최대한 제거하는 것이 좋다.

해결책:

  • 함수를 최대한 구체화된 책임 단위로 작게 작게 나누는 것
  • 함수의 결과값을 임시 변수를 거치지 않고 바로 반환하는 것
  • 고차 함수를 사용하는 것
  • 선언형 프로그래밍