깃헙 링크 : https://github.com/codestates-seb/seb43_pre_002
GitHub - codestates-seb/seb43_pre_002
Contribute to codestates-seb/seb43_pre_002 development by creating an account on GitHub.
github.com
4/27일자로 pre project가 끝이났다. 2주짜리 프로젝트였는데 뭔가 굉장히 얼렁뚱땅 금방금방 시작하자마자 끝이난거 같은 느낌이 든다. 배포까지 완료하기는 했는데, 완전 깔끔하게 프로젝트가 마무리 되지는 못한 것 같다.(특히 view count..)
그래도 처음 한 그룹 프로젝트였는데 그룹 프로젝트가 어떻게 진행되고 협업이 어떻게 진행되는지 약간의 감을 잡은 듯한 느낌이 든다.
사전작업 회고(사용자 요구사항 정의서, 화면 정의서, API 명세서 작성)
이미 완성이 되어있는데 웹사이트를 클론하는 프로젝트였는데도 생각보다 사전에 해야할 일이 많았던 것 같다.
팀프로젝트가 처음이기도 하고, 기획을 하는것도 처음이어서 그런지 사전작업 과정에서 어떻게 진행해야하고, 무엇을 먼저 기획하고 작성해야 하는지 헤멘 것 같다. 사용자 요구사항 정의서의 내용이 하나둘씩 빠진 것도 있고, 처음 기획한 화면정의서도 프로젝트를 진행하면서 조금씩 수정되었는데, 실제로 현업에서도 이렇게 기획을 조금씩 수정하면서 진행되는지 궁금해졌다.
처음에 API 명세서를 제대로 작성하지 않아서 끝날 때 쯤 발생한 오류를 제대로 고치지 못하고 배포를 해야했다. request body나 response body의 뼈대를 시작할 때 제대로 작성해놓고, 미리미리 테스트하면서 필요한 데이터를 추가하거나 제거하는 작업을 최대한 빨리 진행해야 due day가 다가왔을때 우왕좌왕 하지 않을수 있을 것 같다.
코드스테이츠 추천 세팅으로 eslint와 prettier를 사용하여 코드 컨벤션을 맞추라고 되어있어서 적용하고 시작했는데, 굉장히 잘한 선택이었던 것 같다. git에서 branch를 merge할 때 띄어쓰기 하나, 탭 들여쓰기로도 conflict가 생기기도 하는데, 코드 컨벤션을 맞추지 않고 했으면 쓸데없는 conflict가 얼마나 많이 생겼을지 생각만해도 소름이 돋는다.
UI 및 기능 구현 회고
우리팀 같은 경우 simple is best 마인드로 필요없는 부분은 최대한 배제하고 CRUD만 집중해서 만들기로 해서 실제 stackoverflow 사이트와는 좀 많이 다르게 클론코딩이 되었다. 어쨋든 주요 목표는 로그인 기능과 CRUD 구현이라고 생각해서 어느 정도는 목표달성을 한 것 같다. 마지막에 전체질문조회에 작성자 정보가 없어서 우회적으로 작성자를 화면에 표시한 것 말고 나머지는 괜찮게 기능 구현이 된 것 같다.
그룹 프로젝트이긴 한데 파트를 딱딱 나누어서 구현을 해서 그런지 프론트엔드 팀원끼리 상호작용을 하는 일은 거의 없었던 것 같다. 그냥 어떤 버튼 클릭시 해당 페이지로 이동하는 정도? 로만 연결이 되고 팀원들이 다 맡은부분 구현을 잘해서 그런건지 몰라도 코드적으로 연결될 일이 거의 없었다. 전역으로 관리할 상태도 사실상 로그인 상태 정도 뿐이라서 시작할 때 모여서 GlobasStyle 정하는 것이나 App.js에 Router 정하는 것 외에는 각자 맡은 부분을 코드 작성하고 모여서 merge 하고, 화면 보면서 피드백 조금 하는정도? 였는데 코드 리뷰같은것도 해야하나 라는 생각이 있었는데 시간이 빡빡해서 그럴 여유는 없었던 것 같다.
프론트끼리보다는 백엔드 질문관련 데이터를 담당한 분과 여러가지 이야기를 나누었는데, 내가 맡은 부분에서는 전체 질문조회와 질문 작성 POST 요청만 보내면 되어서 별 무리없이 진행이 되엇던 것 같다.
내가 맡은 기능 구현은 전체 질문을 조회하여 화면에 나타내는 것과 질문 작성 페이지였는데, 이전에 했던 todolist에서 해 본적이 있어서 그런지 어렵지 않게 기능을 구현한 것 같다. 약간 복습하는 느낌이었다.
페이지네이션을 구현할 때 stackoverflow처럼 조건에 따라 여러가지 방식으로 페이지네이션이 되도록 구현을 하려고 하니까 edge case가 꽤 많이 나와서 이것저것 해보느라 조금 오래 걸렸다. (약간 알고리즘 문제푸는 느낌이었다..)
후기?
프리 프로젝트를 진행하면서 가장 많이 배운건 git 사용법인 것 같다. 사실 프로젝트 시작할 때 가장 걱정한 부분도 git이었다. 이전까지는 commit, push만 할 수 있었는데, 혹시 내가 잘못해서 팀원들 코드를 날려버리면 어떻하지라는 생각을 많이 했던것 같다. 프로젝트를 진행하면서 branch, merge, revert, rebase 등등 여러가지를 배울 수 있었고 이런것들이 앞으로도 꽤 도움이 될 것 같다.
프로젝트 기간이 짧아서 핵심기능만 구현했는데, 뭔가 구현해봤던 기능을 다시 구현하는 느낌이라 약간의 아쉬움도 있었던 것 같다. 이렇게 복습하면서 익히는 것도 좋지만 좀 더 뭔가 안해본 걸 해보면서 내가 구현할 수 있는 부분을 확장하는 것도 좋았을텐데 라는 생각이 들었다.
일정이 빡빡해서 코드 리뷰 같은 것을 못해본 것도 조금 아쉬운 것 같다. 다같이 코드를 보면서 토론? 같은것도 다음에 해 보고 싶다.
아, 그리고 블로그쓰면서 생각한 것인데 프로젝트 중간중간에 기록을 남겨둬야 할 것 같다. 기억에 의존해서 블로그나 회고를 작성하려고 하니까 어려운 것 같다. 처음에는 자주자주 블로그를 작성하려고 했는데, 그건 좀 힘들거 같아서 매일매일 기록이라도 남겨서 블로그 쓸 때 사용해야 할 것 같다.
이제 바로 메인 프로젝트를 시작하는데, 이번에는 주어진 웹사이트가 있는것이 아니라서 기획부터 난관이 펼처질 것 같다.. 약간 걱정되기도 하지만, 그래도 기대가 좀 더 큰 것 같다. 사실상 내 이력서의 메인 무기(?)가 될 것 같은데 잘 해나갔으면 하는 바람이다.
'코드스테이츠' 카테고리의 다른 글
메인 프로젝트(2) (0) | 2023.05.11 |
---|---|
메인 프로젝트(1) 시작! (0) | 2023.05.04 |
pre-project 기능완성, 배포 (0) | 2023.04.29 |
pre project 기능 구현 (0) | 2023.04.23 |
pre-project 사전 작업, UI 만들기 (0) | 2023.04.19 |
댓글