info

Ruby on Rails(RoR)의 개념과 구조, 그리고 실무에서의 활용 방식을 정리한다.
핵심은 “Convention over Configuration 기반의 빠른 개발 생산성”이다.


📌 Ruby on Rails란?

Ruby on Rails는 Ruby 언어 기반의 웹 애플리케이션 프레임워크로,
빠른 개발을 위해 다양한 규칙과 자동화를 제공한다.

✅ 특징

  • Convention over Configuration (설정보다 규칙)
  • DRY (Don’t Repeat Yourself)
  • 풀스택 프레임워크
  • 빠른 프로토타이핑

📌 핵심 개념

1️⃣ MVC 패턴

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

tip

Rails는 MVC를 강제하는 구조로 코드 일관성이 높다


2️⃣ Convention over Configuration

  • 파일 위치, 네이밍 규칙이 정해져 있음
  • 설정 최소화
  • 개발 속도 극대화

예:

User 모델 → users 테이블 자동 매핑

3️⃣ Active Record

  • ORM(Object Relational Mapping)
  • DB 테이블 ↔ 객체 자동 매핑
class User < ApplicationRecord
end

📌 프로젝트 구조

app/
  ├─ models/
  ├─ controllers/
  ├─ views/
config/
db/
public/

📌 주요 기능

✅ 1. Routing

Rails.application.routes.draw do
  resources :users
end

✅ 2. Migration

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

      t.string :name
    end
  end
end

✅ 3. Scaffold

rails generate scaffold User name:string

tip

Scaffold를 통해 CRUD를 빠르게 생성 가능


📌 Rails vs Spring Boot

항목 Rails Spring Boot
언어 Ruby Java
구조 Convention 중심 Configuration 중심
생산성 매우 빠름 상대적으로 느림
확장성 중간 매우 높음
생태계 스타트업 중심 엔터프라이즈 중심

📌 실무 활용 패턴

✅ 스타트업 MVP

  • 빠른 개발 필요
  • 초기 서비스 구축

✅ Admin 시스템

  • CRUD 중심 서비스
  • 내부 관리 시스템

✅ API 서버

  • Rails API 모드 활용
rails new myapp --api

📌 장점과 단점

✅ 장점

  • 빠른 개발 속도
  • 높은 생산성
  • 코드 일관성

❌ 단점

  • 성능 튜닝 어려움
  • 대규모 시스템에서 한계
  • Ruby 생태계 축소

📌 사용 시 고려사항

🚨 성능

  • N+1 문제 주의
  • 캐싱 전략 필요

🚨 구조 확장

  • MSA 전환 시 어려움
  • 서비스 분리 필요

🚨 인력 수급

  • Ruby 개발자 부족

📌 정리

[!summary]
Ruby on Rails는 빠른 개발을 위한 생산성 중심 프레임워크이다.

  • 스타트업 MVP에 최적화
  • CRUD 기반 서비스에 강점
  • 대규모 시스템에서는 구조적 한계 존재

연결문서

댓글남기기