프로젝트에서 보기 →

[코딩에 대하여] 4. 웹 개발과 프론트 엔드! 백엔드에 대하여

태그
기타 웹개발 백엔드 프론트엔드
시작일
종료일
수정일

https://www.youtube.com/watch?v=sQJlzxDpzwo

1. 이건 꼭 알아야 한다[^1]

[? 질문] 코딩 입문자가 접근하기 쉬운 개발 분야로서 웹 개발은 무엇이며, 어떤 일을 포함하는가[^4][^5]
[= 답] 웹 개발은 인터넷/인트라넷에서 사용할 수 있는 웹사이트를 만들고 운영하는 전반적 작업이며, 웹사이트·웹 애플리케이션을 설계·개발·유지관리하는 것이 주요 업무다.[^5][^10][^11]

[? 질문] 웹 개발에서 사용하는 언어는 어떻게 구분되며, 각각 무엇을 의미하는가(클라이언트 vs 서버)?[^6][^7][^8]
[= 답] 웹 개발 언어는 크게 클라이언트(사용자 컴퓨터에서 동작/표현) 영역과 서버(웹사이트를 제공하는 컴퓨터에서 처리) 영역으로 나뉘며, 클라이언트에는 HTML/XML, CSS, JavaScript, 서버에는 PHP/Java(및 Python 등) 같은 서버 스크립트 언어가 포함된다.[^7][^8][^9][^14]

[? 질문] 프론트엔드/백엔드는 각각 어떤 역할을 하며, 왜 백엔드를 하려면 프론트엔드 언어 이해가 필요한가?[^12][^13][^15]
[= 답] 프론트엔드는 사용자에게 보이는 영역을 만들어 사용성/경험 중심으로 개발하고, 백엔드는 사용자 행동을 처리하며 데이터를 저장·관리·전달해 서비스가 에러 없이 원활히 실행되게 한다.[^13][^14] 또한 백엔드 개발을 원활히 하려면 클라이언트 언어(HTML/CSS/JS)를 전반적으로 이해해야 하므로, 백엔드를 위해서도 프론트 영역 언어 학습이 필요하다고 말한다.[^15]


2. 큰 그림[^4]

이 콘텐츠는 코딩 입문자가 비교적 접근하기 쉬운 웹 개발을 주제로, 웹 개발이 무엇인지와 웹 개발 언어의 구분(클라이언트/서버), 그리고 실무에서 자주 쓰이는 구분인 프론트엔드/백엔드/풀스택의 의미를 짧게 정리한다.[^4][^5][^12][^16]

  • 웹 개발의 범위: 웹사이트(및 웹 애플리케이션)를 만들고 운영하기 위해 설계·개발·유지관리까지 포함하는 “전반적인 일”로 정의한다.[^5][^11]
  • 언어의 구분 기준: 사용자 컴퓨터에서 보이고 상호작용하는 클라이언트와, 요청을 처리하고 사이트를 제공하는 서버로 나눠 대표 언어들을 소개한다.[^7][^8][^9]
  • 역할(프론트/백)과 학습 순서: 프론트는 사용자 경험 중심, 백은 처리·저장·전달 중심이며, 백엔드를 하기 전에도 클라이언트 언어 이해가 필요하다고 강조한다.[^13][^14][^15]

3. 하나씩 살펴보기[^2]

3.1 인사 및 이전 영상 맥락: 코드 에디터 추천 후 “웹 개발”로 이동[^2][^3][^4]

📸 0:02

영상은 인사로 시작해(“안녕하세요”, “토스트 데입니다”) 진행자/채널을 밝힌다.[^2][^3] 이어서 “지난 영상”에서 코드 에디터 추천을 간략히 다뤘다고 전제하고, 이번에는 코딩 입문자가 접근하기 쉬운 주제로 웹 개발을 알아보겠다고 방향을 제시한다.[^4]

  • 이 도입부는 “입문자가 무엇부터 보면 좋은가”라는 흐름 속에서, 도구(에디터) → 분야(웹 개발)로 주제가 이어지는 구조를 만든다.[^4]

