내가 여기에 쓰는 Cursor.AI를 활용한 웹 어플리케이션 개발이 기존에 웹 페이지와 차별화되어 웹 어플리케이션 이라고 언급되는 이유는,
포스터와 같이 단방향으로 정보를 받는 것이 아니라 양방향으로 데이터를 주고 받는다는 것에 큰 차이점이 있다.
1강에서 언급한 바와 같이, 고객의 회원가입을 유도하여 고객 DB를 관리하고, 추천 서비스나 양방향 통신이 가능하기에 효과적으로 활용할 수 있다.
만드는 방법을 알려주겠다.
잠시 보여주자면 내가 개발하는 한 웹 어플리케이션의 백엔드는 이런식으로 생겼으며 우측에 보이는 채팅을 통해 개발이 가능하다.
CursorAI를 활용한 대략적인 사이트 개발
백엔드 개발을 위해서 먼저 백엔드 서버(server)가 필요하다.
서버는 하나의 컴퓨터라고 보면 된다. 또한 클라이언트도 하나의 컴퓨터이다.
참고로 컴퓨터는 단순 데스크톱 뿐만 아니라 모바일 스마트폰도 컴퓨터로 간주할 수 있으며,
실제로 서버 컴퓨터로 스마트폰도 활용할 수도 있다.
클라이언트(client)는 서버(server)와 통신하여 데이터를 주고받는다.
손쉽게 서버 컴퓨터를 확보할 수 있는 방법 중 하나는 클라우드를 이용하는 것이다.
이번 강의에서는 첫 회원가입 할 시 3개월 무료 50만원 티어를 제공하는 KT클라우드를 이용하여,
이후 CursorAI를 이용한 개발까지 수행하는 것을 목표로 해보자.
KT Cloud (https://cloud.kt.com/)
참고로 위에 이메일, 이름, 전화번호 정보는 정확한 본인의 정보를 입력해야 한다.
그리고 이후 결제정보도 정확하게 입력하지 않으면 추후에 KT에서 클라우드 사용을 제한할 수도 있다.
대시보드가 나왔다! 하지만 아직은 바로 서버를 파서 사용하지는 말라!
무료 50만원/3개월 쿠폰을 쓰려면 특수한 설정을 진행해야 한다.
메인 홈 화면 (cloud.kt.com) 으로 다시 가서, 위에 탭에 "무료체험" 탭을 들어가 "신청방법" 을 클릭한다.
이후 "신규 회원가입" 버튼을 누른다.
기본정보와 카드결제정보까지 일단 입력하라.
이후 홈 화면으로 돌아가 "무료체험 신청"을 클릭해 들어간다.
여기까지는 반드시 꼭 진행하기를 바란다! 그래야 무료 가입에서 3개월 50만원 티어의 혜택을 누릴 수 있으니!!!
이제 왼쪽 탭의 Server > Server 에서 서버 생성을 해서 백엔드로 활용할 서버 컴퓨터를 발급해오자.
서버 생성을 해보자. 처음 해볼때는 "1vCore 1GB" (22,500 원/월) 도 괜찮지만,
필자의 경험상 속도가 매끄럽게 서버를 사용하려면 "2vCore 4GB" (79,500 원/월) 정도는 되어야 한다.
아래처럼 서버 생성은 일반적으로 Ubuntu로 하는게 가장 무난하며, 서버 이름은 크게 상관없다.
서버의 상태가 "● 사용" 이 될 때까지 기다린다.
참고로 서버의 상태가 사용 준비가 되면, kt.cloud에서 설정한 이메일로 계정에 대한 비밀번호 이름이 올 것이다.
이후 "접속설정"을 눌러 들어간다.
일반적으로 포트는 22번(SSH), 80번(HTTP), 443번(HTTPS)를 열어두는 것이 좋다.
본 예제에서는 사설Port와 공인Port를 같게 설정했으나, 해킹시도를 걱정한다면 다른 포트로 설정하는 것도 좋은 방법이다.
사실 위 공인 IP를 공개해서 강의자료를 만드는 것이 좋은 방법은 아니지만, 어차피 이후 도메인과 연결할 것이며 노출될 것이기 때문에 그대로 쓴다.
이후 ssh 실행을 위해 Window+R 키를 눌러 cmd 를 입력하여 터미널을 연다. (참고로 현 컴퓨터의 OS는 Windows 11이다.)
처음 비밀번호 입력할 때는 위에 kt.cloud에서 온 이메일의 비밀번호를 입력해 접속한다.
이후에 ~# passwd 를 입력해 root계정의 비밀번호를 본인이 쓰기 편한 비밀번호로 변경한다.
이러면 다음번 부터는 root 비밀번호가 본인에게 익숙한 비밀번호로 접속할 수 있다.
이후 아래 서버의 설정부터는 잘 따라왔으면 좋겠다.
먼저 apt update (보통은 sudo apt update -- 로 해서 root권한을 이용해야 한다. 비전공자에게는 어렵겠지만 그러려니 했으면 한다.) 명령어로 현재 클라우드에 있는 Ubuntu OS의 필수 요소를 업데이트 해준다.
사실 서버를 root계정으로 접속해서 작업하는 것은 보안에 위험성이 따른다.
그래서 서버를 접속할 수 있는 사용자 계정을 따로 하나 만드는게 좋다.
(Windows에서 Administrator계정과, 다른 사용자 계정을 만드는 것과 비슷한 개념이다.)
여기서는 user1이라는 계정을 하나 추가해보도록 한다.
~# adduser user1
이라는 명령어로 계정을 추가하고, 비밀번호를 입력하고, 필수는 아니지만 사용자 정보를 입력한다.
이후에
sudo usermod -a -G sudo user1
으로 계정에 sudo권한을 주어야 하며, 혹시라도 비밀번호를 물어볼 경우에는 설정했던 root의 비밀번호를 치고 설정하면 된다.
이제 Ctrl+D를 눌러 잠시 접속되어있는 서버 상태를 종료하고 나온다.
다시 이번에는 생성된 user1의 계정을 이용하여 서버 접속을 시도해본다.
그 다음, miniconda라는 프로그램을 설치한다. miniconda는 Python의 Anaconda계통의 패키지로 압축버전이다.
user1@iseday:~$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
그리고
user1@iseday:~$ bash Miniconda3-latest-Linux-x86_64.sh
으로 설치한다.
yes 엔터
그냥 엔터 (/home/user1/miniconda3 에 설치하는 것에 동의)
SHELL이 실행될 때 (base)로 앞에 접두사 처럼 뜨는 것에 동의 -- 이 부분은 지금 이해가 안되더라도 추후 설명하겠다. SHELL은 터미널의 껍데기라는 뜻 이라는 것만 알아두었으면 좋겠다.
설치 완료되었으나, 아직은 티가 안난다. 아까처럼 Ctrl+D로 터미널을 종료했다가 다시 ssh로 user1으로 접속해보자.
-- 참고로 Ctrl+D를 하면 알아서 logout이 된다.
이제 Cursor를 활용하여 간단하게 서버를 실행하는 법을 수행해보자.
참고로 아직은 도메인을 연결한 상태가 아님을 알아두었으면 좋겠다.
CursorAI를 실행하는 법에 대한 간략한 예시 영상이다.
원리를 이해한다면 앞선 ssh 접속과 동일하게, Cursor라고 하는 IDE(통합개발환경, Integrated Development Environment, IDE)로 서버에 접속한 상태에서 열 수 있다.
왼쪽 탭에서 폴더 만들기 아이콘을 눌러 sample-app이라는 이름의 폴더를 만들었다.