상권's

TIL 57 (복습) 본문

~2022 작성 글/TIL

TIL 57 (복습)

라마치 2022. 2. 10. 21:10

* 앞 서 학습했던 내용을 복습하기 위해 질문과 답변 형태로 작성했습니다. 질문에 대해 개인적으로 이해하고 작성한 답변이기에 내용이 빈약하거나, 오류가 있을 수 있다는 점 양해 부탁드립니다.

 

MVC 패턴에 대해서 설명해주세요.

MVC 패턴이란, 소프트웨어 디자인 패턴 중 하나로 관심사 분리를 통해 소프트웨어의 비지니스 로직과 화면을 구분한 것입니다.  MVC는 Model, View, Controller를 의미합니다. 먼저 모델은 데이터베이스와 연결되어 엡의 데이터를 나타냅니다. 뷰는 사용자에게 앱의 데이터를 보여주는 방식을 정의합니다. 마지막으로 컨트롤러는 앱의 사용자로부터 입력에 대한 응답으로 모델 및 뷰를 업데이트하는 로직을 포함합니다. 

 

추가 : 저희 북담 프로젝트도 MVC 패턴으로 설계되었습니다. 리액트를 통해 뷰를 구현하였으며, node.js와 express를 통해 컨트롤러를, mysql, sequelize를 통해 모델을 구현했습니다.

 

CSR과 SSR의 개념적 차이와 동작 방식을 구분하여 설명해주세요.

SSR은 Server Side Rendering의 줄임말로, 웹 페이지를 브라우저가 아닌 서버에서 렌더링하는 방식입니다. 브라우저가 서버의 URI로 GET 요청을 보내면, 서버는 정해진 웹 페이지 파일을 브라우저로 전송합니다. 그리고 서버의 웹 페이지가 브라우저에 도착하면 완전히 렌더링됩니다.

CSR은 Client Side Rendering의 줄임말로, SSR와는 반대로 클라이언트에서 페이지를 렌더링합니다. 브라우저의 요청을 서버로 보내면 서버는 웹 페이지를 렌더링하는 대신, 웹 페이지의 골격이 될 단일 페이지를 클라이언트에 보냅니다. 이때 서버는 웹 페이지와 함께 JavaScript 파일을 보내는데, 클라이언트가 웹 페이지를 받으면, 웹 페이지와 함께 전달된 JavaScript 파일은 브라우저에서 웹 페이지를 완전히 렌더링 된 페이지로 바꿉니다.

 

SSR은 검색 엔진 최적화가 우선 순위일 경우 이용되며, 웹 페이지의 첫 화면 렌더링이 빠르게 필요할 경우와 웹 페이지가 사용자와 상호작용이 적은 경우 사용할 수 있습니다.

반면 CSR은 검색 엔진 최적화가 우선순위가 아닐 경우 이용할 수 있으며, 사이트에 풍부한 상호 작용이 있을 경우 사용할 수 있습니다. 

'~2022 작성 글 > TIL' 카테고리의 다른 글

TIL 59 (북담 서버 리팩토링2)  (0) 2022.02.13
TIL 58 (북담 서버 리팩토링1)  (0) 2022.02.12
TIL 56 (복습)  (0) 2022.02.09
TIL 55 (복습)  (0) 2022.02.06
TIL 54 (복습)  (0) 2022.02.04
Comments