인프런 커뮤니티 질문&답변

dionisos198님의 프로필 이미지
dionisos198

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

프로젝트 생성

localhost8080과 관련된 질문

작성

·

453

0


[질문 템플릿]
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예

[질문 내용]
저 혼자 개발할 때는 localhost:8080 과 postman에서 API를 사용해 본다는 것까지 이해했습니다.

만약 안드로이드 개발자와 협업을 합니다.

그러면 그 사람도 개발 과정에서 api를 호출해서 받아올텐데 제가 만든 api를 어떻게 가져오나요??

대부분 개발 과정에서 어떻게 하나요?

답변 1

0

안녕하세요. dionisos198님, 공식 서포터즈 y2gcoder입니다.

앱 개발자와의 협업 시 어떻게 하는 지에 대해 질문해주셨습니다. 좀 더 넓게 보자면 앱 개발자 뿐만 아니라 프론트엔드 개발자와 협업할 때 보통 어떻게 하는 지에 대해 질문해주신 것으로 이해할 수 있을 것 같습니다.

기본적으로 백엔드 개발자 입장에서 REST API를 이용한 서버를 만들었다고 가정하겠습니다. 그러면 여러 가지 방법이 있을 것 같습니다.

제일 먼저 회사에서 개발 서버를 지원해준다면 개발 서버에 실제로 만든 서버를 올리고 프론트엔드 개발자에게 해당 서버에 접근할 수 있는 API endpoint를 제공해주는 것입니다.

두 번째로는 회사 내 내부망을 이용하는 방법입니다. 로컬에서 서버를 실행한 뒤, 같은 내부망 을 사용하는 프론트엔드 개발자에게 접속 IP 와 API 엔드포인트를 제공하는 방식입니다. 혹은 localTunnel이나 ngrok 등을 이용해서 백엔드 개발자의 컴퓨터에 외부에서 접근 가능한 통로를 열어줄 수도 있을 것 같습니다.

세 번째는 조금 특수한 경우인데, 프론트엔드 개발자의 로컬 환경에 백엔드 개발 환경을 구축해주는 것입니다. 로컬에서 실행할 수 있게 만들고, 실행하는 법을 가르쳐준 후에 직접 필요할 때마다 로컬에서 실행하고 localhost:8080 등의 루프백 ip를 이용해 서버에 접근하는 방식입니다. 이는 본인이 서버 개발 뿐만 아니라 프론트엔드나 앱을 동시에 개발할 때 편하게 할 수 있는 방법이라고 생각합니다. 제가 앱 개발 했을 때 이 방법을 사용했던 것 같습니다.

그 외에도 제가 모르는 여러가지 방법이 있을 수 있습니다.

감사합니다.

dionisos198님의 프로필 이미지
dionisos198
질문자

친절한 답변 감사합니다만 한번만 더 물어봐도 될까요?

동아리 차원에서 진행하는 프로젝트 이므로 따로 서버 지원은 없구

그러면 localTunnel 혹은 ngork를 사용하는 것이 거의 정석이라고 보면 될까요??

혹시 배포까지 하는 게 목적이시라면 운영으로 사용할 서버에다가 직접 올려보시면 좋은 경험이 되실 거라 그쪽으로 추천하고 싶습니다!

그리고 AWS로 올리신다면 처음 가입한 계정에 프리티어라고 하여 AWS 의 서버를 포함한 다양한 자원들을 무료로 제공해주는 옵션이 있어서 돈도 딱히 들지 않는다고 생각합니다 :)

AWS 이외에 다른 클라우드들도 아마 비슷한 혜택을 갖고 있을 거라 생각합니다.

그렇지 않다면 말씀하신 것처럼 로컬 컴퓨터에서 여는 것도 괜찮은 방법입니다 :)

dionisos198님의 프로필 이미지
dionisos198
질문자

배포까지 하는게 목적이긴 합니다. 결국 AWS 서버에 올리긴 할 것인데

단순히 API 통신 테스트를 위해서 AWS를 사용해야 하나요?

그렇게 하면 백앤드가 뭐 만들고 나서 .jar 파일 다시 빌드 해가지고 과정이 귀찮아 지지 않나요?

다 그렇게 하나용?(마지막 질문입니다 ㅠㅠ)

음 저는 로컬에서 서버 실행하는 것과 개발 서버에 띄우는 것에서 발생하는 귀찮음이 다르다고 생각합니다.

로컬에서 서버를 킨다고 하면 아마 프론트엔드 개발자 분이 요구하거나 제가 컴퓨터를 재부팅한다면 그때마다 서버를 켜줘야 하는 지속적인 귀찮음이 있을 것 같습니다. Jar를 실행하는게 아니라 IDE에서 실행하는 것이라면 제가 하던 작업을 멈추거나 최악의 상황에서는 정상적인 서버 실행을 위해 제가 하던 작업을 다시 돌려놔야할 수도 있을 것 같습니다.

개발 서버를 운영한다고 하면 아마 처음에 배포하기까지가 좀 귀찮은 과정이 많을 것 같습니다. 배포에 대해 전혀 모르신다면 아마 러닝커브도 있을 것이고, 시행착오를 거칠 수 밖에 없을 것 같습니다.

저는 위의 두 경우를 가정하고 좀 더 제가 덜 귀찮은 방향으로 선택할 것 같습니다 :) 지극히 개인적인 의견이니 걸러들어주시면 감사하겠습니다!

dionisos198님의 프로필 이미지
dionisos198

작성한 질문수

질문하기