728x90
반응형

 
 
프로젝트는 프롬프트엔지니어링을 통해 웹페이지 제작입니다.

전 포스팅에서 Front를 구축을 진행하였고, 이번 포스팅은 해당 프론트와 통신을 진행할 Backend 서버 구축입니다. 
동일하게 ChatGPT에 요구사항/기능/제약조건을 입력 후 PRD(Product Requirements Document, 제품 요구사항 문서)를 산출물로 받으며, 정리된 산출물을 기반으로, Cursor를 사용해 실제 코드 작성 및 프로젝트 구조화를 진행합니다.
 
 

ChatGPT를 통한 PRD 작성

 
다음 프롬프트를 통해 Chatgpt에 Backend 서비스 구축을 위한 PRD 생성 요청을 진행합니다. 

너는 Backend 개발을 하는 10년차 개발자이며 PM이야. 
신규 프로젝트에 들어가기 위한 PRD를 작성할 예정이야 

# 개요 - chatgpt api를 이용해 현재 주식에 대해 요약할 수 있는 기능이 있는 웹앱 

# 기능
- Front 서버로부터 주식 종목을 받을 수 있는 REST API 
- 전달 받은 종목을 Chatgpt API로 호출하여 최신 뉴스를 약 3~5줄 정도로 요약 및 긍정/부정을 검토 
- 요약된 정보를 다시 프론트서버로 전달 

# 제약조건 
- **fast api 기반으로 진행** 
- chatgpt api 비용이 많이 발생하지 않게 진행 
- Front는 다른 서버에 있다는 가정

 
위 프롬프트 입력 시, 다음 개요 및 기능을 포함한 PRD가 작성되게 됩니다. 필요한 부분을 정리해서 Front와 동일하게  Cursor에 입력을 합니다. 

 
 
그리고 Front와 동일하게  Cursor Settings을 진행합니다. (상세한 설명은 1탄으로)
1. Cursor Settings을 연 후, [Rules,Memories,Command..] 탭으로 이동 및 Project Rules에서 [+Add Rule] 버튼을 선택합니다. 그리고 필요한 프로젝트 룰 네이밍을 적 Rule을 생성합니다. 
 
2. Chatgpt로 얻은 RPD 결과물을 Project Rule로 작성합니다. 이 때, "Apply Manually"로 적용하여 @ 입력시 해당 RPD가 적용될 수 있게 설정합니다.
 

 
 

Cursor를 통한 프롬프트 엔지니어링

 
Fast API 프레임워크 사용을 위한 필요한 패키지를 다음 명령어를 통해 설치합니다. (Fedora버전)

# repoistory update
dnf update -y  

# Python 버전 및 필수도구 다운로드
sudo dnf install -y python3 python3-pip python3-devel

# 개발 도구 (일부 패키지 컴파일 시 필요)
sudo dnf install -y gcc gcc-c++ make

# pip 업그레이드
sudo python -m pip install --upgrade pip

# requirements.txt로 설치
sudo python-m pip install -r requirements.txt


# Redis 서버
sudo dnf install -y redis
sudo systemctl enable redis
sudo systemctl start redis

 
위 필요한 패키지가 전부 설치되면, cursor에 backend 서버 구축을 요청합니다.

@project-rule.mdc를 참고해 아래 조건으로 새로운 프로젝트를 생성해줘.

# Project Name
backend-stock

# Description
주식 정보를 요약하는 웹 애플리케이션.
Front 서버와 통시하는 Backend 서비스 구성

# Directory Structure
실제 현업에서 사용하는 구조로 구성해줘.

 
구축이 완료되면 아래 구조를 가진 Backend repo가 생성이 됩니다. 각 API에 대해 구분 및 gpt api를 사용하기 위한 환경변수도 함께 생성이됩니다. 

 

결과물

 
아래 명령어를 통해 Fast API 서버를 실행하고, API가 정상적으로 호출되는지 테스트 해봅니다. 

python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

 
API호출 전 cursor가 생성한 Swagger UI를 확인합니다. ( localhost:8000/docs)
해당 UI를 통해 API에 대한 상세 명세를 확인할 수 있으며, 테스트도 가능합니다. 

API 명세
API 결과 응답

 
다음으로 cursor가 생성한 파일(test_api.sh)로 API 테스트를 진행합니다.
해당 스크립트는 shell script로 작성되었습니다.
 

반응형
728x90
반응형

 
프로젝트는 프롬프트엔지니어링을 통해 웹페이지 제작입니다.

이번 포스팅은 ChatGPT에 요구사항/기능/제약조건을 입력 후 PRD(Product Requirements Document, 제품 요구사항 문서)를 산출물로 받습니다. 
다음 정리된 산출물을 기반으로, Cursor를 사용해 실제 코드 작성 및 프로젝트 구조화를 진행합니다.
 
 

