기본 개념
10개 용어AI와 자연어로 대화하며 코드를 작성하는 프로그래밍 방식. 전통적인 코딩 문법을 몰라도 아이디어를 소프트웨어로 구현할 수 있다.
AI에게 전달하는 요청이나 지시문. 명확하고 구체적으로 작성할수록 원하는 결과를 얻을 확률이 높아진다.
AI가 요청을 이해하는 데 필요한 배경 정보. 현재 코드, 프로젝트 구조, 이전 대화 내용이 포함된다.
데이터를 저장하는 이름 붙은 공간. 숫자, 텍스트, 참/거짓 등 다양한 값을 담을 수 있다.
const userName = "홍길동"특정 작업을 수행하는 코드 묶음. 입력을 받아 처리하고 결과를 반환한다. 재사용 가능하다.
function calculateTotal(price, tax)텍스트 데이터 타입. 따옴표로 감싸서 표현한다.
"안녕하세요" 또는 'Hello World'여러 개의 데이터를 순서대로 저장하는 자료구조. 인덱스로 접근한다.
const fruits = ["사과", "바나나", "오렌지"]키-값 쌍으로 데이터를 저장하는 자료구조. 관련 정보를 그룹화할 때 사용한다.
{ name: "홍길동", age: 25 }데이터를 주고받을 때 사용하는 텍스트 형식. 사람이 읽기 쉽고 대부분의 프로그래밍 언어에서 지원한다.
JavaScript에 타입 시스템을 추가한 언어. 코드 작성 시 오류를 미리 잡아준다.
function greet(name: string): string프론트엔드
12개 용어사용자가 직접 보고 상호작용하는 화면 부분. HTML, CSS, JavaScript로 구성된다.
UI를 구성하는 재사용 가능한 독립적인 조각. 버튼, 카드, 네비게이션 바 등이 컴포넌트가 될 수 있다.
<Button />, <Card />, <Header />Meta(Facebook)가 만든 UI 라이브러리. 컴포넌트 기반으로 효율적인 화면 업데이트가 가능하다.
React 기반의 풀스택 프레임워크. 서버 사이드 렌더링, 라우팅, API 등을 기본 제공한다.
컴포넌트가 기억하고 있는 데이터. 변경되면 화면이 자동으로 다시 렌더링된다.
const [count, setCount] = useState(0)부모 컴포넌트가 자식 컴포넌트에게 전달하는 데이터. 읽기 전용이다.
<Button color="blue" size="large" />React에서 상태와 생명주기 기능을 사용할 수 있게 해주는 함수들.
useState, useEffect, useContext유틸리티 클래스 기반의 CSS 프레임워크. 미리 정의된 클래스로 빠르게 스타일링할 수 있다.
className="bg-blue-500 text-white p-4"다양한 화면 크기(모바일, 태블릿, 데스크톱)에 맞게 레이아웃이 자동 조정되는 디자인.
md:flex-row sm:flex-colURL에 따라 다른 페이지/컴포넌트를 보여주는 것. SPA에서 페이지 전환을 처리한다.
/about → About 페이지, /products/123 → 상품 상세데이터를 화면에 표시하는 과정. CSR(클라이언트), SSR(서버), SSG(정적 생성) 방식이 있다.
페이지 전체를 새로고침하지 않고 필요한 부분만 업데이트하는 웹 애플리케이션 방식.
백엔드
10개 용어서버 측 로직을 처리하는 부분. 데이터 저장, 인증, 비즈니스 로직 등을 담당한다.
프로그램 간 데이터를 주고받는 인터페이스. 프론트엔드가 백엔드에 요청할 때 사용한다.
HTTP 메서드(GET, POST, PUT, DELETE)를 활용한 API 설계 방식. 가장 널리 사용된다.
API가 요청을 받는 특정 URL 주소. 각 기능별로 다른 엔드포인트를 가진다.
/api/users, /api/products/:idJavaScript를 서버에서 실행할 수 있게 해주는 런타임. 프론트엔드와 같은 언어로 백엔드 개발이 가능하다.
요청과 응답 사이에서 실행되는 함수. 인증 체크, 로깅, 에러 처리 등에 사용된다.
사용자가 누구인지 확인하는 과정. 로그인, 회원가입, 세션 관리 등을 포함한다.
사용자 인증 정보를 담은 토큰. 서버에 세션을 저장하지 않아도 인증 상태를 유지할 수 있다.
비동기 작업을 동기 코드처럼 작성할 수 있게 해주는 문법. API 호출, 파일 읽기 등에 사용.
const data = await fetch('/api/users')서버 관리 없이 코드만 배포하는 방식. 요청이 있을 때만 실행되어 비용 효율적이다.
데이터베이스
8개 용어데이터를 구조화하여 저장하는 시스템. 사용자 정보, 게시글, 주문 내역 등을 보관한다.
Firebase의 오픈소스 대안. PostgreSQL 기반으로 인증, 스토리지, 실시간 기능을 제공한다.
데이터베이스의 구조 설계도. 어떤 테이블에 어떤 필드가 있는지 정의한다.
데이터베이스에 데이터를 요청하거나 조작하는 명령문. SQL 언어를 사용한다.
SELECT * FROM users WHERE age > 20데이터의 기본 4가지 작업. 생성(Create), 조회(Read), 수정(Update), 삭제(Delete).
데이터베이스를 객체처럼 다룰 수 있게 해주는 도구. SQL 없이 데이터를 조작할 수 있다.
데이터베이스 스키마 변경을 버전 관리하는 것. 테이블 추가, 필드 변경 등의 이력을 관리한다.
npx prisma migrate dev테이블 간의 연결. 1:1, 1:N, N:M 관계가 있다. 사용자-게시글처럼 데이터를 연결한다.
배포/인프라
10개 용어개발한 애플리케이션을 서버에 올려 다른 사람들이 접근할 수 있게 하는 것.
Next.js를 만든 회사의 호스팅 플랫폼. Git 연동으로 자동 배포되며 무료 플랜이 넉넉하다.
웹사이트나 애플리케이션을 인터넷에서 접근 가능하게 서버 공간을 제공하는 서비스.
웹사이트의 고유한 주소. IP 주소 대신 기억하기 쉬운 이름을 사용한다.
API 키, 비밀번호 등 코드에 직접 노출하면 안 되는 설정값. .env 파일에 보관한다.
DATABASE_URL=postgres://...코드 변경 시 자동으로 테스트하고 배포하는 파이프라인. Git push만 하면 자동 배포된다.
소스 코드를 실행 가능한 형태로 변환하는 과정. 최적화, 번들링, 컴파일이 포함된다.
npm run build웹사이트 통신을 암호화하는 보안 프로토콜. 주소창에 자물쇠 아이콘이 표시된다.
전 세계에 분산된 서버 네트워크. 사용자와 가까운 서버에서 콘텐츠를 제공해 속도가 빠르다.
애플리케이션을 컨테이너라는 격리된 환경에서 실행하는 기술. 어디서든 동일하게 동작한다.
Git/버전관리
8개 용어코드의 변경 이력을 추적하고 관리하는 버전 관리 시스템. 협업과 백업에 필수다.
Git 저장소를 호스팅하는 웹 서비스. 코드 저장, 협업, 오픈소스 프로젝트 참여가 가능하다.
프로젝트의 모든 파일과 변경 이력을 저장하는 공간. 줄여서 repo라고 부른다.
코드 변경사항을 저장하는 단위. 변경 내용을 설명하는 메시지와 함께 기록한다.
git commit -m "로그인 기능 추가"독립적으로 작업할 수 있는 코드의 분기점. 기능 개발 후 메인 브랜치에 병합한다.
변경사항을 메인 브랜치에 병합해달라고 요청하는 것. 코드 리뷰를 거친 후 병합된다.
Push: 로컬 → 원격 업로드. Pull: 원격 → 로컬 다운로드. Clone: 저장소 복제.
git push, git pull, git clone머지: 브랜치를 합치는 것. 충돌: 같은 부분을 다르게 수정했을 때 발생하며 수동 해결 필요.
AI 코딩
9개 용어대규모 텍스트 데이터로 학습한 AI 모델. GPT, Claude, Gemini 등이 있다.
AI가 텍스트를 처리하는 단위. 대략 영어 4글자, 한글 1-2글자 정도. 비용 계산 기준이 된다.
AI가 한 번에 처리할 수 있는 최대 토큰 수. 이를 초과하면 이전 대화 내용을 잊는다.
AI가 사실이 아닌 정보를 마치 사실인 것처럼 생성하는 현상. 항상 결과를 검증해야 한다.
특정 작업을 자율적으로 수행할 수 있는 AI 시스템. 파일 읽기, 코드 실행, 검색 등을 스스로 판단.
AI 기능이 내장된 코드 에디터. VSCode 기반으로 자연어로 코드를 생성하고 수정할 수 있다.
Anthropic의 CLI 기반 AI 코딩 도구. 터미널에서 자연어로 코드 생성, 수정, 실행이 가능하다.
AI가 외부 도구와 데이터에 접근할 수 있게 해주는 프로토콜. 파일 시스템, API, DB 연결 등.
외부 문서를 검색해서 AI 응답에 활용하는 기술. 최신 정보나 특정 문서 기반 답변이 가능하다.
기본 명령어
4개 명령어프로젝트를 초기화하고 CLAUDE.md 파일을 생성한다. 새 프로젝트 시작 시 가장 먼저 실행하는 명령어.
/init 실행현재까지의 대화 기록을 모두 초기화한다. 새로운 주제로 대화를 시작하거나 컨텍스트를 정리할 때 사용.
/clear로 리셋대화 내용을 요약하여 컨텍스트를 가볍게 유지한다. 긴 대화로 토큰이 부족할 때 유용.
/compact이전 세션을 이어서 계속 작업한다. 중단했던 작업을 다시 시작할 때 사용.
/resume개발 도구
8개 용어통합 개발 환경. 코드 작성, 실행, 디버깅을 한 곳에서 할 수 있는 도구.
텍스트 명령어로 컴퓨터를 조작하는 인터페이스. 개발자 필수 도구다.
npm install, git pushJavaScript 패키지를 설치하고 관리하는 도구. 라이브러리 설치, 스크립트 실행에 사용한다.
npm install axios프로젝트 정보와 의존성을 정의하는 설정 파일. 프로젝트의 "신분증" 같은 역할을 한다.
프로젝트가 동작하기 위해 필요한 외부 패키지들. package.json에 명시된다.
npm install로 의존성 설치설치된 패키지들이 저장되는 폴더. 용량이 크므로 Git에 올리지 않는다.
코드 품질 검사(린터)와 스타일 자동 정리(포매터) 도구. 일관된 코드 작성을 도와준다.
개발 모드: 빠른 리로드, 상세 에러. 프로덕션: 최적화된 배포용 빌드.
npm run dev vs npm run build에러/디버깅
10개 용어코드의 오류를 찾아 수정하는 과정. console.log, 브레이크포인트 등을 활용한다.
브라우저나 터미널에 메시지를 출력하는 함수. 디버깅의 기본 도구다.
console.log("현재 값:", data)요청한 페이지나 리소스를 찾을 수 없음. URL 오타, 삭제된 페이지 등이 원인.
서버 내부에서 오류가 발생함. 백엔드 코드 문제, DB 연결 실패 등이 원인.
다른 도메인 간 데이터 요청이 보안 정책에 의해 차단됨. 서버 설정으로 해결한다.
undefined: 값이 할당되지 않음. null: 의도적으로 비어있음을 표시.
코드 문법이 잘못됨. 괄호, 세미콜론, 따옴표 누락이 주요 원인.
Unexpected token 에러 메시지잘못된 타입의 값을 사용했을 때 발생. 문자열에 숫자 메서드 사용 등.
TypeError: xxx is not a functionimport한 모듈이나 패키지를 찾을 수 없음. npm install 누락, 경로 오타가 원인.
npm install 실행 또는 import 경로 확인해당 포트를 이미 다른 프로세스가 사용 중. 이전 서버를 종료하거나 포트를 변경한다.
실전 팁
바이브 코딩 꿀팁에러 메시지를 그대로 복사해서 AI에게 물어보면 대부분 해결책을 알려준다. 당황하지 말고 복붙하자.
"전체 앱 만들어줘"보다 "로그인 버튼 만들어줘"가 훨씬 좋은 결과를 낸다. 작게 나눠서 요청하자.
AI가 만든 코드가 의도대로 동작하는지 항상 테스트한다. 브라우저에서 직접 클릭해보고 확인하자.
"이게 무슨 뜻이야?", "왜 이렇게 했어?"라고 물어보면 AI가 친절하게 설명해준다. 부끄러워하지 말자.
관련 파일을 열어두거나, 현재 상황을 설명해주면 AI가 더 정확한 답변을 할 수 있다.
작동하는 상태에서 자주 커밋해두면 문제가 생겼을 때 되돌릴 수 있다. 보험이라고 생각하자.
git commit복잡한 기능은 바로 코딩하지 말고 Plan Mode로 먼저 계획을 세우자. AI가 구조를 잡아주고 승인 후 구현한다.
Shift+Tab으로 Plan Mode 전환AI가 코드를 잘못 수정했을 때 당황하지 말자. Undo나 Revert 기능으로 이전 상태로 쉽게 복구할 수 있다.
Cmd+Z (Mac) / Ctrl+Z (Windows)