웹 프론트엔드 : 웹을 통해서 사용자에게 문서, 동영상, 사진 등의 다양한 콘텐츠를 제공한다. 또한 사용자의 요구사항에 반응해서 동작한다.
▷ 웹 콘텐츠를 잘 보여주기 위해 구조를 만들어야 한다(신문이나 책처럼 일관된 글자 크기, 적절한 배치, 헤드라인의 크기 등 표현해야 할 내용이 잘 구분되도록). : HTML의 역할
▷ 적절한 배치와 일관된 디자인 등을 제공해야 한다(보기 좋게). : CSS의 역할
▷ 사용자 요청을 빠르게 잘 반영해야 한다(소통하듯이). : Javascrpt의 역할
★ HTML(HyperText Mark-up Language) : 문서의 구조를 프로그래밍 언어로 표현할 때 사용한다.
★ CSS(Cascading Style Sheet) : 웹페이지를 꾸미기 위해서는 각각의 HTML 태그(문서의 구조를 표현한 각 조각 단위)를 꾸미기 위한 규칙이 필요하다. CSS는 이를 표현할 수 있는 프로그래밍 언어다.
★ JavaScript : HTML, CSS를 움직이고 변경하는 동적인 제어를 맡는다.
▷ 프론트 엔드(Front-end)가 프로그램의 앞쪽, 클라이언트의 입장에서 개발을 진행한다면 백 엔드(Back-end)는 프로그램의 뒷 부분쪽, 즉 서버 입장에서 개발을 진행한다.
▷ 프론트 엔드를 다른 말로 *클라이언트 사이드(Client side)라고 말한다면, 백엔드는 **서버 사이드(Server side)라고 말한다.
백엔드 개발자에게는 문제를 해결할 수 있는 능력이 필요하다. 그렇기에 알아야 한다.
▷ 프로그래밍 언어를 한 가지 정도는 잘 알아야 한다(JAVA, Python, PHP, Javascript 등).
▷ 프로그램 언어뿐만 아니라 컴퓨터 전반적인 것, 그 중에서도 웹 동작 원리에 대해 알고 있으면 도움이 된다.
▷ 문제를 해결하기 위해서는 알고리즘(algorithm), 자료구조 등 프로그래밍 기반 지식에 대한 이해가 필요하다.
▷ 만들어진 프로그램은 보통 서버에서 설치 되어 동작한다. 서버로 자주 사용되는 리눅스 같은 운영체제나 네트워크에 대한 이해가 있으면 좋다.
▷ 반제품이라고 불리는 프레임워크들에 대한 이해가 있으면 좀 더 쉽게 개발이 가능하다. (예 : Spring)
▷ 많이 사용되는 데이터들을 쉽게 관리하기 위해 DBMS에 대한 이해와 사용방법이 필요하다. (예 : MySQL, Oracle 등)
클라이언트 사이드
└ 클라이언트 : 서버에서 받은 서비스를 사용하는 사용자, 크게 장치(데스크톱, 노트북, 스마트폰, 태블릿 등) 또는 프로그램(웹 브라우저 등)을 말한다.
└ 클라이언트 사이드(Client-Side)란, 네트워크의 한 방식인 클라이언트-서버 구조에서 클라이언트의 처리를 말한다.
└ 웹에서의 클라이언트 사이드는 서비스를 요청하는 역할이다. 웹에서의 클라이언트는 일반적으로 웹 브라우저를 의미한다.
서버 사이드
└ 서버 : 클라이언트의 요청에 응답해주는 시스템. 네트워크를 통해 클라이언트에게 서비스를 제공한다.
└ 서버 사이드(Server-Side)란 네트워크의 한 방식인 클라이언트-서버 구조 중 서버에서의 처리를 말한다.
└ 웹에서의 서버 사이드를 간단히 말하자면, 웹 서버에서 하는 작업을 의미한다. 클라이언트로 요청을 받아 처리하고 처리 결과를 브라우저에 송신, 응답하는 역할을 한다. | 클라이언트(Client) vs 서버(Server), 서버 사이드와 클라이언트 사이드