JIGGAG

11월 한달동안 로그

2019년 12월 4일

11/24 - 11/30

Date Picker

  • momentDate 날짜 형식 통일
  • moment().valueOf()가 서버시간이랑 같아서 추천

라이브러리

  • 필요한 기능을 이해하고 꺼내서 쓰자

11/17 - 11/23

Plus Ultra

  • 이상을 향하여
  • 더 높은 곳을 향하여
  • 더 나아가다
  • 스페인 로마제국

ES6+ 비동기 및 에러핸들링

  • 유인동님의 FEConf
  • 에러는 발생을 해야 잡을 수 있다
  • 에러가 발생하지 않고 정상 작동 하는 것 처럼 보이도록 하는게 아니라 에러가 발생해야만 try-catch에서 에러를 핸들링 할 수 있다
  • 에러가 발생하면 이후 트랜잭션은 멈춰야하고 그래야 불필요한 데이터가 쌓이지 않는다
  • 그렇지만 가장 좋은 코드는 에러 핸들링을 하지 않은 것이다
  • 순수함수로 작성하여 에러를 발생 시키고 인자로 받는 데이터를 주는 쪽에서 에러 핸들링하여 주는것이 좋다
  • 에러를 표출해라

훅스란?

  • 클래스형 컴포넌트에서 보다 쉽게 상태를 관리 할 수 있도록 함수형 컴포넌트 상태 관리
  • useState - 상태와 상태를 바꿀 수 있는 함수 반환
  • useEffect - 특정 상태가 변경 되면 동작하기를 원하는 경우
  • useMemo - 특정 상태의 값이 변경 될때에만 새로 반환되는 값
  • useCallback - useMemo와 동일하나 함수를 반환

11/10 - 11/16

Node.js

  • express v4.16 부터 body 데이터 받아오기 가능하여 body-parser 삭제
  • POST API에 넘어오는 데이터를 request.body로 사용 가능

호이스팅

  • 현재 스코프에서 찾는다
  • 없으면 상위 스코프로 올라가서 찾는다
  • 없으면 더 상위 스코프로 올라가서 찾는다

Code coverage

  • 테스트 코드 커버율
  • 프로젝트 내 coverage 폴더를 커밋해야하는가?

모듈 정의

  • CommonJs vs ES6
  • require vs import
  • babelES6CommonJs로 컴파일
  • CommonJs이든 ES6든 모듈 선언하는 것은 한가지 방식으로 통일

11/3 - 11/9

React hooks + Redux saga

  • 자꾸 렌더링되는 컴포넌트
  • useEffect에 dependency 조건을 잘 체크해줘야하며 함수 호출의 경우 useCallback으로 재생성 안되게 방지
  • react-hooks/exhaustive-deps 설정했더니 자동 수정되고 커밋
  • 의도와는 전혀 다르게 조건이 추가되어버린다
  • 다른 사람들도 이게 불편함을 느꼈는지 깃허브 이슈 생성

Redux vs Mobx

  • React === Library (상태관리, 라우터 등 자체적으로 지원하는게 없음)
  • 그러나 리액트 생태계는 Framework (상태관리, 라우터 안쓰는 프로젝트가 없음)
  • 리액트는 상태 관리를 위한 라이브러리!
  • Redux: 단방향 (angularjs: View model <-> Container model 양방향이지만 누가 누굴 바꾸는건지 모르겠음)
  • 부모 -> 자식: 자식 state를 변경하려면 부모가 props 전달
  • 자식 -> 부모: 자식이 부모의 state 변경은 못함
  • 그래서 redux 필요
  • 완전 조상님급 바깥에 존재하는 redux에서 state 관리
  • Action -> dispatch -> middleware -> reducer -> store(state): 단방향
  • middleware: 사이사이 기능 추가 (ex. 비동기 처리를 위한 미들웨어 Redux-thunk, redux-saga)
  • 제로초님의 유튜브 강의

한달동안

  1. 10월 한달동안
  2. 11월 한달동안
  3. 12월 한달동안