ChatGPT를 통한 PRD 작성

다음 프롬프트를 통해 Chatgpt에 PRD 생성 요청을 진행합니다. 
프롬프트에는 Chatgpt에 개발자 역할 부여 및 개요/기능/제약조건을 명시합니다. 이렇게 역할 부여 및 제약조건을 명시하는 이유는 해당 방법이 조금 더 나은 결과물을 볼 수 있다는 논문이 있기 때문입니다.

너는 Frontend 개발을 하는 10년차 개발자이며 PM이야. 
신규 프로젝트에 들어가기 위한 PRD를 작성할 예정이야

# 개요
- chatgpt api를 이용해 현재 주식에 대해 요약할 수 있는 기능이 있는 웹앱

# 기능
- 홈 화면에는 주식 종목을 검색할 수 있는 기능
- 홈 화면에는 한시간마다 갱신되는 검색 순위(1위~10위)
- 검색 시 결과를 깔끔하게 보여줄 수 있는 화면


# 제약조건
- **Tailwind + Flex 기반**
- 모바일/웹 둘 다 사용할 수 있는 반응형 웹페이지

 
프롬프트 입력 시, 1.개요부터 8.예상일정까지 총 8단계에 RPD 산출물을 얻을 수 있었습니다. 다만 내용이 너무 많기에 필요한 부분을 정리하였습니다. 

 
 

Cursor Settings

 
Chatgpt로 PRD 생성이 완료되었으면, Cursor에 해당 PRD를 바라보고 개발을 할 수 있게 만들어야합니다.
Project Rules, User Rules, Notepad 등 다양한 방법이 있으나, 이번 프로젝트에서는 Project Rules에 적용하여 진행합니다.(Notepad의 경우 Beta 버전으로 진행되고 있으며, 사라질 수 있는 기능입니다.)
 
1. Cursor Settings을 연 후, [Rules,Memories,Command..] 탭으로 이동 및 Project Rules에서 [+Add Rule] 버튼을 선택합니다. 그리고 필요한 프로젝트 룰 네이밍을 적습니다. 해당 룰 파일은 추후 프로젝트 / 경로에 위치하게 됩니다. 

2. Chatgpt로 얻은 RPD 결과물을 Project Rule로 작성합니다. 이 때, "Apply Manually"로 적용하여 @ 입력시 해당 RPD가 적용될 수 있게 설정합니다.

 
위를 통해 저장된 Project Rule 파일은 아래처럼 프로젝트 / 경로 하위 .cursor/rules 에 저장되게 됩니다.

 
 

Cursor를 통한 프롬프트 엔지니어링

 
사전 조건으로 다음 명령어를 통해 필요한 패키지(java,npm,gradle..)를 설치합니다. (Fedora 버전)

# repoistory update
dnf update -y  

# java install & version check
dnf install java -y
java --version

# npm install & version check
dnf install npm -y
npm --version

# gradle file download & unzip & link & version check
wget https://services.gradle.org/distributions/gradle-9.2.0-bin.zip
mkdir /opt/gradle
unzip -d /opt/gradle gradle-9.2.0-bin.zip
sudo ln -s /opt/gradle/gradle-9.2.0/bin/gradle /usr/local/bin/gradle
gradle -v

 
위 repo 및 cursor 세팅이 완료되면 cursor를 통한 개발을 실행합니다.
다음 프롬프트를 이용해 project rule 설정을 바라보고 개발을 시작하게 합니다. 

@project-rule.mdc 를 참고해 아래 조건으로 새로운 프로젝트를 생성해줘.

# Project Name
front-stock

# Description
주식 정보를 요약하는 웹 애플리케이션.
메인 서버(API-GW)와 GPT-Manager 서버(별도)로 구성된 구조.

# Directory Structure
실제 현업에서 사용하는 구조로 구성해줘.

 
정상적으로 완료가 되면 다음 폴더 구조를 가진 프로젝트가 생성이 되어지고, 

 

결과물

 
아래 명령어를 통해 front 서버를 실행합니다. 그리고 최초 요청과 동일한 기능이 존재하는 지 확인해봅니다. 최초 요청 시, 1~10위였으나 5까지만 표시된 걸로 보여 이 부분은 프롬프트를 수정해가며 수정을 진행합니다.

 
 
각 종목을 클릭하게 되면, 결과물로 넘어가게 되고, 다음 화면처럼 보이게 됩니다.

 
 
다음은 백엔드 및 GPT API를 구성해보겠습니다.

반응형
728x90
반응형

 

Cursor를 이용해 웹페이지 제작 프로젝트를 진행합니다.

 

Cursor란?

 

