코드스테이츠에서 Session 3를 통과한 후 프로젝트에 돌입했다.
4인 1조로 진행된 2주간 프로젝트를 마무리했다.
나는 주로 서버 개발과 클라이언트 쪽의 State 관리 및 에러 핸들링을 담당했다.
프로젝트를 하면서 느꼈던 점을 회고하고자 한다.
제작 서비스
1. 서비스 개요
- 서비스명 : To Do List
- 설명 : 시간 관리와 목표 달성을 위한 스케줄러
2. 서비스 기능
- To Do List 와 Not To Do List 항목을 작성하고 시간을 계획
- 이후 항목에 대한 시간 사용을 기록하여 계획에 대한 피드백
- 시간사용 기록 및 계획대비 달성 정도를 차트로 확인 가능
담당해서 개발한 기능
1. 서버
- ToDoList/NotToDoList 항목을 DB에 저장하기 위한 모델(테이블) 제작
- ToDoList/NotToDoList 테이블의 각 항목에 대한 CRUD 컨트롤러
- 항목별 소요 시간을 계산하여 DB에 저장하는 컨트롤러
- 각 유저의 테마별 소요시간 합계를 연산 후 클라이언트에 전달하는 컨트롤러
2. 클라이언트
- ToDoList/NotToDoList의 CRUD용 페이지 기능 구현
- 차트 페이지 제작
- 위 페이지에서 최신 DB 정보가 화면에 즉시 렌더링 되도록 데이터 관리
- 의도된 데이터가 렌더링되도록 에러 핸들링
해결했던 기술 문제
1. 서버
- 테이블에서 조건에 맞는 필드의 합계를 구하는 컨트롤러를 Sequelize 문법으로 구현
- 각 필드의 데이터 타입을 바르게 설정하여 데이터 송수신 에러 해결
2. 클라이언트
- 콜백으로 비동기 요청의 순서를 통제 및 useEffect와 Ajax 요청으로 최신 DB 정보를 불러와 의도한 화면을 브라우저에 렌더링
- 페이지 재렌더링 시 DB에서 받은 데이터를 setState에 넣어주어 State 데이터 초기화 방지
- Axios 요청의 응답 데이터를 기존 배열에 push 메소드로 담을 수 없는 경우, 구조분해할당으로 데이터 수신
느낀 점과 피드백
1. 기술적 이슈에 대한 커뮤니케이션 방법
- Git Flow 및 기능에 대해서 논의할 때, 구두로는 합의했지만 서로 내용을 다르게 이해한 경우가 종종 있었음
- 기술적인 내용은 시각화된 내용으로 커뮤니케이션을 해야 오해를 줄일 수 있다고 느낌 (ex. 코드, 이미지 자료)
2. 가독성 있는 코드 작성
- 타인이 작성한 코드를 읽고 이해하는데 시간이 걸림 : 변수명을 센스있게 작성하는 것이 중요하다고 느낌
- 타인이 작성한 변수를 사용하다가 오타가 나는 경우가 많았음 : 변수명 작성시 규칙을 정하는 것이 필요하다고 느낌
3. 사전 기획의 중요성
- 기능 구현 과정에서 컨트롤러를 자주 수정하는 경우가 발생함 : 소요 시간을 줄일 수 있도록 사전 기획의 중요성을 체감
- 서버 제작 이후 클라이언트쪽을 구현하다 보니 마감 시간에 쫓김 : 역할을 나누어 서버/클라이언트 동시 구현 필요
- 추후 클라이언트 쪽에서 와이어프레임, UX Flow, 페이지, 컴포넌트, State 통한 데이터 흐름을 먼저 기획하기
- 서버 쪽은 사전에 스키마와 API 문서를 구체적으로 작성하기
'프로그래밍 > 생각노트' 카테고리의 다른 글
입사 후 첫 프로젝트를 하며 느낀 점 (개발 방법론, 생산성, 협업) (0) | 2022.11.21 |
---|---|
[코드스테이츠] 프론트엔드 특별 심화반 & 프로젝트 후기 (0) | 2022.01.16 |
[코드스테이츠] 4주 Final 프로젝트 회고 (0) | 2021.11.23 |
개발자로서 컴퓨터 과학의 중요성과 공부 비중 (0) | 2021.08.07 |
2달간 프로그래밍을 배우며 느낀 점 - 코드스테이츠 Section 1, 2 후기 (0) | 2021.07.20 |
댓글