🚄 Ruby on Rails란?

정의

Ruby on Rails(RoR)는 Ruby 기반의 웹 애플리케이션 프레임워크로, 규칙과 자동화를 통해 빠른 개발을 돕는다.

Rails는 Convention over ConfigurationDRY를 중시한다.
즉, 설정을 많이 하기보다 정해진 규칙을 따르도록 설계되어 있어 생산성이 높다.

🧭 핵심 개념

MVC 패턴

Model      데이터와 비즈니스 로직
View       사용자 인터페이스
Controller 요청 처리와 흐름 제어

핵심

Rails는 MVC 구조를 중심으로 동작해서 역할 분리가 명확하다.

Convention over Configuration

  • 파일 위치와 이름 규칙이 정해져 있다.
  • 설정을 줄이고 기본 규칙을 따른다.
  • 반복적인 구성을 줄여 개발 속도를 높인다.

Active Record

정의

Active Record는 데이터베이스 테이블과 Ruby 객체를 연결하는 ORM이다.

class User < ApplicationRecord
end

🏗️ 프로젝트 구조

app/
  models/
  controllers/
  views/
config/
db/
public/
  • app/models에는 도메인 로직이 들어간다.
  • app/controllers에는 요청 처리가 들어간다.
  • app/views에는 화면 템플릿이 들어간다.
  • config에는 환경과 라우팅 설정이 들어간다.
  • db에는 마이그레이션과 스키마가 들어간다.

⚙️ 주요 기능

Routing

Rails.application.routes.draw do
  resources :users
end
  • 요청 URL과 컨트롤러 액션을 연결한다.
  • REST 스타일로 라우팅을 구성하기 좋다.

Migration

class CreateUsers < ActiveRecord::Migration[6.0]
  def change
    create_table :users do |t|  

      t.string :name
    end
  end
end
  • 테이블 구조를 코드로 관리한다.
  • 변경 이력을 남기기 좋다.

Scaffold

rails generate scaffold User name:string

핵심

Scaffold를 사용하면 CRUD 화면과 기본 코드를 빠르게 생성할 수 있다.

🔍 실무에서 자주 쓰는 방식

  • 스타트업 MVP
  • CRUD 중심 관리자 페이지
  • API 서버
  • 내부 도구
rails new myapp --api

⚖️ Rails와 Spring Boot 비교

항목 Rails Spring Boot
언어 Ruby Java
구조 규칙 중심 설정 중심
생산성 높음 높음
확장성 중간 높음
생태계 스타트업 친화적 엔터프라이즈 친화적

✅ 장점

  • 빠른 개발 속도
  • 일관된 구조
  • CRUD 개발에 강함
  • 반복 작업이 줄어듦

⚠️ 단점

  • 대규모 시스템에서는 구조 조정이 필요할 수 있다.
  • 성능 튜닝이 필요한 경우가 있다.
  • Ruby 개발자 수급이 제한적일 수 있다.

📌 정리

  • Ruby on Rails는 빠른 개발에 강한 생산성 중심 프레임워크다.
  • MVC, Routing, Active Record가 핵심이다.
  • 규칙을 잘 따르면 유지보수가 쉬운 구조를 만들 수 있다.

연결문서

댓글남기기