3.2 웹 개발의 정의: 웹사이트를 만들고 운영하는 전반적 작업[^5][^11]

📸 0:21

진행자는 웹 개발을 “인터넷이나 인트라넷에서 사용할 수 있는 웹사이트를 만들고 운영하는 전반적인 모든 일”로 설명한다.[^5] 즉, 단순히 화면을 만드는 행위만이 아니라 “만들고 운영”까지 포함한다는 점을 정의에 포함시킨다.[^5]

또한 웹 개발의 주요 업무를 “웹사이트와 웹 애플리케이션을 설계하고 개발하며 유지 관리”하는 일이라고 정리한다.[^11] 여기서 웹 개발이:

  • 설계(architecture/plan) 단계부터[^11]
  • 개발(구현)[^11]
  • 유지관리(운영/보수)[^11]

까지 포괄한다는 관점을 제공한다.[^11]

[!IMPORTANT] 웹 개발을 “코딩으로 페이지 몇 개 만드는 일”로만 보지 않게 만드는 정의
웹 개발은 웹사이트/웹앱을 만들고 운영하기 위한 전반적 작업이며, 설계·개발·유지관리가 핵심 업무 범주로 제시된다.[^5][^11]

3.3 웹 개발에 쓰이는 언어의 폭: 마크업과 프로그래밍 언어를 함께 사용[^6]

📸 0:25

웹 개발에 사용되는 언어로 진행자는 HTML, CSS, JavaScript, PHP, Java, XML 등을 열거하며, “다양한 마크업 언어와 프로그래밍 언어가 웹 개발에 사용된다”고 말한다.[^6]
이 대목의 포인트는 웹 개발이 단일 언어로만 구성되는 분야가 아니라:

  • 마크업 언어(예: HTML, XML)[^6]
  • 스타일/표현(예: CSS)[^6]
  • 동작/로직(예: JavaScript, PHP, Java 등)[^6]

처럼 서로 성격이 다른 언어들이 결합된다는 점을 초반에 넓게 보여주는 것이다.[^6]

3.4 클라이언트 언어 vs 서버 언어: 웹 개발 언어를 나누는 큰 기준[^7][^8][^9]

📸 0:30

진행자는 웹 개발 언어를 “클라이언트 언어와 서버 언어로 나뉠 수” 있다고 구분을 제시한다.[^7] 그리고 각 범주에 속하는 대표 예시를 이어서 설명한다.[^8][^9]

3.4.1 클라이언트 언어(클라이언트 스크립트): HTML/XML, CSS, JavaScript[^8]

클라이언트 언어에는 “마크업 언어인 HTML, XML 등이 있고”, HTML을 “꾸며주는 CSS”, 그리고 “동적인 역할을 하는 JavaScript”가 클라이언트 스크립트 언어에 해당한다고 말한다.[^8]

이 설명의 구성은 다음과 같은 기능 분담으로 이해할 수 있게 되어 있다(영상의 표현을 그대로 살림):

  • HTML/XML: 마크업 언어로서 문서/구조를 표현하는 쪽[^8]
  • CSS: HTML을 “꾸며주는” 역할(스타일링)[^8]
  • JavaScript: “동적인 역할”(상호작용/동작)[^8]

[!TIP] 웹 개발 입문 시 “무엇이 화면을 만들고, 무엇이 움직이게 하는가”로 구분해 이해하기
진행자는 클라이언트 쪽에서 **HTML(구조) → CSS(꾸밈) → JavaScript(동작/동적 역할)**로 역할을 나눠 소개한다.[^8]

3.4.2 서버 언어: 서버에서 처리되는 스크립트(예: PHP, Java)[^9]

