개요

저번 시간에 이어 스프링부트를 본격적으로 배우기 전 필요한 배경지식들에 대해 설명합니다.

프론트엔드와 백엔드는 현재에 정착화된 웹 개발 분야입니다. 이러한 구분이 생긴것은 그리 오래되지 않았습니다. 또한 현재에도 여러 기술들의 발전으로 인해 구분이 모호해지거나 새로운 방식의 역할구분이 생기고 있습니다. 이 글에서는 프론트엔드와 백엔드, 두 구분으로 설명합니다.

SPA와 MPA는 웹 서비스를 제공하는 두 패러다임입니다. 이 방식들은 HTML 렌더링을 클라이언트 측에서 하느냐, 서버 측에서 하느냐를 기준으로 나뉩니다. 이 구분으로 인하여 프론트엔드 개발자와 백엔드 개발자가 하는 일이 바뀌며, 백엔드 개발에 있어서는 어떤 값을 반환해야 하나 역시 달라져야합니다.

이후에는 HTTP 에 상태를 부여하는 기술인 Session과 Cookie에 대해서 알아보겠습니다. 이들의 특징을 알아보고, 한계점을 알아보며 이를 해결하기 위한 기술도 짚고 넘어가겠습니다.

스프링과 스프링부트에 대한 내용도 다뤄볼 것입니다. 스프링은 어떤 프레임워크인지, 스프링부트는 무엇인지 알아보고 이를 사용한 프로젝트를 생성해 볼 것입니다.

프론트엔드와 백엔드

프론트엔드

역할

프론트엔드는 웹개발에 있어서 사용자와 맞닿는 영역의 개발을 의미합니다. 주로 웹브라우저에서 실행되는 코드와 마크다운을 만드는 역할을 합니다.

  1. HTML와 CSS를 통하여 서버에서 받아온 데이터를 사용자가 쉽게 볼 수 있게 나타냅니다. 이 과정에서 재사용 가능한 웹 요소를 분리하고, 브라우저의 화면이나 기기 등이 다를때도 사용자가 유사한 경험을 할 수 있도록 반응형 웹을 만듧니다.
  2. 화면을 조작합니다. 사용자의 이벤트에 따라서 dom element를 조작하여 사용자가 웹을 사용할때에 편의성을 주고 좋은 사용자 경험을 제공하기 위해 노력합니다.
  3. api를 사용해 사용자의 작업을 서버로 전달하고, 변경된 내용을 다시 받아와 사용자에게 화면으로 제공합니다. api를 사용하기 위해서 백엔드 서버에 요청을 하며, 이 과정 전에 validation 등의 작업을 거칩니다.

기술

특징