한 눈에 읽는 루비 온 레일즈
    • 01
      시작하기에 앞서
    • 강의의 방향
      프로그래밍이란?
      프레임워크란?
      Ruby on Rails란?
      MVC 패턴이란?
    • 02
      개발 환경 설정 & Rails 기초
    • 학습 목표
      구름 IDE로 Rails 실행하기
      Rails App 구조
      웹 동작 방식
      첫 페이지 만들기
      페이지 이동하기
      서버로 데이터 전달하기 by form
      정리
    • 03
      CRUD 기능 구현
    • 학습 목표
      모델 생성하기
      create, read 하기
      update, destroy 하기
      정리
    • 04
      scaffold 사용하기
    • 학습 목표
      scaffold 기초
      scaffold 실행하기
      scaffold 이해하기1: RESTful과 resources
      scaffold 이해하기2: controller
      scaffold 이해하기3: view
      정리
    • 05
      인증 및 배포
    • 학습 목표
      라이브러리와 gem
      사용자 인증 기능 구현 (devise gem)
      배포란?
      Heroku로 배포하기
      정리
    • 06
      영상으로 따라하기
    • CRUD 따라하기
      Devise 따라하기
      Heroku 배포 따라하기
    Ruby on Rails란?
    01 시작하기에 앞서
    Ruby on Rails란?
    default

    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를 기반으로 합니다.

    1. Convention over Configuration(설정보다 규칙)
      : Rails는 개발자가 설정해야 할 요소를 최대한 줄이고, 이를 규칙으로 미리 제공하여 빠른 개발을 가능하게 합니다. 기능을 개발할 때 한 가지 최선의 모범 답안을 가정하면, Rails는 그 답안을 실행하기 위해 필요한 기본 설정을 미리 제공하는 것이죠. 그러니 Rails에서 미리 제공하는 규칙을 지키며 개발한다면, 개발자는 정말 필요한 개발 작업에만 집중할 수 있어 웹 서비스를 굉장히 빠르게 구현할 수 있습니다. 물론 단점 또한 명백하게 존재합니다. 초기에 Rails를 커스터마이징 하려면 Rails의 규칙에 대해 이해해야 하기 때문에 직접 처음부터 모든 것을 개발하며 사용 방식을 체득하는 다른 프레임워크에 비해 초기 진입 장벽이 높다고 느낄 수 있습니다.

    2. Don't Repeat Yourself (DRY)
      : 같은 코드를 반복하지 마세요! Rails는 사용자가 코드 작성 또는 설정 세팅을 반복하지 않도록 다양한 자동화 옵션을 제공합니다. 예를 들어, 다른 프레임워크에서는 사용자가 직접 데이터베이스 스키마를 정의해야 했지만 Rails에서는 그럴 필요가 없습니다. 데이터베이스 테이블을 만들면 Rails가 자동으로 스키마 설정을 진행합니다.

    3. MVC 패턴
      : MVC 패턴은 Rails가 채택한 디자인 패턴으로, 이는 Model, View, Controller의 약자입니다. MVC 패턴은 하나의 어플리케이션 또는 프로젝트를 구성할 때, 그 구성요소를 3가지 역할로 구분한 패턴입니다. 좀 더 자세한 내용은 다음 강의에서 살펴보겠습니다.
    질문하기