# **Ruby를 활용한 웹 개발** Ruby는 웹 개발에 최적화된 언어 중 하나로, 강력한 웹 프레임워크인 **Ruby on Rails(Rails)**를 중심으로 많은 웹 애플리케이션이 개발되고 있다. 또한, Sinatra 같은 경량 웹 프레임워크도 있어 다양한 방식으로 웹 애플리케이션을 개발할 수 있다. 이 글에서는 **Ruby 웹 개발의 개요, 주요 프레임워크, 기본적인 웹 애플리케이션 개발 방법**을 설명한다. --- ## **1. Ruby로 웹 개발을 하는 이유** Ruby는 **간결하고 직관적인 문법**을 가지고 있어 생산성이 높은 언어다. 특히 **Ruby on Rails** 프레임워크를 활용하면 **빠르게 웹 애플리케이션을 개발**할 수 있다. ### **1.1. Ruby 웹 개발의 장점** - **생산성이 높음**: 코드가 간결하여 개발 속도가 빠름 - **웹 프레임워크가 강력함**: Rails, Sinatra 등 다양한 프레임워크 제공 - **테스트 및 품질 관리가 쉬움**: RSpec, Capybara 등을 활용한 자동화 테스트 지원 - **커뮤니티 지원이 풍부함**: 많은 오픈소스 프로젝트와 패키지(gem) 제공 --- ## **2. Ruby 웹 프레임워크 종류** Ruby에는 여러 웹 프레임워크가 있지만, 가장 대표적인 두 가지는 다음과 같다. | 웹 프레임워크 | 특징 | |--------------|------------------------------------| | **Ruby on Rails** | MVC 패턴 기반의 강력한 풀스택 프레임워크 | | **Sinatra** | 가볍고 심플한 마이크로 프레임워크 | --- ## **3. Ruby on Rails 개요 및 기본 사용법** ### **3.1. Ruby on Rails란?** **Rails**는 Ruby 언어로 만들어진 풀스택 웹 프레임워크로, **MVC(Model-View-Controller) 아키텍처**를 기반으로 한다. **Rails의 특징** - **Convention over Configuration (설정보다 관례)**: 기본 설정을 제공하여 개발자가 설정할 사항을 최소화 - **DRY (Don't Repeat Yourself, 중복 코드 최소화)**: 재사용성이 높은 코드를 지향 - **Active Record ORM**: 데이터베이스 연동이 쉬움 ### **3.2. Rails 설치 및 프로젝트 생성** #### **(1) Rails 설치** Ruby와 Bundler가 설치되어 있어야 한다. ```sh gem install rails ``` 설치가 완료되면 Rails 버전을 확인할 수 있다. ```sh rails -v ``` #### **(2) 새로운 Rails 프로젝트 생성** ```sh rails new myapp cd myapp ``` #### **(3) 서버 실행** ```sh rails server ``` 이제 브라우저에서 `http://localhost:3000`에 접속하면 Rails 기본 화면을 볼 수 있다. --- ## **4. Rails의 MVC 구조** Rails는 **MVC 패턴**을 기반으로 동작한다. | 컴포넌트 | 설명 | |----------|-------------------------------| | **Model** | 데이터 및 비즈니스 로직 담당 (Active Record) | | **View** | 사용자에게 보여지는 화면 (HTML, ERB, JavaScript) | | **Controller** | 사용자 요청을 처리하고 Model과 View를 연결 | ### **4.1. 컨트롤러 생성 및 라우팅 설정** #### **(1) 컨트롤러 생성** ```sh rails generate controller Home index ``` #### **(2) 라우팅 설정** (`config/routes.rb`) ```ruby Rails.application.routes.draw do root "home#index" end ``` #### **(3) View 수정** (`app/views/home/index.html.erb`) ```html