이 영상은 '파이브코딩' 입문자를 위한 웹 개발 및 AI 기초 용어와 개념을 설명합니다. 기술 부채에 대한 걱정 없이 대충 만들고 빠르게 경험하는 것이 중요하며, 완벽하게 이해하기보다는 반복적인 노출을 통해 자연스럽게 습득할 것을 강조합니다. 학습을 돕기 위해 고정 댓글에 코딩 퀴즈 사이트가 제공됩니다.
---
### **1. 웹 개발 기초 용어 및 개념**
* **클라이언트와 서버**
* **클라이언트**: 사용자(손님)의 기기(PC, 스마트폰 등)로, 서버에 웹페이지나 데이터를 요청합니다.
* **서버**: 24시간 켜져 있는 컴퓨터(상점)로, 클라이언트의 요청에 응답하여 웹페이지를 전송하거나 데이터를 저장합니다.
* *예시*: 네이버에 접속하는 내 핸드폰이 클라이언트, 네이버가 서버.
* *참고*: 지난 시간 만든 메모장은 클라이언트 프로그램으로, 데이터가 서버가 아닌 사용자 기기에 저장됩니다.
* **프론트엔드와 백엔드**
* **프론트엔드**: 사용자(클라이언트)에게 보이는 부분.
* **HTML**: 웹페이지의 뼈대(구조)를 만듭니다.
* **CSS**: HTML에 스타일(디자인)을 입힙니다.
* **자바스크립트**: 웹페이지에 동적인 효과를 부여합니다.
* *특징*: 크롬과 같은 브라우저 안에서 실행됩니다.
* **백엔드**: 사용자에게 보이지 않는 부분으로, 서버에서 돌아가는 프로그램.
* **서버 프로그램**: 아파치, 엔진엑스 등 PC를 서버로 작동하게 합니다.
* **웹 프레임워크**: 서버 프로그램 위에서 작동하며, 라우팅(URL 주소 관리) 등의 기능을 제공합니다.
* **데이터베이스(DB)**: 데이터를 저장하고 조회하는 시스템입니다.
* *서버 언어*: Node.js, 파이썬, 자바, PHP, 루비 등이 있습니다.
* **웹 서비스의 기본 구조: MVC (Model-View-Controller)**
* **M (모델)**: 데이터베이스 관련 로직 처리.
* **V (뷰)**: 사용자에게 보이는 화면 표시.
* **C (컨트롤러)**: 모델과 뷰의 연결을 제어.
* *웹 프레임워크*: 이 MVC 구조를 미리 만들어 제공하여 개발 속도를 높이고 보안을 강화합니다.
* **IP 주소, 도메인, DNS**
* **IP 주소**: PC의 고유 주소.
* **도메인**: IP 주소를 사람이 외우기 쉽게 만든 이름 (예: google.com).
* **DNS (Domain Name Server)**: 도메인을 IP 주소로 변환하여 해당 서버에 접속할 수 있도록 돕는 서버.
* **자바스크립트의 중요성**
* HTML, CSS와 달리 프로그래밍 언어이며, 웹 전 분야에 걸쳐 사용 가능합니다.
* 자바(Java)와는 이름만 비슷할 뿐 전혀 다른 언어입니다.
* Node.js를 통해 백엔드 개발에도 활용될 수 있습니다.
* **프로그래밍 언어의 발전과 웹앱**
* 어셈블리(0과 1) → C → 자바, PHP → 파이썬 등 더 쉽고 짧게 코딩하기 위해 발전해왔습니다.
* **파이브코딩 시대**: AI에게 사람의 말로 지시하여 프로그램을 만듭니다.
* **웹앱**: HTML, CSS, 자바스크립트를 기반으로 만들어져 윈도우, 모바일 앱, 맥, 게임 등 다양한 플랫폼으로 변환이 수월합니다. 확장성과 호환성이 좋습니다.
---
### **2. 웹 서비스의 핵심 6가지 (백엔드 관련)**
* **라우트 (Route)**
* 웹 프레임워크의 대표 기능 중 하나로, URL 경로에 따라 다른 페이지를 연결해 주는 기능입니다.
* *예시*: `google.com/mail`로 접속하면 메일 페이지를 보여주는 것.
* **웹 프레임워크**
* 자주 쓰는 구조와 기능을 미리 만들어 놓은 도구.
* 로그인/회원가입, 보안 처리, 라우트, DB 연결, 에러 처리 등 복잡한 기능을 쉽고 빠르게 구현할 수 있게 합니다.
* 대부분의 웹 서비스가 프레임워크를 사용합니다.
* *예시*: 파이썬(장고, 플라스크), Node.js(익스프레스, 넥스트JS), 자바(스프링), PHP(라라벨).
* **API (Application Programming Interface)**
* 프로그램끼리 대화하는 방법.
* 클라이언트의 요청을 서버에 전달하고, 서버의 응답을 다시 클라이언트에 전달하는 역할을 합니다.
* *예시*: 날씨 API, 카카오 로그인 API, 지도 API, 결제 API.
* 사용자는 API를 통해 데이터를 요청하고 받아와 예쁘게 보여주기만 하면 됩니다.
* **배포 (Deployment)**
* 내가 만든 프로그램을 서버에 올려 다른 사람들도 접속하여 사용할 수 있게 만드는 과정입니다.
* 내 컴퓨터에서만 동작하던 것을 전 세계 누구나 접속 가능한 서비스로 만듭니다.
* **호스팅 (Hosting)**
* 서버 PC를 빌려서 내 서비스를 올려두는 것을 의미합니다.
* **서버리스 (Serverless)**: Vercel, Netlify 등. 서버 관리가 필요 없지만, 제약이 있고 복잡한 서비스에는 부적합합니다.
* **직접 서버 운영**: AWS EC2 등. 서버를 직접 세팅하고 관리하여 높은 자유도와 확장성을 가집니다. (초보자에게는 AWS Lightsail 같은 쉬운 버전도 있음).
* **깃허브 (GitHub)**
* 코드를 저장하고 버전을 관리하는 서비스.
* *저장소 기능*: 코드를 안전하게 보관합니다.
* *버전 관리 기능*: 게임의 세이브처럼 코드를 수정할 때마다 저장(커밋)하여 이전 버전으로 복구할 수 있습니다.
---
### **3. 파이브코딩을 위한 AI 관련 용어 및 개념**
* **LLM (Large Language Model)**
* 대규모 언어 모델. 엄청 많은 텍스트를 학습한 AI로, 자연어를 이해하고 코딩 결과물을 생성합니다.
* **프롬프트 엔지니어링 (Prompt Engineering)**
* AI에게 질문(프롬프트)을 어떻게 효과적으로 작성하는지에 대한 기술.
* 구체적이고 맥락을 제공하며, 예시와 단계별 요청, 역할을 부여하는 것이 좋은 프롬프트입니다.
* **컨텍스트 (Context)와 토큰 (Token)**
* **컨텍스트**: AI에게 주는 배경 정보와 맥락. 정확한 결과를 위해 필수적입니다.
* **토큰**: AI가 텍스트를 읽는 단위. AI 사용량 책정 기준이 되며, **컨텍스트 윈도우**는 AI가 한 번에 읽을 수 있는 최대 토큰 수를 의미합니다.
* **컨텍스트 엔지니어링 (Context Engineering)**
* AI에게 적절한 맥락을 설계하는 기술.
* 기술 스택, 현재 코드, 원하는 결과, 제약 조건, 에러 발생 시 전체 에러 메시지 등을 충분히 제공해야 합니다.
* **할루시네이션 (Hallucination)**
* AI가 그럴듯하게 거짓말하는 현상.
* AI의 답변을 100% 신뢰하지 않고 항상 확인하고 테스트하는 습관이 중요합니다.
* **AI 에이전트 (AI Agent)와 MCP (Model Context Protocol)**
* **AI 에이전트**: AI가 스스로 판단하고 도구를 사용하며 목표 달성까지 자동으로 일하는 것 (사람처럼 일함).
* **MCP**: AI가 외부 도구와 연결되는 규격 (USB 플러그인처럼 기능 연결).
* 파이브코딩은 에이전트와 MCP를 통해 AI가 서비스를 설계, 코딩, 테스트, 배포까지 수행하는 시대로 발전하고 있습니다.
---
### **결론**
클라이언트-서버, 프론트엔드-백엔드, API, 배포, 깃허브, 호스팅 등의 개념을 대략적으로 이해하고, AI 용어들을 바탕으로 AI에게 말로 프로그램을 만들 수 있다는 큰 틀을 잡는 것이 중요합니다. 모든 것을 외우기보다는 계속 경험하며 자연스럽게 습득하는 것이 목표입니다.