220218_파이널 프로젝트 중간점검

주형(Jureamer)·2022년 2월 18일
0
post-thumbnail

파이널 프로젝트 절반이 지나갔다!

지금까지 목표대비 얼마나 진행했는 지를 아래의 목차를 통해 정리 해 보고자 한다.

  1. 목표대비 진행상황
  2. 어려웠던 점
  3. 배웠던 점
  4. 앞으로 해야할 부분

1. 목표대비 진행상황

우리는 4주 안에, 카카오맵 API를 이용하여 Roadgram이라는 이름의

하루의 발자취를 사진과 글과 같이 공유하는 소셜 네트워크 서비스(SNS)를 만들고자 했다.

우리는 다른 팀과는 다르게 4명 중 백엔드에 3명이 지원하였고, 한 분만 프론트엔드를 지원하였다.

그래서 우리의 계획은 세 명이서 빠르게 서버 API를 짠 뒤, 프론트엔드로 넘어가서 같이 작업하는 것이었다.

우리가 최소한 구현하고자 하는 기능은 아래와 같고,

그 중 우리는 서버 쪽을 2주만에 대략 다 완성을 하였다.

1. 서버 API 작성 완료(90%)
2. UseGuard, AuthGuard를 이용한 인증 모듈

이제는 클라이언트 쪽으로 가서 React와 Redux를 이용하여 기능을 구현하려고 한다.

2. 어려웠던 점

아무래도 제일 어려웠던 점은 새로운 스택을 도전하기 위해 공부하면서 코드를 짜서 많은 오류를 맞닥뜨린 것이지만

코드 뿐만 아니라 프로젝트 전반적으로 까다롭고 어려웠던 것들을 몇 개 꼽자면 아래와 같다.


1. Typeorm으로 무한스크롤 구현(페이지네이션)
이 부분은 내가 잘 찾아보지 못해서 많이 헤맸었다. 무한스크롤을 대부분 limit과 offset으로 구현한 경우가 많았는데,
내가 짠 로직은 join이 많이 들어가있어서 limit과 offset으로는 내가 원하는 정보가 나오지 않았다.
그래서 더 찾아보니 take, skip을 이용하는 방법이 있었다. Typeorm으로 무한스크롤을 구현하기 위해선 limit, offset과
skip, take의 차이를 잘 알고 써야했다.

2. API 문서에 표기된 응답대로 구현
내가 백엔드로 로직을 처음 짜보다보니 이 부분에서 많이 미숙했다.
처음에 시도했을 땐 단순히 쿼리 혹은 Typeorm의 API로만 이용해서 응답을 깔끔하게 구현할 수 있을 줄 알았다.
허나 DB에서 가져오는 불필요한 정보들이(관계설정된 데이터 등) 많이 있었고, 이것은 ORM의 장점을 전혀 이용하지 못한 것이었다.
이후 ORM에 대해 좀 더 공부하고 익숙해져 이 부분을 해결할 수 있었다.

3. Git Merge Conflit
코드짜는 것보다 Git과 씨름을 하는 시간이 더 많다고 해도 과언이 아닐만큼 아직까지 Git은 까다로운 존재다.
매일 팀원들과 같이 Merge하는 시간을 갖는데 깔끔히 Merge가 되는 경우는 잘 없다. 가끔은 Github에서도 conflict를 해결하지 못해,
다시 Pull을 받아 충돌을 해결하고 다시 PR올리는 경우도 있다. 아마 이건 앞으로도 잦을 것이고 익숙해지는 방법밖에는 없다고 생각한다.

3. 배웠던 점

팀원들과의 소통의 중요성
개발자에게 코드짜는 스킬도 중요하지만 소통 기술도 그에 못지 않게 중요하다고 한다.
운이 좋게도 이번 팀원들이 소통도 다 잘되고, 성취욕도 있어서 우리 프로젝트가 순항하고 있다고 생각한다.
각자 개발을 하다가 안 풀리는 게 있을 때, 같이 얘기하면 어느 새 답이 찾아지기도 한다.

나도 예전에 개발자를 상상할 때 컴퓨터만 쳐다보고 코드만 치는 사람이라고 생각했는데, 날이 갈수록 그런 모습은 옅어지는 것 같다.

4. 앞으로 해야할 부분

이제 클라이언트 쪽으로 가서 개발할 예정이므로 또 배워야 할 새로운 것들이 많다.

1. React, Redux 다시 공부하기
이번에 DB 테이블도 그렇고, 페이지의 양도 꽤 돼서 내부적으로 Redux를 쓰기로 했다.
배울 당시에도 사실 완벽히 이해하고 쓰진 못했다고 생각한다. 그래도 First Project때 React를 하며 감을 좀 익혀놔서
다시 배우면 저번보다 빨리 배워서 쓸 수 있지 않을까 감히! 예상 해 본다.

2. 카카오맵 API 공부
우리가 지도에 연동하는 부분을 카카오맵 API로 구현하기로 했다.(네이버는 부분유료라서 포기했다!)




이제 남은 2주동안 또 많은 것들을 배우고 또 만들어가야한다.
지금까지 해왔던 것처럼 진행한다면 초기에 우리가 원했던 것의 60~70%(Basic)은 구현할 수 있지 않을까하는 희망을 가져본다.

profile
작게라도 꾸준히 성장하는게 목표입니다.

0개의 댓글