배포때문에 탈모오기 직전, 스터디를 주최해주신 백엔드 개발자 분과의 연을 통해 현재 웹 토이 프로젝트를 진행하며 궁금했던 모든 것들을 물어보았다.
개발 순서, Front/Back의 역할, 코드 스타일, 배포 방법까지
그래서 짧은 시간내에 많은 것을 느끼고 배우고 깨우친 것들을 정리하고자 한다.
배포에는 방법이 정말 다양하다. 나열은 못하겠지만 정말 다양하다고 하셨다.
일단 나는 배포를 처음하는 단계이므로 AWS EC2 instance에 putty로 접속하여 진행중인 프로젝트의 github 레포지토리를 git clone해서 build하고 jar파일 실행시키는 것으로 배포를 해보기로 하였다.
그 후, CORS 에러 + 무료 도메인 구매 + HTTPS 설정을 공부하기로 했다.
번외: ubuntu는 linux의 자식이라고 생각하자.
이 또한 방법이 다양하고 정답이 없는 분야이다.
지인의 경우에는
1. 기획 및 디자인
2. ERD 설계
3. CI/CD 및 Spring Setting(JDK ver, Lombok 등..)
4. API 나누어 개발
현재 진행중인 프로젝트의 개발 순서와 거의 같아서 이 부분은 조금 놀랐다.
번외: API 설계 및 개발에 있어서 감이 안온다.
Spring Restful API
예제나 강의를 공부해보자.
공식문서 말고
백엔드를 같이 진행중인 친구와 나는 코드 스타일이 약간씩 다르다.
이에 대해서도 여쭈어보니, 상황에 따라 코드 스타일 별 장/단점이 다르니 직접 경험해보는 것이 최고라고 하셨다.
어떤 상황에서는 친구의 코드가, 어떤 상황에서는 내 코드가 단점보다 장점이 많을 것이다.
만약 코드 스타일이 부딪힌다면 서로 코드에 대해 이런 상황에 대해 이러한 단점이 있을 것이다
라는 이야기를 통해 더 나은 방향으로 조율하는 것이 중요하다는 말씀이시다. 물론 상황에 따른 장단점을 알기 위해서는 두 코드를 모두 사용해보고 직접 경험해보면 바로 알 수 있다.
단점의 예 -> 버그 발생 가능성, 가독성, 유지보수 등
따라서 내가 여유가 된다면 친구의 코드를 따라서 짜보며 어떠한 장단점이 있는지 직접 공부하는 것이 best라고 하셨다.
하지만, 아직은 코드 스타일에 대해 고민하기보다 개발 및 배포를 우선시 하고 개발에 있어서 눈을 뜨게 되고 코드 스타일에 대해 공부해보고 싶다라고 하면 그때 공부해도 괜찮다고 하셨다.