Capistrano로 자동 배포 파이프라인 만들기
·
Ruby On Rails
Heroku로 간편하게 배포해봤다면 이제는 직접 관리하는 서버에 자동 배포 파이프라인을 구축해볼 차례입니다.그 중심에는 바로 Capistrano가 있어요. 이 도구는 로컬에서 명령 한 번으로 원격 서버에 코드 배포, 마이그레이션, 서비스 재시작 등을 자동으로 수행합니다.이번 글에서는 Rails 앱을 Ubuntu 서버에 Capistrano로 자동 배포하는 기본 설정을 단계별로 정리해봅니다.🚀 1. Capistrano 설치# Gemfilegroup :development do gem 'capistrano', require: false gem 'capistrano-rails', require: false gem 'capistrano-rbenv', require: false gem 'capistrano..
Heroku로 Rails 앱 배포하기 — 빠르고 간단한 클라우드 배포
·
Ruby On Rails
Rails를 로컬에서만 실행하는 건 반쪽짜리 개발입니다.진짜 세상에 보여주기 위해선 클라우드에 배포가 필요하죠.오늘은 가장 쉽고 빠른 배포 플랫폼인 Heroku를 이용해 Rails 앱을 배포하는 과정을 정리해볼게요.단 10분이면 여러분의 앱을 전 세계 누구나 볼 수 있게 됩니다. 준비되셨나요? 🚀🔧 1. Heroku CLI 설치먼저 [Heroku 공식 CLI](https://devcenter.heroku.com/articles/heroku-cli)를 설치합니다. macOS, Windows, Linux 모두 지원합니다.$ brew tap heroku/brew && brew install heroku$ heroku login로그인 후 브라우저가 열리면 Heroku 계정으로 인증해주세요.🗃️ 2. 앱 준..
Rails 앱 보안 점검 — CSRF, SQL Injection 막기
·
Ruby On Rails
웹 애플리케이션을 운영한다는 건 단지 기능만 잘 구현하는 게 아닙니다.그보다 더 중요한 건 서비스를 안전하게 지키는 일이죠.이번 글에서는 Rails 앱을 개발할 때 반드시 신경 써야 할 보안 이슈 중, 가장 대표적인 CSRF와 SQL Injection을 다뤄보겠습니다.🛡️ CSRF(Cross Site Request Forgery) 방지❓ CSRF란?로그인된 사용자의 세션을 악용해 의도하지 않은 요청을 보내는 공격입니다.예를 들어, 사용자가 로그인된 상태에서 악성 사이트에 접속하면 모르게 포스트가 삭제되거나 설정이 바뀌는 등의 피해가 발생할 수 있어요.✅ Rails의 기본 방어Rails는 기본적으로 CSRF 공격을 막기 위한 토큰 기반 보호가 활성화돼 있습니다.# app/controllers/applic..
메일 발송 기능 구현 — ActionMailer와 Gmail SMTP 연동하기
·
Ruby On Rails
사용자 회원가입, 주문 확인, 비밀번호 재설정… 모든 서비스에는 메일 발송 기능이 필요합니다.Rails에서는 이를 위해 ActionMailer라는 전용 클래스가 제공되며, Gmail SMTP 서버를 이용하면 누구나 손쉽게 이메일을 전송할 수 있어요.이번 글에서는 회원가입 확인 메일을 예시로 ActionMailer + Gmail SMTP 연동을 처음부터 끝까지 정리해볼게요.📮 1. ActionMailer 클래스 생성$ bin/rails generate mailer UserMailer위 명령어를 실행하면 다음과 같은 파일이 생성됩니다:app/mailers/user_mailer.rbapp/views/user_mailer/ (메일 템플릿 디렉토리)✉️ 2. 메일 메서드 정의# app/mailers/user_m..
댓글 기능 추가하기 — 모델 연관관계 완전 정복
·
Ruby On Rails
게시판, 블로그, 커뮤니티… 어디서든 빠지지 않는 기능이 바로 댓글이죠.이번 글에서는 Post와 Comment 사이의 관계를 설정하고, 댓글 작성/조회/삭제까지 구현하면서 Rails의 모델 연관관계를 완전히 이해해볼 거예요.🧱 1. 모델 관계 설계: Post has_many CommentsPost가 여러 개의 Comment를 가지는 구조입니다.$ bin/rails g model Comment body:text post:referencespost:references는 post_id 컬럼을 자동으로 추가하고, 외래키 관계를 설정합니다.# db/migrate/xxxxx_create_comments.rbt.text :bodyt.references :post, null: false, foreign_key: tr..
관리자 페이지 만들기 — RailsAdmin vs ActiveAdmin
·
Ruby On Rails
서비스를 운영하다 보면 데이터를 직접 관리할 수 있는 관리자 페이지가 꼭 필요해집니다.CRUD를 위한 UI를 매번 직접 만들기엔 시간도 오래 걸리고, 보안도 신경 써야 하죠.Rails 생태계에는 이를 간단하게 구현할 수 있는 두 개의 강력한 도구가 있습니다. 바로 RailsAdmin과 ActiveAdmin입니다.이번 글에서는 두 라이브러리를 비교하고, 각각 어떻게 설치하고 사용하는지 살펴볼게요.🏁 1. RailsAdmin — 빠르고 직관적인 관리자 대시보드✅ 설치# Gemfilegem 'rails_admin'$ bundle install$ bin/rails g rails_admin:install$ bin/rails db:migrate설치가 끝나면 /admin 경로에 관리자 페이지가 자동 생성됩니다.🔐..