서버 언어로는 “PHP, Java와 같이 서버에서 처리되는 프로그래밍 스크립트 언어로 구성”된다고 설명한다.[^9]
즉 서버 측은 사용자의 요청을 서버 컴퓨터가 받아 내부에서 처리하는 언어/로직이 존재하는 영역이라는 전제를 제공한다.[^9]

3.4.3 클라이언트와 서버의 의미를 컴퓨터 관점으로 정의[^10]

진행자는 여기서 “클라이언트는 사용자의 컴퓨터”, “서버는 사용자가 접근하는 웹사이트를 제공하는 컴퓨터”라고 정의한다.[^10]
이로써 앞서 언어를 나눈 기준(클라이언트/서버)이 단순한 추상적 구분이 아니라 어떤 컴퓨터에서 동작/처리되는가라는 관점임을 명확히 한다.[^10]

  • 클라이언트 = 사용자 측 장치/컴퓨터[^10]
  • 서버 = 웹사이트를 제공하는 컴퓨터(서비스 제공 측)[^10]

3.5 프론트엔드와 백엔드: “사용자와 상호작용하는 영역”을 기준으로 구분[^12][^13][^14]

📸 1:09

웹 개발의 역할 구분으로 진행자는 프론트엔드와 백엔드를 소개한다.[^12] 이때 표현은 “웹 개발에서는 사용자와 상호 작용하는 영역을 구분”하기 위해 프론트/백으로 나눈다는 취지로 이어진다.[^12]

3.5.1 프론트엔드: 사용자에게 보이는 영역, HTML/CSS/JS 활용, UX 중심[^13]

프론트엔드는 “사용자에게 보이는 영역”을 개발한다고 정의한다.[^13] 이를 위해 HTML, CSS, JavaScript를 활용해 개발을 진행한다고 말한다.[^13] 또한 프론트엔드 개발의 주요 목적은:

  • 사용자가 사용하기 쉽도록[^13]
  • 사용자의 경험에 맞춰 서비스를 개발하는 것[^13]

에 “중점”이 있다고 설명한다.[^13]

여기서 프론트엔드는 단지 화면을 예쁘게 만드는 것을 넘어, 사용성/경험(UX)에 초점을 둔다는 가치 기준을 함께 제시한다.[^13]

[!IMPORTANT] 프론트엔드의 목표를 “사용자 경험”으로 규정
프론트엔드는 사용자에게 보이는 영역을 만들고, 목표는 사용하기 쉬운 경험에 맞춘 서비스를 만드는 것이라고 설명된다.[^13]

3.5.2 백엔드: 사용자 행동 처리, 정보 저장·관리·전달, 서버 언어 사용, “원활한 실행/에러 방지” 중심[^14]

백엔드는 “사용자의 행동을 처리하고 정보를 저장하고 관리하며 전달하는 영역”을 개발한다고 설명한다.[^14] 그리고 이를 위해 PHP, Java, Python 등의 서버 스크립트 언어를 사용하여 개발된다고 말한다.[^14]

또한 백엔드의 주요 중점은:

  • 사용자가 원하는 일이 에러가 나지 않고[^14]
  • 원활하게 실행되도록 만드는 것[^14]

이라고 정리한다.[^14]

즉, 백엔드의 역할을 “데이터 및 처리 로직”의 담당으로 제시하면서, 품질 기준을 “안정성과 원활한 동작(에러 없이 동작)”으로 잡고 있다.[^14]

3.6 학습 관점: 백엔드를 하려면 프론트(클라이언트 언어) 이해가 먼저 필요[^15]

📸 1:44

진행자는 프론트엔드와 백엔드의 개발 영역이 다르다는 점을 인정하면서도, 백엔드를 배우기 전에 “클라이언트 언어인 HTML, CSS, JavaScript에 대해 전반적으로 이해해야 백엔드 개발이 원활해진다”고 말한다.[^15]

이 발언은 학습 로드맵/선행지식에 대한 주장으로 연결된다:

  • 백엔드 개발을 원활히 하려면 클라이언트 언어 전반 이해가 선행되어야 한다[^15]
  • 따라서 백엔드 영역을 개발하기 위해서도 프론트엔드 영역 언어를 필수적으로 배워야 할 필요가 있다[^15]

