백엔드(프로그래밍)

덤프버전 :




1. 개요
2. 필요한 기술
3. 백엔드 = 관리자 페이지?



1. 개요[편집]


Back-end. 웹 프로그래밍의 한 분야. 반대말은 프론트엔드.

백엔드 개발자는 프론트엔드, 백엔드의 완전한 분리 구조를 지향하는 업무 스타일의 개발 방식으로 백엔드의 DB와 API 서버 개발을 맡는다. 이와 다른 방식의 업무 스타일 직군으로는 웹퍼블리셔(UI 개발)와 개발자(서버 개발자)의 업무 분리 방식이 있다. 이 경우는 주로 서버사이드가 클라이언트를 감싸는 방식이고, 전반적인 비지니스 로직은 개발자가 맡는다. MVC에서 Model, Controller가 백엔드의 소관이다.


2. 필요한 기술[편집]


백엔드 개발자는 기존 개발자라 불리는 스펙과 방식이 약간 다르다. 프로그래밍, 데이터베이스, 웹 서버, 네트워크, 인프라 등에 대한 기술이 필요하다.

백엔드 개발은 API 개발이 주가 된다. 프론트에서 요구하는 데이터의 포맷이나 데이터베이스 입출력 및 다양한 비즈니스 프로세스를 코드로 구현하고 이를 위한 DB를 설계하고 백엔드 프레임워크를 이용하여 앱을 구현하는 것이 주요 업무다. 여기에 백엔드 프레임워크와 프론트엔드 서버를 이어주는 서블릿, WSGI 등의 미들웨어 기술도 필요하다. API 명세를 설계하고 실제 배포 단계에서 최대한 문제가 발생하지 않도록 체계적으로 구성하는 능력도 필요하다.

핵심은 DB에 담겨진 정보를 프론트엔드에서 활용할 수 있도록 여러 API들을 개발하는 것이 핵심이라고 볼 수 있다. 백엔드와 프론트엔드를 모두 다룰 줄 아는 개발자를 일컬어 풀 스택 개발자라고 한다.

위 서술은 웹개발 위주로만 설명되어 있지만 시스템 프로그래밍에서도 크게 다르지는 않다. 결국 '인터페이스'라는 것은 서로 다른 애플리케이션을 이어주는 가교 역할을 하는 것이므로 본질적으론 동일하다. 차이가 있다면 웹 개발에서는 최종적으로 구현된 API들을 Vue.js나 React 같은 프론트엔드 프레임워크가 사용하는 것이고 시스템 프로그래밍에서는 다른 프로그램이 사용할 뿐이다. 백엔드는 거기에 필요한 데이터를 DB에서 꺼내고 JSON 또는 XML 형태의 표준 데이터 포맷으로 잘 보내주기만 하면 된다.


3. 백엔드 = 관리자 페이지?[편집]


프로그래밍에서 이야기하는 백엔드의 정의와 달리, 제안 또는 기획 단계에서 백엔드는 관리자 페이지를 이야기하는 경우도 있다. 하지만 관리자 페이지마저도 백엔드, 프론트엔드가 분리될 수 있는 소프트웨어이기 때문에 매우 잘못된 용례이다. 사용자에게 노출되지 않는 부분인 만큼 관리자 페이지가 프론트엔드에 소홀할 수는 있지만, 그렇다고 해서 백엔드가 관리자 페이지는 아니다.


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-30 07:25:36에 나무위키 백엔드(프로그래밍) 문서에서 가져왔습니다.