[rails] ruby on rails 입문

1 minute read

레일즈(Rails)는 루비 언어로 작성된 웹 어플리케이션 프레임워크로, 2014년 덴마크의 프로그래머 데이비드 하이네마이어에 의해 개발되었다. 레일즈는 간결한 구조로 높은 생산성이 특징이며 MVC 패턴을 따른다.

Rails의 개발철학

  • DRY - “Don’t Repeat Yourself” 반복하지 말 것.
  • Convention Over Configuration - 설정보다 관습
  • RESTful

🔗Rails Guides - 레일즈 시작하기(한글)

1. Rails MVC 아키텍쳐

1.1. 모델 레이어

모델 레이어는 애플리케이션 별 비즈니스 로직을 캡슐화한다. 레일즈에서 데이터베이스 지원 모델 클래스는 ActiveRecord::Base이며, Active Record를 사용하면 데이터베이스 행 데이터를 객체로 표시하고, 이러한 객체를 비즈니스 로직 메서드로 사용할 수 있다. 대부분 데이터베이스에 의해 지원되지만, 일반 루비 클래스 또는 Active Model이 제공하는 인터페이스를 구현하는 루비클래스일 수 있다.

1.2. 컨트롤러 레이어

컨트롤러 레이어는 HTTP 요청을 처리하고 응답을 제공한다. 레일즈 컨트롤러는 HTML, XML, JSON, PDF, 모바일 전용 뷰 등을 생성할 수 있다. 레일즈에 들어오는 요청은 Action Dispatch를 통해 적절한 컨트롤러로 라우팅 되며, 컨트롤러 클래스는 ActionController::Base에서 파생된다. Action Dispatch 와 Action Controller는 Action Pack에 번들로 제공된다.

1.3. 뷰 레이어

뷰 레이어는 적절한 표현을 제공하는 “템플릿”으로 구성된다. 템플릿은 다양한 형식으로 제공되는데 대부분 뷰 템플릿은 루비 코드(ERB파일)가 내장된 HTML이다. 레일즈에서 뷰 생성은 Action View에서 처리된다.

🔗Rails API - Welcome to Rails(영문)

2. Rails 컴포넌트

  • Action Pack (VC)
    • Action Controller
    • Action Dispatch
    • Action View
  • Action Mailer
  • Active Model (M)
  • Active Record
  • Active Resource
  • Active Support
  • Railties

컴포넌트별 설명과 자세한 내용은 위의 링크를 통해 확인하면 된다.

Comments