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

poqw741님의 프로필 이미지
poqw741

작성한 질문수

쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]

연습문제로 풀어보기2 : 동적 웹사이트 이해와 크롤링

[REST API] data의 교환방식 질문

작성

·

576

1

- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)
- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다
- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

<동적 웹사이트와 크롤링> - REST API

안녕하세요. 강의 잘 듣고 있습니다.

REST API라고 하는 것이 데이터를 주고 받는 방법인 것은 알겠는데요. 이것이 프론트엔드와 백엔드의 데이터를 주고받는 방식이라고 이해하는게 좀 어려워서 부가설명을 부탁드립니다. 회사를 기준으로 이해하다보니 더 와닿지 않습니다. 제가 가끔씩 보는 사내의 IT개발은 JSP로된 2000줄 정도 되는 코드에 어떤 데이터가 필요하면, 데이터를 뽑는 쿼리를 데이터 베이스 담당하시는분한테 묻고 그 해당 쿼리를 집어넣고??하는 방식으로 하는 것 같은데, 제가 집에서하는 템플릿 코드 작성방식과와 다르지 않다고 이해해오고 있는데요.

규모가 큰 회사에서는 OPEN API 설명서처럼 백엔드에서DATA를 전달하는 방식을 구현해 놓는건가요?

그리고 한가지만 더 질문을 드리면, 제가 Flask 강의도 듣고 있는데요. 사실 백엔드와 프론트엔드의 차이를 잘 느끼지 못했습니다. 하나의 템플릿에 데이터를 넣어주는 역할까지를 백엔드가 하고 단지 프론트는 그 템플릿을 예쁘게 하는 역할을 하는것인가요? 만약 그렇다면 템플릿 상속도 있고, HTML CODE도 계속해서 변하는데 구분없이 혼자하는게 더 수월하겠다는 생각이 들어서요. 어떤 식으로 역할을 분배하고 일하는지 궁금합니다.

정말 좋은 강의 잘듣고 있습니다. 감사합니다!

답변 1

0

안녕하세요. 답변 도우미입니다. 말씀하신 REST API, 프론트엔드와 백엔드의 차이와 역할 분배에 대해 조금 큰 그림으로 상세히 설명을 드립니다. 참고가 되셨으면 좋겠습니다.

  1. REST API:

REST API는 프론트엔드와 백엔드 간의 통신을 위한 인터페이스입니다. 회사에서 JSP를 사용해 데이터베이스로부터 정보를 가져오는 방식은 전통적인 웹 애플리케이션 개발 방식입니다. 현대 웹 애플리케이션에서는 프론트엔드와 백엔드가 분리되어 개발되는 경우가 많습니다. 이 때, 백엔드는 REST API를 제공하며, 프론트엔드는 이 API를 사용해 데이터를 주고받습니다. 이렇게 하면 코드의 유지 관리가 쉬워지고, 개발 효율이 높아집니다. 규모가 큰 회사에서는 백엔드 개발자들이 API 문서를 작성하고, 이를 프론트엔드 개발자들이 참조하여 개발을 진행합니다. 이렇게 함으로써, 프론트엔드와 백엔드가 독립적으로 개발될 수 있습니다.

  1. 프론트엔드와 백엔드의 차이:

프론트엔드는 사용자와 직접 상호작용하는 부분으로, UI와 UX 디자인을 담당합니다. 프론트엔드 개발자는 HTML, CSS, JavaScript 등을 사용해 웹 페이지를 구현하며, 백엔드에서 제공하는 API를 사용해 데이터를 가져오거나 전송합니다. 백엔드는 웹 애플리케이션의 서버, 애플리케이션, 데이터베이스를 관리합니다. 백엔드 개발자는 데이터 처리, 비즈니스 로직, 인증, API 구현 등을 담당하며, 프론트엔드로부터 요청을 받아 데이터를 처리하고 결과를 전달합니다.

  1. 역할 분배:

규모가 큰 프로젝트에서는 백엔드와 프론트엔드 개발자가 서로 협업하여 작업을 진행합니다. 백엔드 개발자는 API를 구현하고, 프론트엔드 개발자는 이 API를 사용하여 웹 페이지를 구현합니다. 이렇게 역할을 나누는 기본 이유는 다음과 같지만, 가장 큰 이유는 프론트엔드와 백엔드 기술이 달라서, 각 개발자가 다르기 때문입니다.

  • 각 분야의 전문성이 요구되는 경우가 많기 때문에, 분업을 통해 개발 효율과 품질을 높일 수 있습니다.

  • 프론트엔드와 백엔드가 독립적으로 개발되면, 한 쪽의 변경이 다른 쪽에 미치는 영향을 최소화할 수 있습니다. 이를 통해 유지보수가 용이하며, 개발 과정에서 발생할 수 있는 문제를 줄일 수 있습니다.

  • 백엔드와 프론트엔드 간의 명확한 인터페이스(API)를 정의하면, 팀 간의 협업이 원활해집니다.

다만, 작은 프로젝트에서는 개발자가 백엔드와 프론트엔드를 동시에 개발하는 경우가 많습니다. 이를 풀스택이라고 하고요. 결론적으로, 프로젝트의 규모와 요구 사항에 따라 백엔드와 프론트엔드의 역할 분배와 개발 방식이 달라질 수 있습니다. 큰 규모의 프로젝트에서는 역할을 나누어 전문성을 활용하고 협업을 원활하게 진행하는 것이 좋습니다. 작은 규모의 프로젝트에서는 개발자가 백엔드와 프론트엔드를 동시에 개발하는 것이 효율적일 수 있습니다.

감사합니다.

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

상세한 설명 감사드립니다.

poqw741님의 프로필 이미지
poqw741

작성한 질문수

질문하기