1.0.0 - alpha flash card 회고
flash card 프로젝트 회고입니다. 프론트엔드 배포기준 1.0.0입니다. 백엔드 배포는 1.1.2입니다.
Liked
- 매일 영단어 공부할 때 물리적인 플래시카드 대신에 제가 만든 서비스를 활용할 수 있습니다.
- 직접 백엔드 엔지니어 입장이 되어 API도 구현했습니다.
- 협업 경험으로 얻어야 하는 CORS 설정과 token 정책을 혼자서 양쪽 모두 경험했습니다.
- 접근성을 올바르게 고려하고 loader를 포함한 버튼을 구현했습니다.
Learned
- Request Waterfall를 React-Router-DOM과 React-Query로 방지하는 방법을 배웠습니다.
- token refresh 후 retry를 axios로 처리하는 법을 배웠습니다.
- 복잡한 조건문을 리팩토링하는 방법을 배웠습니다.
Lacked
- 테스트코드는 util 함수와 컴포넌트 랜더링에 집중 되어 있습니다. hook은 당연하고 결합이 발생하는 지점에 집중적으로 필요합니다.
- build - test - learn인데 build하는데 기능도 별로 없으면서 너무 오래걸렸습니다.
- SQL 설계능력이 부족합니다. 그래서 프로젝트 규모도 작고 table도 2개 밖에 없습니다.
- PM과 디자이너 입장에서는 minimal하기만 하고 심각하게 viable하지 않습니다.
- 유저는 사실 저 혼자고 저 잘 사용하고 있습니다.
- 이정도 개발 능력으로 PM과 디자이너 장단을 맞춰줄 수 없습니다.
- 기능대비 복잡도 트레이드오프를 못맞추고 있습니다. 많은 기능도 없는데 코드가 너무 더럽습니다. 본인 PR을 하루 1개만 Merge하면서 다시 보고 고민했다고 하지만 여전히 심각하게 코드가 더럽습니다.
- 많은 학습을 했다고 착각을 많이 합니다. 그냥 비슷한 작업만 많이 한 것입니다.
- 기초적인 내용이고 뒤처지는데 이거 배운것 같고 좋아하고 있습니다.
- 백엔드에는 테스트코드가 전혀 없습니다. 이렇게 되면 백엔드는 업무를 수행한 것으로 간주 안 합니다.
- 문서화 퀄리티가 너무 낮습니다. 본인이 작성해서 뭐하는지 알겠는데 다른 사람을 모르기 쉽습니다. 코드리뷰로 검증할 필요 없을 정도로 코드퀄리티가 떨어지기 때문에 문서화 퀄리티도 당연히 떨어집니다.
- 일관성이 부족한 부분이 너무 많습니다. 전반적으로 정리가 너무 안 되어 있습니다.
Longed(잘하기 위해 필요한 것)
- 정말 중요한 것은 어려운 과정과 어려운 결과입니다.
- 달성하기 어려운 난이도 높은 과제를 달성해야 합니다.
- 작업하는 과정도 점진적 개선 설계를 추구하는 것이 아니라 처음부터 높은 수준의 완성도를 가져야 합니다.
- 보수를 위한 작업을 많이 추가하고 기능은 작고 빠르게 출시합니다.
- 덜 경험해본 작업을 추가해야 합니다.
- 반응형 디자인을 경험해본적이 없습니다.
- Masonry 레이아웃도 시도해본적이 없습니다.
- 전반적으로 단위 테스트와 결합테스트 추가해야 합니다.
- 계층 구분까지 처리하고 외부 코드리뷰 및 포폴리뷰를 받아봅니다.
- index entry 형식 통일합니다.
- hook, page 모두 너무 다른점 하나로 맞춥니다.
- Component 계층구조 만들기 Layout 폴더 추가하기, Common에서 atomic 패턴 부분적용합니다.
Action Item
- 반응형 디자인
- 테스트 코드 추가
- call graph 도식화 문서에 추가
- 계층구조 표시