즉 “역할은 다르지만 지식은 분리되지 않는다”는 메시지를 학습 조언 형태로 제시한다.[^15]

[!TIP] 입문 로드맵 힌트: 백엔드 지향이어도 HTML/CSS/JS를 피할 수 없다
진행자는 백엔드를 위해서라도 HTML/CSS/JS를 전반적으로 이해해야 개발이 원활하다고 말하며, 프론트 언어 학습의 필요성을 강조한다.[^15]

3.7 풀스택 개발자 정의: 프론트 언어 + 백엔드 언어를 모두 다룰 수 있는 사람[^16]

📸 2:01

마지막으로 진행자는 “웹 개발에서 프론트 언어를 사용할 수 있고 백엔드 언어까지 사용할 수 있다면 이를 풀스택 개발자라고 한다”고 정의한다.[^16]
즉, 프론트엔드 영역과 백엔드 영역 모두를 커버할 수 있는 개발자를 풀스택으로 부른다는 설명이다.[^16]

3.8 마무리 멘트: 시청 감사 및 좋아요/구독 요청[^17][^18]

📸 2:04

영상은 “시청해 주셔서 감사합니다”로 마무리 인사를 하고,[^17] “좋아요와 구독은 영상 제작에 큰 힘이 됩니다”라는 전형적인 CTA(Call To Action)를 덧붙이며 종료된다.[^18]


4. 핵심 통찰[^5]

  1. [h 웹 개발은 구현만이 아니라 운영까지 포함하는 “전반적 업무”로 정의된다.] 웹사이트/웹앱을 설계·개발·유지관리하는 큰 범주로 잡아야 분야의 실제 일을 오해하지 않는다.[^5][^11]
  2. [h 웹 개발 언어는 “어떤 컴퓨터에서 실행/처리되느냐”로 클라이언트와 서버로 크게 나뉜다.] 클라이언트(사용자 컴퓨터)와 서버(서비스 제공 컴퓨터) 구분이 언어 분류의 기준으로 제시된다.[^7][^10]
  3. [h 프론트엔드는 사용자 경험(사용하기 쉬움)을 목표로 한다.] 보이는 영역 구현뿐 아니라 사용성/경험을 맞추는 것이 목적이라고 못 박는다.[^13]
  4. [h 백엔드는 처리·저장·관리·전달을 담당하며 “에러 없이 원활한 실행”이 중요 기준이다.] 즉 안정성과 정상 동작이 백엔드 가치의 핵심으로 제시된다.[^14]
  5. [c 백엔드를 하려면 프론트(HTML/CSS/JS) 이해가 선행되어야 한다.] 역할이 달라도 웹은 결국 연결되어 있어, 백엔드 개발의 원활함을 위해 클라이언트 언어 학습이 필요하다고 강조한다.[^15]
    • 실행 시사점(영상의 주장에 근거한 학습 행동):
      • HTML/CSS/JS를 “겉핥기”가 아니라 “전반적으로 이해”하는 단계까지 확보한다.[^15]
      • 이후 서버 언어(PHP/Java/Python 등)로 사용자 행동 처리와 데이터 저장·전달 흐름을 확장한다.[^14][^15]
  6. [m 프론트+백을 모두 다룰 수 있으면 풀스택으로 불린다.] 프론트 언어와 백엔드 언어를 함께 사용할 수 있는 범용성을 ‘풀스택’으로 정의한다.[^16]

5. 헷갈리는 용어 정리[^6]

