1) 얻은 점들
ㄱ. 리액트에 좀 더 능숙해졌다.
HOC, useReducer, context, useMemo, useCallback, 커스텀 훅, 컴포넌트 합성, 상태 관리 등등
ㄴ. Konva 라이브러리의 사용법을 익혔다.
추후 canvas 태그를 다뤄야할 때 유용하게 사용할 수 있을 것이다.
ㄷ. 편집기, 저작도구 제작 경험을 쌓았다.
보편적인 웹사이트 개발과는 다른 경험이었다. 사용자의 행동들을 먼저 정의하고 그에 따라 개발하면서 많이 어려웠지만 추후 다른 편집기, 저작도구를 개발할 때 큰 도움이 될 것 같다.
ㄹ. 프로젝트 회고를 처음으로 작성해보면서 내가 개발한 핵심 로직들을 리뷰하고 아쉬운 점들, 보완해야할 점들을 알 수 있었다. 앞으로도 프로젝트 회고는 꼭 작성해야겠다.
ㅁ. 가독성 좋고 중복 없는 코드를 짜는 것의 중요성을 직접 느꼈다.
개발을 하다보니 요구사항이 바뀌거나, 디자이너 요구에 의해 컴포넌트 구조를 바꾸는 등 코드를 계속 수정할 일이 있었다. 수정사항을 빠르게 처리하기 위해서 처음 코드를 짤 때 하드코딩하기보다 최대한 가독성 좋고, 중복 없는 코드를 짜는 것이 실무에 유리하다는 것을 알았다.
2) 아쉬운 점들
ㄱ. 테스트 코드를 활용하지 못했다.
매번 테스트할 때 일일이 손으로 테스트를 했다. 개발을 시간에 쫓겨 하다보니 jest를 활용해 테스트 코드를 구현하지 못했다. 테스트 코드를 활용했으면 초반에는 학습 시간이 좀 걸렸겠지만 후반에는 오히려 시간이 절약되고 오류 검출도 빠르게 되는 효과가 있었을 것 같다. -> 그래서 요새 틈틈이 jest 공식문서를 읽고 실습하면서 공부하고 있다.
ㄴ. 최적화가 많이 부족하다.
짧은 시간에 기능 개발에만 몰두하다보니 최적화에 신경을 쓰지 못했다. 전체적으로 불필요한 렌더링이 너무 많다. 예를 들면 context를 사용할 때 provider하나에 거의 20개의 값이 들어가는데, 이 경우에 불필요한 렌더링이 너무 많이 발생한다. 또한 상태를 너무 부모쪽(위쪽)에 몰아놓아서 이로 인한 문제도 많다. 추후 리팩토링을 진행하면서 해당 부분을 보완해야겠다. -> 상태 관리는 많이 만들어보고 고수들 강의를 보면서 경험이 쌓여야 잘해질 것 같다.
ㄷ. 데이터 모킹 라이브러리의 활용
backend와 연동하지않고 frontend만 작업할 때 backend에서 받아와야하는 데이터들을 임의로 작성해서 넣어놓고 개발을 했다. "react의 모든 것" 강의를 듣다보니 이럴때 데이터들을 대신 제작해주는 라이브러리들이 있는 것을 알았다. -> 다음 개발부터는 데이터 모킹 라이브러리를 활용해 봐야겠다.
'프로젝트 회고 > 이미지편집기 개발' 카테고리의 다른 글
6. 개발 - 뒤로가기(작업 취소), 앞으로 가기(복구) Z-index 조정 기능 (0) | 2022.07.20 |
---|---|
5. 개발 - 상태 관리 리팩토링 - useReducer (0) | 2022.07.18 |
4. 개발 - 편집기 주 화면 구현, 배경, 노드(이미지, 텍스트) 추가, 편집 기능 (0) | 2022.06.30 |
3. 개발 - 기본 구조 (0) | 2022.06.19 |
2. 액션 정의하기, 앱 구조와 화면 레이아웃 잡기 (0) | 2022.06.15 |