[STS 13]백엔드 :: 웹 백엔드 개발 기초

STS 13 시리즈는 백엔드 개발과 관련된 기초 과목으로 구성되어 있습니다.
본 시리즈에 대한 개요는 유투브 동영상 으로 볼 수 있습니다.

왜 배워야 하나요?

백엔드(Backend)는 웹의 보이지 않는 부분을 다루고 있습니다. 예를 들어 네이버나 구글의 보이는 화면이나 기능이 아니라 사용자 로그인을 처리하고 카페나 블로그의 글을 저장하고 검색하거나 쇼핑몰에서 결제시스템과 연동되어 전자지불을 처리하는등의 영역이 백엔드에 해당 합니다. 프론트엔드에도 많은 기술들이 있지만 백엔드는 상대적으로 더 정교하고 복잡한 업무를 처리하도록 설계되어 있어 보다 많은 프로그램언어에 대한 경험과 기술이 요구 됩니다.

단순히 웹 어플리케이션을 개발하는 관점에서 본다면 최근에는 프론트엔드 중심의 개발자들이 백엔드에 신경쓰지 않고 개발할 수 있도록 다양한 솔루션들이 등장하고 있어 과거와 달리 프론트엔드 기술만으로도 원하는 웹 어플리케이션을 개발하는 것이 가능해 졌습니다. 그러나 백엔드 자체가 없어도 되는것이 아니기 때문에 서버에서 이루어지는 복잡한 업무에 관심이 많고 풀스택(Full-Stack) 개발자를 꿈 꾼다면 당영히 백엔드 영역도 배워야 합니다.

무엇을 배우나요?

웹 서버와 서버에서 동작하는 웹 프로그램의 기본적인 구조와 클라이언트와의 상호작용HTTP 프로토콜의 세부 사항에 대해 배우게 됩니다. 백엔드 웹프로그래밍의 기본 구조인 MVC 패턴을 배우고 서블릿 기반의 Colntroller 개발 및 JSP(EL+JSTL) 를 이용한 View 개발을 배우게 됩니다. 또한 데이터 서비스 제공을 위해 JAX-RS 를 이용한 Rest Controller 개발도 함께 배우게 됩니다.

자바 웹 프로그래밍과 데이터베이스 프로그래밍을 배운 다음에는 고급과정으로 자바 기반의 오픈소스 프레임워크인 스프링프레임워크를 배우거나 경량의 백엔드 개발을 위해 node.js 를 배울수도 있습니다.

배운 다음에는?

짧굵배의 백엔드 과정까지 모두 배웠고 어느 정도 실무 개발에 도전 할 수 있게 되었고 서버 프로그래밍에 재미를 느낀다면 스프링프레임워크를 더 깊이 살펴보길 권합니다. 데이터베이스 개발을 도와주는 Spring Data JPA, Spring-Data-REST, 스프링프레임워크5 의 Reactive StackWeb Flux 등을 시작할 수 있을것입니다.

자바와 스프링프레임워크 기반의 무거운 백엔드 서비스가 아닌 node.js 기반의 가볍고 신속한 개발에 더 매력을 느낀다면 마이크로 서비스 아키텍처에 관심을 가지고 65만개 이상을 자랑하는 node.js 패키지들과 함께 다양한 백엔드 서비스 개발에 도전해 보면 좋을것입니다.