웹 개발(Web Development): 인터넷/인트라넷에서 사용할 웹사이트를 만들고 운영하는 전반적인 일(웹사이트·웹앱 설계/개발/유지관리 포함).[^5][^11]
클라이언트(Client): 사용자의 컴퓨터(사용자 측에서 웹을 이용하는 쪽).[^10]
서버(Server): 사용자가 접근하는 웹사이트를 제공하는 컴퓨터(요청을 처리하고 서비스를 제공하는 쪽).[^10]
클라이언트 언어: 클라이언트 쪽에서 사용되는 언어 범주로, HTML/XML(마크업), CSS(꾸밈), JavaScript(동적 역할) 등이 제시됨.[^8]
서버 언어: 서버에서 처리되는 프로그래밍 스크립트 언어 범주로, PHP/Java(및 Python 등)가 예시로 제시됨.[^9][^14]
프론트엔드(Frontend): 사용자에게 보이는 영역을 개발하는 분야/영역. HTML/CSS/JS를 활용하며 사용성·사용자 경험 중심.[^13]
백엔드(Backend): 사용자 행동을 처리하고 정보를 저장·관리·전달하는 영역. 서버 스크립트 언어(PHP/Java/Python 등) 활용, 원활한 실행/에러 방지가 중점.[^14]
풀스택(Full-stack) 개발자: 프론트 언어와 백엔드 언어를 모두 사용할 수 있는 개발자.[^16]



참고(콘텐츠 정보)[^1]

  • 제목: [코딩에 대하여] 4. 웹 개발과 프론트 엔드! 백엔드에 대하여[^1]
  • 채널: 토스트데브[^1]
  • 길이: 2분 34초[^1]
  • 링크: https://www.youtube.com/watch?v=sQJlzxDpzwo[^1]

[^1]: 제공된 콘텐츠 메타데이터(제목/채널/길이/링크).
[^2]: @[00:02] "안녕하세요"
[^3]: @[00:07] "토스트 데입니다"
[^4]: @[00:16] "이번 영상에서는 여러분들이 코딩을 입문하기에 접근하기 쉬운 웹 개발에 대해서 알아보려고 합니다"
[^5]: @[00:21] "먼저 웹 개발은 인터넷이나 인트라넷에서 사용할 수 있는 웹사이트를 만들고 운영하는 전반적인 모든 일을 이야기합니다"
[^6]: @[00:25] "웹 개발에 사용되는 언어로 html css 자바스크립트 PHP 자바 xml 등..."
[^7]: @[00:30] "먼저 웹 개발에는 클라이언트 언어와 서버 언어로 나닐 수 있겠습니다"
[^8]: @[00:42] "클라이언트 언어에는 ... html xml ... css ... 자바스크립트..."
[^9]: @[00:48] "서버 언어로는 PHP 자바와 같이 서버에서 처리되는..."
[^10]: @[00:55] "클라이언트는 사용자의 컴퓨터... 서버는 ... 웹사이트를 제공하는 컴퓨터"
[^11]: @[01:01] "이러한 웹사이트와 웹 어플리케이션을 설계하고 개발하며 유지 관리하는 것이 웹 개발의 주요 업무"
[^12]: @[01:09] "웹 개발에서는 사용자와 상호 작용하는 영역을 구분하기 ... 백엔드로 ..." (프론트/백 구분 도입)
[^13]: @[01:14] "프론트엔드는 사용자에게 보이는 영역... html css 자바스크립트... 사용하기 쉽고 ... 경험에 맞춰..."
[^14]: @[01:29] "백엔드의 경우 사용자의 행동을 처리하고 정보를 저장하고 관리하며 전달... PHP 나 자바 파이썬 ... 에러가 나지 않고 원활..."
[^15]: @[01:44] "백엔드를 배우기 전에 ... html css 자바스크립트 ... 이해해야 ... 프론트엔드 ... 언어도 필수적으로..."
[^16]: @[02:01] "프론트 언어... 백엔드 언어... 사용할 수 있다면 ... 풀스택 개발자"
[^17]: @[02:04] "시청해 주셔서 감사합니다"
[^18]: @[02:07] "좋아요와 구독은 영상 제작에 큰 힘이 됩니다"

← 프로젝트에서 보기