[rails] ruby on rails 입문
레일즈(Rails)는 루비 언어로 작성된 웹 어플리케이션 프레임워크로, 2014년 덴마크의 프로그래머 데이비드 하이네마이어에 의해 개발되었다. 레일즈는 간결한 구조로 높은 생산성이 특징이며 MVC 패턴을 따른다.
Rails의 개발철학
- DRY - “Don’t Repeat Yourself” 반복하지 말 것.
- Convention Over Configuration - 설정보다 관습
- RESTful
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에서 처리된다.
2. Rails 컴포넌트
- Action Pack (VC)
- Action Controller
- Action Dispatch
- Action View
- Action Mailer
- Active Model (M)
- Active Record
- Active Resource
- Active Support
- Railties
컴포넌트별 설명과 자세한 내용은 위의 링크를 통해 확인하면 된다.
Comments