4주간 프로젝트 surfers를 진행하며 React Native, TypeScript 등 새로운 스택을 적용하여 개발을 진행해보았다. 그리고 외부 API를 이용하기 했다.
프로젝트를 마무리하며 든 생각과 아쉬운 점에 대해 정리를 해봐야겠다.
서핑 모임 방을 만들기 위해 해당 날씨에 대해 미리 알려주고 모임주최자가 서핑을 할 수 있는 날씨인지 확인 한 뒤 모임방을 만들 수 있도록 해야했다.
기상청에서 제공하는 API, 유료API에서 제공하는 무료 API 등이 있었는데 기상청에서 제공하는 API의 종류가 생각한 것 보다 많았고(22종류) 다른 API 제공하는 곳도 많아 어떤 API를 선택해야하는지 판단이 어려웠다. 날씨예보에 대한 이해가 높지않아 API문서를 읽어보았을 때도 정확히 판단이 서지 않았고 프로젝트 기간에 쫓겨 우선 몇몇 API를 신청을 한 뒤 사용허가가 되기 전 개발진행을 했다. 그리고 유료 API에서 제공하는 무료 날씨 API는 서비스를 종료했고 유료 API는 우리가 감당하기에는 금액이 비쌌다.
그리고 신청이 허가된 API의 응답을 받은 data는 원하는 data가 아니었고 여러모로 우왕좌왕거렸었다.
이러한 경험을 하고나니 개발을 진행하기 전 기획단계에서 사용하게 될 외부 API에 대한 충분한 조사(원하는 data가 응답으로 오는지, 비용은 어떤지, 응답값을 가공할 계획 등)를 한 뒤 기획아이템을 선정한다던지 개발을 진행해야 함을 느꼈다.
프로젝트 발표 후 내 코드가 정리가 덜 되어 있다고 생각했다.
TypeScript에서 type을 정해주는 것이 미숙해 any를 남발하기도 하고 public / private에 대한 구분도 하지 않았고 ReactNative에 대해서도 더 많은 공부가 필요하다고 느꼈다.
하지만 써보지 않은 스택에 대한 막연한 두려움을 가졌었지만 시도해보고 하나씩 진행해갔었다는 것에 뿌듯함을 느꼈고 부족한 부분은 계속 공부과 코드작성 또는 사이드 프로젝트를 통해 채워나가야겠다.
처음에는 Redux를 꼭 사용해보고싶었다. TypeScript와 ReactNative를 하면서 Redux가 후순위로 밀리고 프로젝트 일정에 맞추지 못해 사용하지 못한 점이 매우 아쉬워 개인 프로젝트에서 꼭 사용해 보고싶다.
setting 페이지에서 수정값을 제출 후 value값을 비우지 못했는데 이 것은 개인 프로젝트를 하며 server응답을 받은 후 state값을 수정하는 것을 알게 되었다. 하지만 아직 프로필의 이미지 수정에 대해서는 공부가 더 필요하다.
나의 코드에만 집중하고 전체적인 코드흐름을 완벽히 보지못했다고 생각한다.
프론트에서는 팀원이 만든 페이지에서 내가 만든 페이지로 전환되었을 때, 내가 만든 페이지가 팀원이 만들 페이지로 전환했을 때 좀 더 작업하기 좋게 data를 보내준다던지, 또는 코드리뷰나 회의를 통해 어떻게 data를 server로 보내야 할지에 대해 정하고 그에 맞게 보내긴 했지만 더 나은 방법을 생각해내고 팀원과 의견을 나누며 코드진행을 했으면 어땠을까하는 아쉬움이 남기도 했다.
생각했던 것보다 프로젝트기간이 짧으며 아직 배우고 익혀야 할 것들이 많다고 느꼈다.
코드를 보는 시야가 더 넓어져야 하며 새로운 스택을 익히는 기간을 줄이고 싶다고 생각했다.
꾸준한 공부와 반복적으로 코드를 쓰면서 차근차근 실력을 늘여야 겠다.