01 시작하기에 앞서
Ruby on Rails란?
Ruby on Rails는 프로그래밍 언어 Ruby로 개발된 오픈소스 웹 프레임워크이며, 간략히 Rails라고 부릅니다. 앞으로 설명을 간결함을 위해 Rails로 줄여 부르겠습니다. Rails는 2014년 덴마크의 프로그래머 David Heinemeier Hansson에 의해 개발되었으며 현재 stable 버전을 기준으로 5.2.3 버전까지 출시되었습니다.
Rails는 완성도 있는 서비스를 빠르게 개발할 수 있는 풀스택 프레임워크로, 자주 사용하는 개발 방식을 규칙화하고 가치 없는 선택지를 제거하는 등 주목할만한 몇 가지 대표 특징이 있습니다. 그 때문에 높은 생산성을 보유하게 된 Rails는 스타트업 초기 단계에서 프로토타입과 그 이후의 웹 서비스를 만드는 데 주로 사용합니다. 만약 기존에 다른 웹 프레임워크를 사용해 본 분이라면 "Rails는 왜 여기까지 설정해주지?"라는 의문을 가지실 수 있습니다. 하지만 넓은 마음으로 Rails의 방식을 받아들인다면, 누구보다 빠르게 웹 서비스를 구축하는 경험을 터득하게 되실 겁니다.
Ruby on Rails의 특징
Rails가 매우 생산성 높은 프레임워크라고 자부할 수 있는 이유는 Rails가 채택한 몇 가지 철학과 크게 연관되어 있습니다. 본 내용은 Rails 공식 사이트에 게시된 The Rails Doctrine를 기반으로 합니다.
- Convention over Configuration(설정보다 규칙)
: Rails는 개발자가 설정해야 할 요소를 최대한 줄이고, 이를 규칙으로 미리 제공하여 빠른 개발을 가능하게 합니다. 기능을 개발할 때 한 가지 최선의 모범 답안을 가정하면, Rails는 그 답안을 실행하기 위해 필요한 기본 설정을 미리 제공하는 것이죠. 그러니 Rails에서 미리 제공하는 규칙을 지키며 개발한다면, 개발자는 정말 필요한 개발 작업에만 집중할 수 있어 웹 서비스를 굉장히 빠르게 구현할 수 있습니다. 물론 단점 또한 명백하게 존재합니다. 초기에 Rails를 커스터마이징 하려면 Rails의 규칙에 대해 이해해야 하기 때문에 직접 처음부터 모든 것을 개발하며 사용 방식을 체득하는 다른 프레임워크에 비해 초기 진입 장벽이 높다고 느낄 수 있습니다. - Don't Repeat Yourself (DRY)
: 같은 코드를 반복하지 마세요! Rails는 사용자가 코드 작성 또는 설정 세팅을 반복하지 않도록 다양한 자동화 옵션을 제공합니다. 예를 들어, 다른 프레임워크에서는 사용자가 직접 데이터베이스 스키마를 정의해야 했지만 Rails에서는 그럴 필요가 없습니다. 데이터베이스 테이블을 만들면 Rails가 자동으로 스키마 설정을 진행합니다. - MVC 패턴
: MVC 패턴은 Rails가 채택한 디자인 패턴으로, 이는 Model, View, Controller의 약자입니다. MVC 패턴은 하나의 어플리케이션 또는 프로젝트를 구성할 때, 그 구성요소를 3가지 역할로 구분한 패턴입니다. 좀 더 자세한 내용은 다음 강의에서 살펴보겠습니다.