- Cursor는 개발용 코드 에디터이자 AI 기반 IDE(Integrated Development Environment)입니다.

- VS Code에 강력한 AI 기능이 통합된 버전이라고 보면 됩니다.

- GPT-기반 모델(GPT-4 또는 GPT-4o) 또는 Claude 등을 활용해 코드 작성, 리팩토링, 디버깅도 가능합니다.

 

 

Cursor 다운로드

아래 URL을 통해 Cursor 다운로드 페이지로 접속합니다.

https://cursor.com/download 

 

Download

Download Cursor Available for macOS, Windows, and Linux.

cursor.com

 

1. 각 OS에 맞게 다운로드를 진행합니다. 저는 Windows 컴퓨터이다보니 "Download for Windows"로 진행합니다.

 

2. CursorSetup.exe 파일을 실행하여, 설치를 진행합니다.

 

 

 

2. 각 필요한 옵션에 맞게 설정해서 설치를 진행합니다. 이때 PATH에 추가하게 되면, enviorment에 cursor가 자동으로 추가되게 됩니다.

 

 

 

Cursor 설정

 

1. 설치가 완료된 후 로그인을 진행합니다.

 

2. 로그인 이후 바이브코딩을 진행할 때, 사용할 언어를 진행합니다.(Korean 설정)

 

3. 우측 상단의 톱니바퀴를 클릭해 설정 창을 열어줍니다.

 

4. 왼쪽 General 탭에 들어온 후, Privacy mode로 설정하여 작성 중인 코드를 학습데이터로 쓰이지 않게 합니다.

 

Cursor Chat 설정

 

다양한 모드를 지원하며, 각 모드별 설명은 다음과 같습니다.

- Agent: GPT-5, Gemini 등 다양한 언어 Model을 통해 코드 수정 및 리펙토리를 할 수 있게 합니다. 

- Ask : 현재 코드베이스 기반으로 질문을 하고 답변을 하는 방식입니다. 

 

Cursor SSH연결

 

인프라설명) Hyper-V를 통해 Linux 서버(Fedora OS)를 실행 중에 있으며, 해당 서버에 SSH로 접근 후 폴더 생성 및 프로젝트를 진행하는 구조입니다. 실행 중인 구조는 다음과 같습니다.

 

1. Connect via SSH 클릭 후, 좌측 Tab에 나오는 Remote-SSH extension을 설치합니다.

Extension Maketplace에서 ssh 검색해서 확인도 가능합니다. 

 

2. 그 후, 상단의 Search에서 " > ssh " 를 검색해 Remote-SSH: Connect Host를 선택합니다. 

 

3. 접속할 계정@IP 를 입력하고, SSH 연결을 시도합니다. 

 

4. 연결 후에, 작업 디렉토리로 이동해 프로젝트를 준비합니다. 아래 Terminal 탭을 통해 shell 명령어 입력을 할 수 있습니다.

 

 

 

Windows 컴퓨터에서 Linux 가상 머신 사용 방법은 다음 블로그 참고 부탁드립니다. 

https://dokeeo.tistory.com/53

 

Hyper-V 를 이용한 가상머신 생성하기 ( Linux )

Windows에서 Linux를 실행할 수 있는 다양한 방법이 존재 하는데, 이번 프로젝트에서는 Hyper-V를 이용해서 구성하고자 한다.   Windows10 기준으로 아래 검색 창에 "Windows 기능 켜기/끄기" 검색하여 실

dokeeo.tistory.com

 

반응형
728x90
반응형

 

Windows Hyper-V에서 OS 이미지를 가져와 직접 VM을 구성할 때 발생하는 오류.

 

 

오류 내용

1. SCSI DVD (0,1)

 - The signed image's hash is not allowed (DB)

2. Network Adapter (00155D2DF508)

 - A boot image was not found

3. SCSI Disk (0,0)

 - The boot loader did not load an operating system.

 

No operating system was loaded. Your virtual machine may be configured incorrectly. Exit and re-configure your VM or click restart to retry the current boot sequence again.

 

해결 방안

 

대부분 부팅 과정에서 보안 문제로 발생.

다음 과정을 통해 부팅 시 보안 검사를 하지 않게 변경할 수 있음. 해당 옵션 변경은 VM이 중지된 상태에서만 가능.

 

- 문제가 발생하고 있는 VM에 대해 우클릭 -> [설정] 진입

 

- 왼쪽 하드웨어 설정에서 보안으로 이동 후, 보안 부팅 사용 체크를 해제하고 적용 진행

 

설정이 완료되면 VM 실행 후, 동일한 증상이 발생하는 지 확인. 만약 동일한 증상이 발생한다면 네트워크 어댑터 수정 필요. 

 

 

반응형

+ Recent posts