순간을 기록으로

[pre-project] 오늘 마주친 어려움들 본문

회고

[pre-project] 오늘 마주친 어려움들

luminous13 2022. 8. 25. 01:06

 

첫 번째 어려움. 사용자 요구사항, 테이블 명세서, API 명세서, 화면 정의서를 만들었지만 정확하다고 말하기 어려웠다. 교육해주신 분도 결국 개발하면서 바뀐다고 말씀해주셔서 일단은 큰 의미를 두지 않고 문서화를 했다.

 

두 번째 어려움. 그 다음에는 프론트와 백엔드 API 테스트 통신을 해야 했다. API 통신을 하려면 프론트엔드에서 요청을 보내면 서버가 요청을 받아 처리한 다음에 응답을 보내줘야 한다. 그래서 localhost를 외부로 공개하여 프론트엔드에서 요청을 보낼 수 있도록 만들었다. 

 

내가 생각했던 방법은 하나의 테스트 컨트롤러를 가지는 스프링부트를 jar로 만든 다음에 로컬 pc에 실행한 다음 그것을 외부로 공개하는 것이었다. 그러면 프론트가 요청을 해당 컨트톨러로 보낼 수 있고 응답값을 확인할 수 있다고 생각했다 그리고 이 생각을 가지고 프론트분들과 얘기를 해보니 사실 소통이 잘 안 되었다. 서로의 생각이 달랐기 때문이다.  프론트 분들은 프론트에서 만든 프로젝트를 백엔드가 스프링 부트 프로젝트 안에 넣고 실행하는 것을 생각하신 것 같다. 물론 마지막 배포할 경우에는 이렇게 해도 될듯한데 개발 과정에서 테스트를 하고 싶다고 하면 이 방식이 맞을까 생각이 든다. 그 과정을 진행하면 시간이라는 비용이 많이 들 것 같기 때문이다. 프론트와 백엔드의 테스트 통신을 할 수 있는 방법을 찾아봐야겠다.

 

세 번째 어려움. 깃헙의 레포지토리의 디렉토리 구성을 어떻게 해야 될까? 프론트 프로젝트와 백엔드 프로젝트를 올려야 되는데. 각각의 디렉토리에 올려야 될까? 하니면 하나의 레포지토리에 올릴 수 있을까? 만약 하나의 레포지토리에 두 프로젝트를 올린다면 어떻게 해야 좋은 방법일까? client 디렉토리와 server 디렉토리를 만들어 그 안에 프로젝트를 넣으면 될까? 프로젝트를 넣을 떄 루트 프로젝트까지 포함해서 넣어야 할까? 정말 많은 고민이 들었다. 

 

네 번째 어려움. 브랜치 전략을 어떻게 해야될까? 지금까지는 사실 혼자 프로젝트했을 때 브랜치를 거의 사용하지 않았다. 원격 저장소를 포크해서 내 원격 저장소를 만든 다음 내 원격 저장소를 클론해서 개발을 진행하고 기능이 완성되면 커밋을 하여 내 원격 저장소에 올리고 PR을 보내는 식으로 개발했다. 하지만 지금은 다 같이 협업하는 상황에서 브랜치를 관리해야 한다. 그래서 브랜치 전략을 잘 선택하고 사용하는 방법을 배워야 할 듯하다.

 

하루 종일 머리가 지끈 해지는 이유는 내가 모르기 때문이고 모르면 배우면 된다. 한 번 제대로 이해하고 습득하면 그 이후에는 빠르게 성장할 수 있다고 생각한다. 잘하고 있는지에 대한 의심과 불안감을 인정하고 현재 내가 해야 될 일에 집중하려 노력하고 있다. 

 

오늘 새벽에 글을 쓴 이유는 오늘 생각했던 이 고민들이 머릿속에 날아가기 때문에 글로 남겨 나중에 또 보고 싶었다. 지금 글을 쓰면서 드는 생각은 글을 쓰기 전에는 머리가 아파왔는데 머릿속의 생각들을 글로 작성해보니깐 무거웠던 머리가 한결 가벼워지는 느낌이 든다. 앞으로 생각이 많아질 때마다 글을 작성해야겠다.

 

 

 

Comments