Cursor
1. Cursor 입문 / 소개
공부 목적: Cursor라는 AI 코딩 도구를 활용해 짧은 시간 안에 풀스택 애플리케이션을 만들 수 있도록 안내하는 과정
주요 특징
- 실제로 동작하는 마이크로 SaaS 애플리케이션을 0부터 제작
- GitHub 저장소 URL을 입력받아 해당 저장소를 요약하고 분석(LLM + LangChain 사용)
- 로그인 및 API 키 생성 기능 제공
- 레이트 리밋(rate limiting) 적용
- Vercel에 배포
주요 장점
- 프로젝트 코드를 99% 이상 Cursor가 자동 작성
- 사용자는 주로 프롬프트(prompt)를 작성해가며 코드를 생성
- API 키 관리, Playground 등 API 기능을 시각적으로 테스트 가능
- 백엔드 지식만으로도 Cursor를 통해 빠르고 손쉽게 프론트엔드 구축 가능
학습 대상
- 프론트엔드 경험이 거의 없는 백엔드 개발자 또는 API 개발자
- 디버깅과 트러블슈팅 능력이 있는 소프트웨어 엔지니어
- 초보자 대상 강의가 아니며, 중급 이상 개발자를 위한 고급 강의
강의 방식
- 실습형: 실제 애플리케이션을 만들어가며 학습
- Cursor 사용 방법과 베스트 프랙티스를 함께 설명
- 문제 해결: AI가 생성하는 코드이므로 결과물이 강의 영상과 100% 동일하지 않을 수 있으며, 이를 디버깅하는 과정을 중요하게 다룸
주의 사항
- 프론트엔드 베스트 프랙티스를 따르지 않을 수도 있음
- 사용되는 기술: React, Next.js 등(직접 코드를 짜기보다는 Cursor가 생성)
- 학습 시 영상을 보고 나서 프롬프트를 실행해보는 방식을 추천
핵심 내용 정리
- Cursor를 활용한 신속한 풀스택 개발
- AI가 대부분의 코드를 작성 → 개발자는 프롬프트 작성에 집중
- 프론트엔드를 몰라도 일정 수준의 UI/UX 구현 가능
- 프로젝트 소개
- GitHub 저장소 요약 & 분석 서비스
- Login & 회원관리, API 키 생성, Rate Limiting 기능 포함
- Vercel을 통해 손쉽게 배포 가능
- 사용 예시
- API 키 발급 → API Playground에서 정상 키/비정상 키 테스트
- 요청 제한 초과 시 Rate Limit Exceeded 에러 반환
- LLM이 생성한 결과물을 실시간으로 확인
- 요구되는 사전 지식
- 백엔드 엔지니어나 API 개발자로서 소프트웨어 엔지니어링 기반 지식
- 프론트엔드 문법(HTML, CSS, JS, React 등)에 깊은 지식이 없어도 수강 가능
- 트러블슈팅 능력 필수
- 공부 형태
- 코딩 실습 중심으로 진행
- Cursor의 다양한 기능(자동 완성, 자동 수정 등)과 LangChain 연동 방법
- 과정 중 발생하는 에러나 문제를 어떻게 해결하는지 함께 다룸
- 공부 목표
- AI 활용 개발 프로세스 이해: Prompt → 코드 생성 → 디버깅
- 실무 수준의 소규모 SaaS 애플리케이션을 완성할 수 있는 역량 확보
- Cursor를 통한 빠른 프로토타이핑 및 애플리케이션 배포 경험
- Cursor를 활용한 신속한 풀스택 개발
[사용자]
|
v
[프론트엔드 (Next.js)]
| (API 요청)
|-------------------------------------->
|<--------------------------------------
| (응답 데이터)
|
v
[백엔드 (Cursor가 작성한 코드)]
|
|--- 인증 & 로그인(토큰/세션) ---> [DB: 사용자 계정/세션 관리]
|
|--- API 키 발급/확인 ---> [DB: API 키 저장 & 레이트 리밋 정보]
|
|--- GitHub Repo URL 분석 ---> [LLM + LangChain]
|
v
[결과 요약/분석 응답 반환]
|
v
[프론트엔드]
|
v
[사용자에게 결과 표시]
- 사용자가 웹 애플리케이션에 접근
- 프론트엔드(
Next.js
)가 사용자 요청을 받고, 백엔드 API 호출 - 백엔드는 인증, 로그인의 유효성 체크 및 DB에서 사용자 정보/세션 확인
- API 키가 유효하다면, GitHub Repo를 분석하여 LangChain + LLM을 통해 결과 생성
- 결과를 백엔드에서 프론트엔드로 전달
- 프론트엔드는 받은 데이터를 화면에 렌더링하여 사용자에게 표시
이렇게 전체 흐름에서 Cursor가 백엔드 및 일부 프론트엔드 코드를 자동 생성해주며, 개발자는 주로 프롬프트를 작성하고 결과물을 디버깅하는 작업을 하게 됩니다.
2. Cursor 입문 / 목표
이 공부는 Cursor IDE를 활용해 풀스택 AI 애플리케이션을 개발하는 방법을 소개합니다. 기존에 JS/HTML/CSS/Next.js 등에 대한 경험이 전무했음에도 불구하고 Cursor를 통해 빠르고 효율적으로 학습하고 실제로 작동하는 애플리케이션을 만들 수 있음을 시연합니다.
Cursor IDE 숙련도 향상
- Cursor의 핵심 기능과 베스트 프랙티스를 익히고,
- 실제 개발 과정에서 가장 효과적인 워크플로우를 학습
개인용 end-to-end 마이크로 SaaS 애플리케이션 완성
- 강의가 끝날 때쯤에는 직접 사용할 수 있는 AI 기반 웹 서비스를 보유
- 이 구조(“스켈레톤”)를 바탕으로 자신만의 프로젝트를 발전시킬 수 있음
소프트웨어 개발의 미래 참여
- Cursor와 같은 AI 코파일럿 도구의 보급으로 인해,
- 향후에는 특정 언어가 아닌 자연어(Natural Language) 중심으로 개발이 이루어질 것이라는 비전 제시
- “파이썬 개발자, 자바스크립트 개발자” 구분 없이, 소프트웨어 개발자로서 협업하게 될 미래 전망
기술 스택(Tech Stack)
- Next.js: 풀스택 애플리케이션 프레임워크
- V0, CDN: UI 컴포넌트 자동 생성 & 배포
- Supabase (PostgreSQL): 데이터 저장 및 관리
- Vercel: 애플리케이션 배포
- LangChain.js: 대형 언어 모델(LLM)과의 연동(백엔드 로직)
개발 과정 요약
- Cursor 설정 및 사용
- 대부분의 코드는 Cursor가 자동 생성
- 프롬프트 작성 → 코드 제안 → 필요한 수정 및 재지시(Prompt Iteration)
- 개발 & 디버깅
- 생성된 코드가 항상 완벽하지 않으므로,
- 오류나 버그 발생 시 Cursor에 “수정 지시”를 내리거나 직접 코드를 디버깅
- 공개된 GitHub 데이터에 학습된 LLM 특성상, 때로는 품질이 떨어지는 코드가 생성될 수 있음 → 반복적인 개선 필수
- 배포 & 활용
- 완성된 애플리케이션을 Vercel에 배포
- Supabase와 연동하여 데이터베이스 기능 활성화
- 배포 후 실제로 사용자에게 서비스가 가능한 마이크로 SaaS 형태 실현
- Cursor 설정 및 사용
[개발자(수강생)]
|
| (프롬프트 작성)
v
[Cursor IDE]
| (자동 코드 생성)
v
[Next.js 프로젝트 구조/코드]
|
|--- (백엔드 로직) ---> [LangChain.js & LLM 연동]
|
|--- (DB 연동) ---> [Supabase (PostgreSQL)]
|
v
[애플리케이션 구동 및 디버깅]
| (오류/버그 확인)
v
[Cursor IDE에 수정 지시 or 직접 코드 수정]
|
v
[완성된 풀스택 AI 애플리케이션]
|
| (배포)
v
[Vercel (호스팅)]
|
v
[최종 사용자에게 서비스 제공]
- 개발자가 프롬프트를 통해 원하는 기능을 Cursor에 지시
- Cursor IDE가 코드 제안 및 생성 → 생성된 코드를 Next.js 프로젝트에 반영
- Next.js 백엔드 로직에서 LangChain.js를 활용하여 LLM과 통신
- 데이터는 Supabase(PostgreSQL)와 연동하여 저장/조회
- 디버깅 과정에서 Cursor에 다시 수정 지시를 내리거나, 직접 코드를 수정
- 완성된 애플리케이션을 Vercel에 배포하여 최종 사용자가 접근 가능
이와 같은 과정을 거쳐, Cursor를 활용한 AI 코디 개발 프로세스를 실제로 경험하고, 완전한 마이크로 SaaS 애플리케이션을 구축할 수 있게 됩니다.
3. Cursor 입문 / 커서란?
전체 개요
- Cursor는 AI 기반 코딩 생산성 향상 도구이며, 흔히 “10배 개발자(10x developer)”를 꿈꾸게 하는 프리미엄 코드 에디터.
- 간편한 워크플로우가 장점: 별도의 LLM 페이지나 도구로 왔다 갔다 하지 않고, 코드 에디터 내에서 곧바로 프롬프트를 입력하고 즉시 결과 코드를 확인 및 통합할 수 있음.
- 자동완성(tab completion) 같은 일반적인 코파일럿 기능뿐 아니라, 코드베이스/문서 인덱싱 기능이 제공되어 프로젝트 맞춤형 코드 생성을 지원함.
주요 특징
- 코드베이스 인덱싱
- 프로젝트 내 코드를 직접 인덱싱하여, LLM이 프로젝트 맥락을 이해하고 정확한 코드 제안을 할 수 있도록 지원.
- 프라이빗(사내) 데이터나 변경이 잦은 새로운 라이브러리도 재인덱싱하여 사용할 수 있어, 최신 코드/문서를 활용한 개발 가능.
- 개발 프로세스에 녹아드는 자연스러운 연동
- 별도의 도구 없이 Cursor 에디터 안에서 프롬프트를 작성 → 코드 생성 → 즉시 반영.
- 맥락 전환(Context Switching) 최소화로 생산성 극대화.
- 디버깅 및 코드 품질
- 자동 생성된 코드가 항상 완벽하지 않음 → 개발자가 코드를 확인하고, 필요 시 Cursor에 재지시하거나 직접 수정 필요.
- 일부 코드는 “오픈소스(GitHub)에서 학습된 저품질 코드” 영향을 받을 수 있지만, 반복적인 수정과 프롬프트 개선을 통해 해결.
- 개발자 역량 확장
- 예) HTML/CSS/JS/Next.js 지식이 없던 백엔드 개발자도 Cursor를 통해 풀스택 영역까지 빠르게 진입 가능.
- 단순히 코드를 대신 써주는 것이 아니라, AI를 효과적으로 활용하여 개발 역량 자체를 늘리는 데 집중.
- 개인 맞춤 워크플로우
- 여기서 제시하는 워크플로우가 유일한 해답은 아님.
- 여러 차례의 시도와 조정을 통해 자신에게 맞는 방식(프롬프트 작성 스타일, 자동 완성 사용 정도 등)을 찾아야 함.
- 인내심이 필요하며, “프롬프트와 코드 수정을 여러 번 반복”하여 최적의 결과물 도출.
- 코드베이스 인덱싱
[개발자]
|
| (프롬프트 작성)
v
[Cursor 에디터 & LLM 연동]
|--- (인덱싱한 코드베이스/문서 참고) --->
| (맥락 기반 코드 생성)
|<---------------------------------------
|
v
[자동생성 코드 제안]
|
| (검토 후 코드 반영 or 수정 요청)
v
[프로젝트 코드에 통합]
|
|--- (테스트/디버깅) --->
|<--- (오류 발견 시 프롬프트 수정 or 직접 수정)
|
v
[최종 코드 확정]
|
v
[개발자 : 기능 구현, 배포, 운영 등 다음 단계 진행]
- 개발자가 Cursor 에디터에 프롬프트(어떤 기능이 필요, 어떤 스타일로 코드를 작성 등)를 입력
- Cursor가 미리 인덱싱한 코드베이스(또는 문서) 정보를 활용하여 맥락에 맞는 코드를 생성
- 개발자가 제안된 코드를 검토 → 일부 수정 or 디버깅 필요 시 다시 Cursor에 재지시
- 완성된 코드를 프로젝트에 반영 → 테스트 & 디버깅
- 최종 코드가 확정되면 배포 등 다음 개발 단계 진행
이 흐름을 통해 개발자는 별다른 맥락 전환 없이 Cursor와 AI를 활용하여 빠른 코드 작성 및 수정을 진행하고, 필요한 경우 반복적으로 프롬프트를 조정하여 원하는 결과물에 도달할 수 있습니다.
3. Cursor 준비하기 / The GIST of Cursor.
여기선 Cursor라는 AI 기반 코드 에디터를 사용하여 Next.js 애플리케이션을 빠르게 구축하는 과정을 시연하고 있습니다. 다음의 시연 내용은 “어떤 식으로 Cursor를 활용해 개발 속도를 높이고, 원하는 기능을 구현할 수 있는가”를 보여주기 위한 예시이며, 다음 내용 전반에서 구체적인 설정과 오류 해결 과정을 자세히 다룰 예정입니다.
.cursorrules
파일- LM(대형 언어 모델)에 전달하는 추가 맥락(
context
)을 정의하는 파일. - 프로젝트별 요구사항, 개발 스타일, 인물(Persona) 설정 등을 기입해두면, 모든 프롬프트 요청 시 자동으로 고려됨.
- LM(대형 언어 모델)에 전달하는 추가 맥락(
Cursor Composer
- 여러 개의 파일에 걸쳐서 동시에 기능을 추가하거나 수정할 수 있는 강력한 프로덕션 워크플로우 도구.
- 한 번에 다중 파일 편집·생성 가능.
- (예) 스크린샷, 텍스트 등을 붙여넣고, “이 내용을 참고해 이런 기능을 만들어줘”라고 요청 가능.
Diff View & Checkpoints
- Diff View: Cursor가 제안한 변경사항(추가/삭제)을 시각적으로 확인 가능.
- Checkpoints: 프롬프트 요청 시마다 코드를 스냅샷(체크포인트)으로 저장.
- 롤백(Reset) 기능으로 특정 시점 이전 코드 상태로 간편 복원 가능.
Index(인덱싱) 기능
- 코드베이스 전체나 문서 등을 미리 인덱싱해 두면, 모델이 더 프로젝트 맥락에 맞는 코드 제안을 해줌.
- 새로운 라이브러리, 최신 문서 등을 재인덱싱하여 반영할 수 있음.
자동완성 & 버그 수정
- “버튼 기능이 안 된다” 같은 문제가 생기면, 해당 코드를 Composer에 추가 후 “고쳐줘”라고 지시하면 자동으로 버그 수정 코드를 제안.
- 개발자는 제안된 코드가 적절한지 검토 후 수락(accept) 또는 재지시(prompt 수정) 가능.
시연 과정 요약
- 초기 세팅
- Next.js 프로젝트 시작(기본 Boilerplate).
- page.tsx 파일에 기본 Landing Page가 있음.
- Landing Page 수정
.cursorrules
파일에 “시니어 프론트엔드 개발자” 스타일 등의 추가 맥락 정의.- Landing Page를 “중앙 집중형 링크/프로필” 서비스처럼 보이도록 Cursor Composer에 지시.
- Cursor가 자동으로 Hero 섹션, Card, 소셜 아이콘, 아바타, 애니메이션 등을 추가.
- 색상 테마 변경
- “더 나은 색상 테마로 변경해줘”라는 모호한 지시에도 Cursor가 자동으로 관련 파일들을 수정(글로벌 CSS, 레이아웃 등).
- 동적 라우트 구현
- Landing Page에서 “이름을 입력 → Claim 버튼 클릭” 시 /[username] 경로로 이동하도록 구현.
- Cursor가 Next.js 표준에 맞춰 동적 라우트 페이지 파일 생성 → 사용자 입력 값을 표시하는 페이지 완성.
- Checkpoints 활용
- Landing Page 여러 번 수정 후 마음에 들지 않을 경우, 체크포인트를 통해 간편히 이전 코드 상태로 롤백.
- 초기 세팅
개발할 때 주의할 점
- 자동으로 생성된 코드가 완벽하지 않을 수 있음 → 반드시 코드 검토 필요.
- “모호한” 프롬프트보다는 구체적인 요구사항을 줄수록 더 정확한 결과를 얻을 수 있음.
- Checkpoints와 Diff View를 통해, AI가 생성한 변경 사항을 꼼꼼히 확인하고 필요한 경우 쉽게 되돌리거나 다시 수정할 수 있음.