이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
이 게시물에서는 Ruby 프로그래밍 언어로 작성된 인기 있는 웹 개발 프레임워크인 Ruby on Rails에 대해 포괄적이고 실용적으로 살펴볼 것입니다.
다음 주제를 다룹니다.
Ruby on Rails는 Ruby 프로그래밍 언어로 작성된 웹 개발 프레임워크입니다. 웹 애플리케이션을 빌드하고 배포하는 표준 방법을 제공하여 웹 애플리케이션을 더 쉽고 빠르게 개발할 수 있도록 설계되었습니다.
Rails는 Ruby on Rails 프레임워크와 함께 사용되는 경우가 많습니다. Ruby on Rails 프레임워크는 웹 애플리케이션을 더 쉽게 개발할 수 있는 도구 및 라이브러리 세트를 제공합니다.
Ruby on Rails는 MVC(Model View Controller) 아키텍처 패턴을 기반으로 합니다. 이것은 코드를 체계적으로 유지하고 유지 관리하기 쉽게 하는 데 도움이 되는 웹 애플리케이션의 일반적인 디자인 패턴입니다.
MVC 패턴은 세 부분으로 구성됩니다.
Ruby on Rails로 개발을 시작하려면 컴퓨터에 Ruby on Rails를 설치해야 합니다.
Ruby on Rails를 설치하는 방법에는 여러 가지가 있지만 여기서는 RubyInstaller 패키지를 사용할 것입니다.
RubyInstaller 웹사이트에서 RubyInstaller 패키지를 다운로드합니다.
설치 프로그램을 실행하고 프롬프트를 따릅니다. "PATH에 Ruby 실행 파일 추가" 옵션을 선택해야 합니다.
설치가 완료되면 새 터미널 창을 열고 ruby -v
를 입력하여 Ruby가 설치되었는지 확인합니다. 다음과 같은 내용이 표시되어야 합니다.
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
이제 Rails를 설치해야 합니다. 이를 위해 Ruby용 패키지 관리자인 gem
명령을 사용합니다. 터미널에서 gem install rails
를 입력합니다. 이렇게 하면 최신 버전의 Rails가 설치됩니다.
Rails가 설치되었는지 확인하려면 'rails -v'를 입력합니다. 다음과 같은 내용이 표시되어야 합니다.
Rails 5.2.3
이제 Ruby on Rails가 설치되었으므로 Rails 애플리케이션의 디렉토리 구조를 살펴보겠습니다.
Rails 애플리케이션은 각각 특정 목적을 가진 다양한 폴더와 파일로 구성됩니다.
다음은 가장 중요한 폴더 및 파일 목록입니다.
app
폴더에는 애플리케이션용 코드가 포함되어 있습니다.bin
폴더에는 애플리케이션의 실행 파일이 들어 있습니다.config
폴더에는 애플리케이션에 대한 구성 파일이 포함되어 있습니다.db
폴더에는 애플리케이션의 데이터베이스 파일이 들어 있습니다.lib
폴더에는 애플리케이션용 라이브러리 파일이 들어 있습니다.log
폴더에는 애플리케이션에 대한 로그 파일이 포함되어 있습니다.public
폴더에는 애플리케이션의 정적 파일이 포함되어 있습니다.test
폴더에는 애플리케이션에 대한 테스트 파일이 포함되어 있습니다.tmp
폴더에는 애플리케이션을 위한 임시 파일이 포함되어 있습니다.vendor
폴더에는 애플리케이션에 대한 타사 코드가 포함되어 있습니다.Rails 경로는 URL을 컨트롤러 작업에 매핑하는 데 사용됩니다. 그것들은 config/routes.rb
파일에 정의되어 있습니다.
예를 들어 다음 경로는 URL /articles
를 articles# index
작업에 매핑합니다.
get '/articles', to: 'articles#index'
Rails는 URL을 인수를 취하는 컨트롤러 작업에 매핑하는 데 사용할 수 있는 와일드카드 경로도 지원합니다.
예를 들어, 다음 경로는 URL /articles/:id
를 articles# show
작업에 매핑합니다.
get '/articles/:id', to: 'articles#show'
Rails 컨트롤러는 사용자 입력 및 상호 작용을 처리합니다. 이들은 app/controllers
폴더에 정의되어 있습니다.
각 컨트롤러는 특정 요청을 처리하는 메서드인 여러 작업으로 구성됩니다.
예를 들어 articles
컨트롤러에는 /articles
URL에 대한 요청을 처리하는 index
작업과 /articles/:id
URL에 대한 요청을 처리하는 show
작업이 있을 수 있습니다.
Rails 모델은 데이터 저장 및 검색을 담당합니다. 이들은 app/models
폴더에 정의되어 있습니다.
각 모델은 '기사' 또는 '사용자'와 같은 특정 데이터 유형을 나타냅니다. 모델은 일반적으로 데이터베이스에 데이터를 저장하는 데 사용되지만 XML 또는 JSON과 같은 다른 형식으로 데이터를 저장하는 데 사용할 수도 있습니다.
모델은 '기사'에 제목과 본문이 있는지 확인하는 등의 데이터 유효성 검사를 수행하는 데에도 사용할 수 있습니다.
Rails 뷰는 사용자에게 데이터를 표시하는 역할을 합니다. 이들은 app/views
폴더에 정의되어 있습니다.
보기는 일반적으로 HTML로 작성되지만 XML 또는 JSON과 같은 다른 형식으로도 작성할 수 있습니다.
보기는 템플릿을 사용하여 코드를 건조시킬 수도 있습니다. 예를 들어 기사 목록을 표시하는 보기는 단일 기사 표시를 담당하는 템플릿을 사용할 수 있습니다.
Rails 도우미는 보기에서 사용할 유틸리티 메서드를 제공하는 모듈입니다. 이들은 app/helpers
폴더에 정의되어 있습니다.
헬퍼는 날짜를 사람이 읽을 수 있는 형식으로 변환하는 것과 같이 표시할 데이터의 형식을 지정하는 데 사용할 수 있습니다. 또한 링크 또는 양식 필드와 같은 HTML 마크업을 생성하는 데 사용할 수도 있습니다.
Rails 레이아웃은 모든 보기에 대한 공통 레이아웃을 정의하여 보기 코드를 건조시키는 데 사용됩니다. app/views/layouts
폴더에 정의되어 있습니다.
레이아웃은 일반적으로 HTML로 작성되지만 XML 또는 JSON과 같은 다른 형식으로도 작성할 수 있습니다.
레이아웃은 템플릿을 사용하여 코드를 건조시킬 수도 있습니다. 예를 들어 모든 보기에 대한 공통 머리글 및 바닥글을 정의하는 레이아웃은 보기의 콘텐츠 표시를 담당하는 템플릿을 사용할 수 있습니다.
Rails 자산은 이미지, JavaScript 파일 또는 CSS 파일과 같이 애플리케이션에서 사용하는 정적 파일입니다. app/assets
폴더에 저장됩니다.
Rails는 자산을 처리하고 압축하는 데 사용할 수 있는 도구 세트인 자산 파이프라인도 제공합니다.
Rails 메일러는 애플리케이션에서 이메일을 보내는 데 사용됩니다. 이들은 app/mailers
폴더에 정의되어 있습니다.
메일러를 사용하여 암호 재설정 지침 또는 새 문서 알림과 같은 알림을 사용자에게 보낼 수 있습니다.
Rails ActiveRecord는 데이터베이스와 상호 작용하는 데 사용되는 객체 관계 매핑(ORM) 라이브러리입니다. activerecord
gem에 정의되어 있습니다.
ActiveRecord는 데이터를 검색하기 위한 '찾기', 데이터를 저장하기 위한 '저장'과 같이 데이터베이스 작업을 보다 쉽게 해주는 여러 가지 방법을 제공합니다.
Rails ActionPack은 웹 애플리케이션을 구축하는 데 사용되는 라이브러리 세트입니다. actionpack
gem에 정의되어 있습니다.
ActionPack은 요청 매개변수에 액세스하기 위한 'params' 및 뷰를 렌더링하기 위한 'render'와 같이 웹 애플리케이션을 보다 쉽게 개발할 수 있도록 하는 다양한 메서드와 클래스를 제공합니다.
Rails ActionView는 뷰를 렌더링하는 데 사용되는 라이브러리입니다. actionview
gem에 정의되어 있습니다.
ActionView는 뷰를 렌더링하는 render
및 부분 뷰를 렌더링하는 partial
과 같이 뷰를 더 쉽게 렌더링할 수 있는 여러 메서드와 클래스를 제공합니다.
Rails ActionMailer는 애플리케이션에서 이메일을 보내는 데 사용되는 라이브러리입니다. actionmailer
gem에 정의되어 있습니다.
ActionMailer는 이메일을 보내는 'mail'과 이메일에 첨부 파일을 추가하는 'attachments'와 같이 이메일을 보다 쉽게 보낼 수 있는 다양한 메서드와 클래스를 제공합니다.
Rails ActiveSupport는 Rails에서 사용하는 유틸리티 클래스 및 모듈 세트입니다. activesupport
gem에 정의되어 있습니다.
ActiveSupport는 단어를 복수화 및 단수화하는 'Inflector'와 날짜 및 시간의 형식을 지정하는 'Time'과 같이 Ruby 개체를 보다 쉽게 사용할 수 있도록 하는 다양한 메서드와 클래스를 제공합니다.
Rails 자산 파이프라인은 자산을 처리하고 압축하는 데 사용할 수 있는 도구 세트입니다. 이는 sprockets
gem에 정의되어 있습니다.
자산 파이프라인은 JavaScript 파일을 압축하기 위한 uglifier
및 Sass 파일을 컴파일하기 위한 sass
와 같이 자산 작업을 보다 쉽게 해주는 여러 메서드와 클래스를 제공합니다.
이 포스트에서 우리는 Ruby on Rails에 대한 종합적이고 실용적인 정보를 살펴보았습니다. 우리는 많은 근거를 다루었지만 이 인기 있는 웹 개발 프레임워크에 대해 더 배울 것이 있습니다.
Ruby on Rails에 대해 자세히 알아보려면 다음 리소스를 확인하세요.