VIBECODING 365 / DICTIONARY
클라이언트 컴포넌트
Client Component
DEFINITION
정의
클라이언트 컴포넌트는 Next.js App Router에서 브라우저에서 실행되어야 하는 React 컴포넌트이다. 파일 맨 위의 'use client' 지시어로 표시하며, state, 이벤트 핸들러, 브라우저 API, 사용자 입력처럼 화면에서 즉시 반응해야 하는 기능을 담당한다. 바이브 코딩에서는 AI가 모든 파일에 무심코 'use client'를 붙여 번들을 키우거나, 반대로 클릭 동작이 필요한 컴포넌트를 서버 컴포넌트로 남기는 실수를 할 수 있으므로 실행 위치를 구분해야 한다.
ENGLISH
Client Component
EXAMPLE
사전 검색 필터처럼 사용자가 입력할 때 즉시 목록이 좁혀지는 UI는 클라이언트 컴포넌트로 만들고, 검색어 state와 onChange 핸들러를 두되 서버 비밀값이나 DB 쿼리는 넣지 않도록 리뷰하면 브라우저 동작과 보안 경계를 함께 지킬 수 있다.
관련
이어서 볼 문서
RELATED TERMS
연관 용어
v0 by Vercel
Vercel이 만든 AI UI 빌더로, 자연어 설명만으로 프로덕션 수준의 React + Tailwind CSS 컴포넌트를 즉시 생성한다. UI/프론트엔드에 특화된 도구로, 풀스택 개발보다는 '보이는 부분'을 빠르게 만드는 데 집중한다. 가장 특징적인 기능은 코드 생성 전 '계획 단계'를 거친다는 것으로, 어떤 페이지를 만들 것인지, 어떤 기능을 포함할 것인지, 어떤 기술을 사용할 것인지를 먼저 보여주고 사용자의 확인을 받은 후 코드를 생성한다. shadcn/ui 컴포넌트 라이브러리와 Tailwind CSS를 기본으로 사용하여, 생성된 코드가 일관되고 모던한 디자인을 유지한다. 생성된 컴포넌트를 Vercel에 원클릭으로 배포할 수 있으며, Next.js 프로젝트에 직접 복사하여 사용하는 것도 간편하다. 권장 워크플로는 'v0에서 UI 프로토타입 → Cursor에서 비즈니스 로직 구현'으로, UI 디자인에 시간을 쏟지 않고 빠르게 시각적 결과물을 확인하고 싶을 때 가장 효과적이다.
frontend 문서 객체 모델Document Object Model (DOM)
웹 문서를 노드 트리로 다루는 플랫폼 중립 모델이다. WHATWG DOM 표준이 이벤트, 작업 중단, 노드 트리를 정의하며, 자바스크립트 언어 자체는 아니다.
프론트엔드·UI 핫 리로드Hot Reload
코드 변경 시 전체 앱을 재시작하지 않고 변경된 부분만 실시간으로 브라우저/앱에 반영하는 개발 기능이다. Hot Module Replacement(HMR)라고도 불리며, 바이브 코딩에서 핵심적인 피드백 루프를 제공한다. AI가 코드를 수정할 때마다 브라우저에서 즉시 결과를 확인할 수 있으므로, '프롬프트 → 코드 생성 → 즉시 시각적 확인'이라는 빠른 반복 주기가 가능하다. 전통적 개발에서는 코드 수정 → 빌드 → 브라우저 새로고침 → 상태 재설정이라는 지루한 과정을 거쳤지만, 핫 리로드는 앱의 현재 상태(로그인 상태, 입력된 폼 데이터 등)를 유지한 채 변경된 부분만 교체하므로 개발 경험이 극적으로 개선된다. Next.js(React), Vite, Remix 등 현대 웹 프레임워크는 핫 리로드를 기본 제공하며, Bolt.new는 이 기능을 활용하여 AI가 코드를 작성하는 동시에 라이브 프리뷰를 실시간 업데이트한다. React Native에서는 Expo Go를 통해 모바일 기기에서도 핫 리로드가 가능하다.