본문으로 건너뛰기

AI 기반 Cursor와 Rails 8로 개인 블로그 재구축: 개발 워크플로우의 혁신

From Weeks to Days: Rebuilding My Blog with Rails 8 and Cursor AI

작성자
Ruby AI News
발행일
2025년 12월 19일
https://jkwuc89.com/blog_posts/rebuilding_my_blog_with_cursor

핵심 요약

  • 1 AI 코드 에디터 Cursor를 활용하여 Ruby on Rails 8 기반의 개인 웹사이트를 단 며칠 만에 신속하게 구축했습니다.
  • 2 Rails 8.1.1, SQLite3, Tailwind CSS, Hotwire를 핵심 스택으로 채택하여 저유지보수 고성능 블로그를 구현했습니다.
  • 3 Kamal 2와 DigitalOcean Droplet을 이용한 간편한 배포 및 SQLite 영구 볼륨 설정으로 효율적인 운영 환경을 구축했습니다.

도입

저자는 수년간 미뤄왔던 개인 웹사이트 jkwuc89.com의 재구축 프로젝트를 마침내 시작했습니다. 현대적인 기술 스택을 원했지만, 수동으로 모든 상용구 코드를 작성하는 것에 대한 부담감으로 인해 프로젝트는 계속 지연되었습니다. 그러나 이번에는 AI 기반 코드 에디터인 Cursor를 활용하여 Ruby on Rails 8 애플리케이션을 처음부터 구축하고 DigitalOcean Droplet에 배포하는 새로운 접근 방식을 택했습니다. 이로 인해 통상 몇 주가 걸릴 작업이 단 며칠 만에 완료되었으며, 저자는 이를 통해 개발 워크플로우의 변화를 경험했습니다.

이 프로젝트에서 가장 큰 변화는 저자의 역할이었습니다. 저자는 코드를 문자 단위로 직접 입력하는 대신, 아키텍트이자 코드 검토자의 역할을 수행했으며, Cursor AI가 실제 구현 팀 역할을 담당했습니다.

아키텍트 워크플로우

  • Composer Mode 활용: 기능 구현 시 Cursor의 Composer Mode를 적극 활용했습니다. 예를 들어, “블로그 게시물 및 프레젠테이션에 대한 전체 CRUD 작업을 허용하는 관리 인터페이스를 생성하고, public 디렉터리의 사용 가능한 Markdown 파일에서 선택할 수 있는 드롭다운을 포함하라”와 같은 프롬프트를 사용하여 모델, 컨트롤러, 뷰를 자동으로 생성했습니다.

  • AI Agent 활용: UI 문제(예: 바닥에 고정되지 않는 푸터, 모바일 반응형 문제) 발생 시 Cursor의 AI Agent를 사용했습니다. 특정 파일에 대해 “모바일에서 푸터가 하단에 고정되도록 수정하라”고 지시하면, AI가 Tailwind 클래스를 분석하여 자동으로 수정 사항을 적용했습니다.

기술 스택: Rails 8 & SQLite

저자는 유지보수가 적고 성능이 뛰어난 블로그를 목표로 다음 스택을 선택했습니다.

  • 프레임워크: Rails 8.1.1 (“One Person Framework” 철학)

  • 데이터베이스: 개발 및 프로덕션 모두 SQLite3 (Rails 8에서 프로덕션용으로 충분히 활용 가능해짐)

  • 프론트엔드: 스타일링을 위한 Tailwind CSS, 최소한의 JavaScript 상호작용을 위한 Hotwire (Turbo)

  • 콘텐츠 관리: 파일 기반. 블로그 게시물은 Kramdown을 통해 렌더링되는 Markdown 파일, 프레젠테이션은 슬라이드 덱으로 저장.

AI로 구축된 기능

Cursor를 사용하여 단기간에 다음과 같은 다양한 기능을 구현했습니다.

  • 커스텀 관리 인터페이스: 생체 정보, 연락처, 블로그 게시물을 관리하는 보안 백엔드.

  • 스마트 콘텐츠 로딩: public/blog_posts/에서 Markdown 파일을 자동으로 읽고 발췌문을 자동 생성.

  • 스티키 UI: 프로필 사진과 생체 정보가 있는 고정 헤더, 호버 시 강조되는 SVG 소셜 아이콘이 있는 스티키 푸터를 포함한 반응형 레이아웃.

  • GitHub 통합: 프레젠테이션 페이지가 슬라이드 덱 다운로드와 함께 관련 GitHub 저장소로 자동 연결.

배포: Kamal 2 & DigitalOcean

Rails 8에서는 Kamal 2가 기본 배포 도구로 채택되어 배포 과정을 혁신적으로 간소화했습니다.

  • 환경: NYC3 지역의 월 $6 DigitalOcean Droplet에 배포.

  • Kamal 작동 방식: Kamal은 Docker를 사용하여 애플리케이션을 컨테이너화하고, 서버 설정부터 Let’s Encrypt를 통한 SSL 인증서 획득까지 모든 것을 자동 처리합니다.

  • SQLite 영구 볼륨: Docker 컨테이너의 휘발성 특성을 고려하여, config/deploy.yml/var/lib/my-blog-storage:/rails/storage와 같은 영구 볼륨을 구성하여 프로덕션 데이터베이스가 배포 간에도 유지되도록 했습니다.

결론

jkwuc89.com 재구축 프로젝트는 강력하고 커스텀 가능한 소프트웨어를 구축하는 진입 장벽이 그 어느 때보다 낮아졌음을 입증했습니다. Rails 8의 컨벤션과 Cursor AI의 속도를 결합함으로써, 한 명의 개발자가 소규모 팀의 작업을 수행할 수 있는 시대가 도래했음을 보여줍니다. 이 프로젝트의 전체 코드는 GitHub에서 확인할 수 있으며, 이는 AI가 개발 워크플로우를 어떻게 변화시키고 생산성을 극대화할 수 있는지에 대한 실질적인 사례를 제시합니다.

댓글0

댓글 작성

댓글 삭제 시 비밀번호가 필요합니다.

이미 계정이 있으신가요? 로그인 후 댓글을 작성하세요.

0/1000
정중하고 건설적인 댓글을 작성해 주세요.