project migration

sangwoo noh·2022년 4월 26일
0

슬기로운 회사생활

목록 보기
22/26

migraion작업 진행 이유

  1. 우리회사의 프로젝트는 create-react-app 기반이다
  2. 연식이 오래됐다(2017년)
  3. 사용하는 외부 모듈이 너무 오래됐다.
  4. 번들링 속도가 너무 오래걸린다.

목표

  • migration 하는김에 리팩토링도 함께하자.
    ㄴ class형식중 hook형식으로 재해석 가능하면 역공학때려서 컴포넌트 교체
    ㄴ redux에 immutablejs적용됐는데 이것을 해제하고 redux-toolkit으로 대체
    ㄴ directory구조가 마음에 안들어서 좀더 트렌디하게 변경
    ㄴ 순수함수 형식으로 splitting 할 수 있는것은 코드분할 진행
    ㄴ 스파게티코드 풀기
    ㄴ react18버젼으로 업그레이드
    ㄴ 필요없는 모듈 제거 또는 모듈 최신화
    ㄴ React.lazy와 React.Suspense로 dynamic import해서 초기 로딩속도 개선
    ㄴ 번들링 툴은 vite로 대체하여 개발시 번들링 속도 개선

최종 목표

  • vite로 기존 프로젝트의 리팩토링 및 이전작업이 끝났다면
    Monolithic architecture에서 Microservices architecture로 넘어가야한다
    이때 나눠지는 프로젝트는 nextjs로 재구성 한다.

작업 방식 - Divide and Conquer

  • 알고리즘 개념이지만 통하는 바는 같다.
    한번에 해결할 수 있는 상황이 아니니깐
    작은 단위로 쪼개서 부분적으로 점차 정복하는 형태의 개념으로 진행 한다.

  • 여러명이서 같이 매달리면 좋겠지만 설계작업을 해본 사람이 없어서 사공이많아 산으로 가느니
    한사람이 기반을 다지고 리팩토링 하는것이 더 효율적이다.
    단지 이번엔 그 대상이 나일 뿐이다.

후기

(작성 예정)
조금 오래걸릴듯..

profile
하기로 했으면 하자

0개의 댓글