Ruby on Rails(레일의 루비)

Ruby on Rails
Ruby on Rails(레일의 루비)
Ruby On Rails Logo.svg
원저작자데이비드 하이네미어 핸슨
초기 릴리즈2004년 8월, 18년 전(2004-08)[1]
안정된 릴리스
7.0.3.1[2] / 2022년 7월 12일; 21일 전(2022년 7월 12일)
저장소
기입처루비
크기57.8 MB[3]
유형웹 응용 프로그램 프레임워크
면허증.MIT 라이선스
웹 사이트rubyonrails.org Edit this on Wikidata

Ruby on Rails(Rails)는 MIT 라이선스에 따라 Ruby로 작성서버 측 웹 애플리케이션 프레임워크입니다.Rails는 Model-View-Controller(MVC; 모델 컨트롤러) 프레임워크로 데이터베이스, 서비스 및 웹 페이지에 기본 구조를 제공합니다.데이터 전송을 위한 JSON 또는 XML, 사용자 인터페이스를 위한 HTML, CSS JavaScript 등의 웹 표준 사용을 권장하고 촉진합니다.MVC 외에도 Configuration(CoC), Don't repeat yourself(DRY), 활성 레코드 패턴 [4]등 잘 알려진 다른 소프트웨어 엔지니어링 패턴 및 패러다임의 사용을 강조합니다.

2005년에 등장한 Ruby on Rails는 심리스한 데이터베이스 테이블 작성, 이행, 신속한 애플리케이션 개발을 가능하게 하는 뷰의 비계화 등의 혁신적인 기능을 통해 웹 애플리케이션 개발에 큰 영향을 주었습니다.PythonDjango, Perl의 Catalyst, PHPLaravel, CakePHP 및 Yii, GroovyGrails, Elixir의 Phoenix, ScalaPlay, Node Js를 포함한 많은 다른 언어의 프레임워크가 Ruby on Rails의 영향을 받고 있습니다.

Ruby on Rails를 사용하는 유명한 사이트로는 Airbnb, Bloomberg, Crunchbase, Drible,[5] GitHub[6], Shopify 이 있다.

역사

David Heinemier Hanson은 웹 어플리케이션 회사 37signals의 프로젝트 관리 도구 Basecamp에 대한 작업에서 Ruby on Rails를 [7]추출했습니다.Hanson은 2004년 7월에 오픈 소스로 처음 Rails를 출시했지만 2005년 [citation needed]2월까지 이 프로젝트에 대한 커밋 권한을 공유하지 않았습니다.2006년 8월, 애플이 2007년 10월에 출시된 Mac OS X v10.5 "Leopard"[8]와 함께 Ruby on Rails를 출하할 것이라고 발표하면서, 프레임워크는 이정표에 도달했습니다.

Rails 버전 2.3은 템플릿, 엔진, 및 네스트된 모델 형태에서 크게 새로운 발전을 이루며 2009년 3월 15일에 출시되었습니다.개발자는 템플릿을 사용하여 사용자 정의 보석 및 구성을 사용하여 스켈레톤 애플리케이션을 생성할 수 있습니다.엔진을 통해 개발자는 경로, 보기 경로 및 모델이 포함된 애플리케이션 조각을 재사용할 수 있습니다.Rack Web 서버 인터페이스와 Metal을 사용하면 액션 컨트롤러를 [9]경유하는 최적화된 코드를 쓸 수 있습니다.

2008년 12월 23일, 또 다른 웹 애플리케이션 프레임워크인 Merb가 출시되었고, Ruby on Rails는 Merb 프로젝트와 연계하여 "Merb의 최고의 아이디어"를 Rails 3에 도입하여 두 [10]커뮤니티에 걸친 "불필요한 복제"를 종료할 것이라고 발표했습니다.Merb는 Rails 3.0 [11][12]릴리즈의 일부로 Rails와 합병되었습니다.

Rails 3.1은 2011년 8월 31일에 출시되었으며 기본 JavaScript 라이브러리로 Reversible Database Migrations, Asset Pipeline, Streaming, jQuery를 특징으로 하며 새롭게 [13]CoffeeScript와 Sass를 스택에 도입했습니다.

Rails 3.2는 2012년 1월 20일 보다 빠른 개발 모드와 라우팅 엔진(Journey 엔진이라고도 함), Automatic Query Desplete 및 Tagged [14]Logging을 탑재하여 출시되었습니다.Rails 3.2.x는 Ruby 1.8.[15]7을 지원하는 마지막 버전입니다.Rails 3.2.12는 Ruby 2.[16]0을 지원합니다.

Rails 4.0은 2013년 6월 25일에 출시되었으며 러시아 인형 캐싱, 터볼링크, 라이브 스트리밍을 도입하고 액티브 리소스, 액티브 레코드 옵서버 및 기타 구성요소를 보석으로 [17]분할하여 옵션으로 만들었습니다.

Rails 4.1은 2014년 4월 8일에 출시되었으며 Spring, Variants, Enums, Mailer Preview 및 secrets.yml을 [18]소개했습니다.

Rails 4.2는 2014년 12월 19일에 출시되었으며 Active Job, 비동기 이메일, 적절한 레코드, 웹 콘솔 및 외부 [19]키를 도입했습니다.

Rails 5.0은 2016년 6월 30일에 출시되었으며 액션 케이블, API 모드, Turbolinks [20]5를 선보였습니다.

Rails 5.0.0.1은 2016년 8월 10일에 출시되었으며 Rake 위의 Rails CLI를 독점적으로 사용하고 Ruby 버전 2.2.2 이상을 지원합니다.

Rails 5.1은 2017년 4월 27일 JavaScript 통합 변경사항(NPM으로부터의 JavaScript 의존관계 관리, WebPack을 통한 JavaScript 옵션 컴파일, jQuery에 의존하지 않고 vanilla JavaScript를 사용하여 Rails UJS를 다시 쓰기), 암호화된 메일 시크릿(Capybara)을 도입하였습니다.direct 및 해결된 경로와 [21]helper를 위한 form_tag/form_로 대체한 통합 form_을 사용합니다.

Rails 5.2는 2018년 4월 9일에 출시되었으며 ActiveStorage, 내장된 Redis Cache Store, 업데이트된 Rails Credentials 및 애플리케이션의 [22]콘텐츠 보안 정책을 구성할 수 있는 새로운 DSL 등의 신기능을 도입했습니다.

Rails 5.2.2는 2018년 12월 4일에 출시되었으며 수많은 버그 수정과 몇 가지 [23]로직 개선을 도입했습니다.

Rails 6.0은 2019년 8월 16일에 출시되었으며, 기본 웹 팩을 기본 설정으로 하여 메일 박스 라우팅, 기본 온라인 리치 텍스트 편집기, 병렬 테스트, 다중 데이터베이스 지원, 메일러 라우팅 및 새로운 자동 [24]로더를 추가하였습니다.

Rails 6.1은 데이터베이스별 연결 전환, 수평 데이터베이스 샤딩, 모든 어소시에이션의 신속한 로딩, 단일 테이블 상속의 대안으로 위임된 유형, 어소시에이션의 비동기 삭제, 오류 객체 및 기타 개선사항과 버그 [25]수정을 추가하여 2020년 12월 9일에 출시되었습니다.

Rails 7.0은 2021년 12월 15일에 출시되었으며, 기본적으로 Node.js와 Webpack을 JavaScript 관리를 위한 Import 맵으로 대체하고, Turbo와 Stimulate의 조합으로 Turbo와 Stimulate를 대체하며, 작업 중 암호화를 액티브 레코드에 추가하고, 코드 로딩 전용으로 Zeitwerk를 사용하는 [26]것 등을 포함합니다.

버전 이력
버전 발매일 호환 Ruby [27][28][29]버전
이전 버전, 더 이상 유지 보수되지 않음[30] 2005년 12월 13일 1.8.6
이전[31] 버전, 유지 보수 불필요: 1.2 2007년 1월 19일 1.8.6
이전[32] 버전, 유지 보수 불필요: 2.0 2007년 12월 7일 1.8.6
이전[33] 버전, 유지 보수 불필요: 2.1 2008년 6월 1일 1.8.6
이전[34] 버전, 유지 보수 불필요: 2.2 2008년 11월 21일 1.8.7 권장, 1.8.6 가능
이전 버전, 유지 보수 불필요: 2[35].3 2009년 3월 16일 1.8.7 권장, 1.8.6 및 1.9.1 가능
이전[36] 버전, 유지 보수 불필요: 3.0 2010년 8월 29일 1.9.3 권장, 1.8.7 및 1.9.2 가능
이전[37] 버전, 유지 보수 불필요: 3.1 2011년 8월 31일 1.9.3 권장, 1.8.7 및 1.9.2 가능
이전[38] 버전, 유지 보수 불필요: 3.2 2012년 1월 20일 1.9.3 권장, 1.8.7 및 1.9.2 가능
이전[39] 버전, 유지 보수 불필요: 4.0 2013년 6월 25일 2.0 권장, 1.9.3 이후 필요
이전[18] 버전, 유지 보수 불필요: 4.1 2014년 4월 8일 2.0, 1.9.3거나 새로운 필요한 선호했다.
오래 된 버전, 더 이상 유지되:4.2[19]. 12월 19일 2014년 2.0, 1.9.3거나 새로운 필요한 선호했다.
오래 된 버전, 더 이상 유지되:5.0[20]. 6월 30일 2016년 2.2.2항이나 새로운
오래 된 버전, 더 이상 유지되:5.1[21]. 5월 10일 2017년까지 2.2.2항이나 새로운
나이 든 버전, 아직도:5.2[22]유지된다. 4월 9일 2018년 2.2.2항이나 새로운
나이 든 버전, 아직도:6.0[24]유지된다. 8월 16일 2019년 2.5.0이나 새로운
이전[25] 버전이지만 유지 보수: 6.1 2020년 12월 9일 2.5.0 이후
현재 안정적인 버전: 7.0[26] 2021년 12월 15일 3.0 권장, 2.7.0 이후
향후[40] 출시: 7.1 미정 3.1 권장, 2.7.0 이후
범례:
구버전
이전 버전, 아직 유지 관리됨
최신 버전
최신 프리뷰 버전
향후 출시


기술 개요

Ruby on Rails는 릴리즈에서 릴리즈로 급진적으로 발전하여 새로운 테크놀로지의 사용과 인터넷상의 새로운 표준을 채택하고 있습니다.일부 기능은 Ruby on Rails에서 매우 안정적인 반면, 일부는 새로운 기술로 대체되었습니다.

모델 뷰 컨트롤러 패턴

모델 뷰 컨트롤러(MVC) 패턴은 애플리케이션 프로그래밍을 구성하는 기본 구조입니다.

기본 구성에서는 Ruby on Rails 프레임워크의 모델이 데이터베이스 테이블 및 Ruby 파일에 매핑됩니다.예를 들어 모델 클래스 User는 일반적으로 app/models 디렉토리의 파일 'user.rb'에 정의되며 데이터베이스의 'users' 테이블에 링크됩니다.개발자는 이 규칙을 무시하고 모델, 파일 및 데이터베이스 테이블에 대해 다른 이름을 선택할 수 있지만 이는 일반적인 방법이 아니며 "Convention-over-configuration" 원칙에 따라 권장되지 않습니다.

컨트롤러는 웹 서버에서 응용 프로그램에 대한 외부 요청에 대해 렌더링할 뷰 파일을 결정하는 Rails의 서버 측 구성요소입니다.또한 컨트롤러는 하나 이상의 모델에 정보를 조회하여 뷰에 전달해야 할 수도 있습니다.예를 들어, 항공사 예약 시스템에서 비행 검색 기능을 구현하는 관제사는 검색과 일치하는 항공편을 찾기 위해 개별 항공편을 나타내는 모델을 조회해야 하며, 관련 2차 데이터를 찾기 위해 공항과 항공사를 대표하는 모델을 조회해야 할 수도 있다.관제사는 비행 데이터의 일부를 해당 뷰에 전달할 수 있으며, 여기에는 비행 데이터를 사용하여 비행당 1개의 행이 있는 테이블을 포함하는 HTML 문서를 생성하는 논리와 정적 HTML이 혼합되어 있습니다.컨트롤러는 하나 이상의 액션을 제공할 수 있습니다.Ruby on Rails에서 액션은 일반적으로 특정 외부 웹 브라우저 요청에 응답하는 방법을 설명하는 기본 단위입니다.또한 컨트롤러/액션은 대응하는 루트가 매핑되어 있는 경우에만 외부 Web 요구에 액세스 할 수 있습니다.Rails는 개발자에게 작성, 신규, 편집, 업데이트, 파기, 표시 및 색인과 같은 작업을 포함하는 RESTful 경로를 사용할 것을 권장합니다.이러한 착신 요구/루트의 컨트롤러 액션으로의 매핑은 routes.rb 컨피규레이션파일로 간단하게 설정할 수 있습니다.

Rails 기본 구성의 보기erb 파일이며 런타임에 평가되고 HTML로 변환됩니다.또는 다른 많은 템플리트 시스템을 뷰에 사용할 수 있습니다.

Ruby on Rails에는 기본 웹 사이트에 [41]필요한 모델 및 뷰 중 일부를 자동으로 구성할 수 있는 비계 등 일반적인 개발 태스크를 바로 사용할 수 있는 툴이 포함되어 있습니다.또한 루비와 함께 배포되는 단순한 루비 웹 서버인 WEBrick과 보석으로 배포되는 빌드 시스템인 Rake도 포함되어 있습니다.이러한 툴은 Ruby on Rails와 함께 기본적인 개발 환경을 제공합니다.

HTTP 서버

Ruby on Rails는 일반적으로 인터넷에 직접 접속하지 않고 일부 프런트 엔드서버를 통해 접속합니다.Mongrel은 초기에는 [citation needed]WEBrick보다 일반적으로[by whom?] 선호되었지만, Lighttpd, Apache, Cherokee, Hiawatha, Nginx(예를 들어 모듈로서 또는 CGI, FastCGI 또는 mod Ruby를 통해)에서도 실행할 수 있습니다.2008년 이후 승객은 Mongrel을 대신하여 Ruby on [42]Rails에서 가장 많이 사용되는 웹 서버가 되었습니다.Ruby는 IBM [43]i에서도 네이티브로 지원됩니다.

자바스크립트

Ruby on Rails는 JavaScript 라이브러리의 프로토타입과 Script.aculo.us를 광범위하게 사용하여 Ajax [44]액션을 스크립팅하는 것으로도 주목할 만하다.Ruby on Rails는 처음에는 웹 서비스를 위해 경량 SOAP을 사용했지만 나중에 RESTful서비스로 대체되었습니다.Ruby on Rails 3.0은 페이지의 마크업(페이지 구조를 정의함)과 스크립팅(페이지 기능 또는 로직을 결정함)을 분리합니다.jQuery는 프로토타입을 대체하기 위해 완전히 지원되며, 업계 전반에서 jQuery로의 이동을 반영하는 Rails 3.1의 기본 JavaScript 라이브러리입니다.또한 CoffeeScript는 기본 JavaScript 언어로 Rails 3.1에 도입되었습니다.

웹 서비스

버전 2.0 이후 Ruby on Rails는 HTML과 XML을 모두 표준 출력 형식으로 제공합니다.후자는 RESTful 웹 서비스를 위한 설비입니다.

CSS

Rails 3.1은 표준 CSS 템플릿으로 Sass를 도입했습니다.

템플릿

기본적으로 서버는 HTML 뷰에서 Embedded Ruby를 사용하며 파일 확장자는 html.erb입니다.Rails는 HAML 콧수염과 같은 대체 템플리트 언어 교환을 지원합니다.

루비 버전

Ruby on Rails 3.0은 Ruby 1.8.7, Ruby 1.9.2 및 JRuby 1.5.2+에서 작동하도록 설계되었습니다. 이전 버전은 [45]지원되지 않습니다.

Ruby on Rails 3.2는 Ruby 1.8.7을 지원하는 마지막 시리즈입니다.

프레임워크 구조

Ruby on Rails는 ActiveRecord(데이터베이스 액세스를 위한 객체 관계 매핑 시스템), Action Pack, Active Support 및 Action Mailer 등 다양한 패키지로 구분됩니다.버전 2.0 이전 Ruby on Rails에는 Active Resource로 대체된 Action Web Service 패키지도 포함되어 있습니다.개발자는 표준 패키지와는 별도로 플러그인을 만들어 기존 패키지를 확장할 수 있습니다.이전 Rails는 자체 커스텀 프레임워크 내에서 플러그인을 지원했습니다.버전 3.2는 표준 Ruby "gems"[46]를 선호하여 이러한 플러그인을 권장하지 않습니다.

도입

Ruby on Rails는 현재 버전의 Ruby에 포함된 패키지[47] 매니저인 RubyGems를 사용하여 설치하는 경우가 많습니다.많은 무료 Unix 계열 시스템은 Ruby on Rails 설치 및 네이티브 패키지 관리 시스템을 통한 의존 관계도 지원합니다.

Ruby on Rails는 일반적으로 MySQL이나 Postgre 등의 데이터베이스 서버와 함께 도입됩니다.SQLPusion Passenger 모듈을 실행하는 Apache 의 웹 서버.

철학 및 설계

Ruby on Rails는 Configuration over Configuration(CoC) 및 Don't Repeat Yourself(DRY) 원칙강조하기 위한 것입니다.

Rails 독트린은 Ruby on Rails 프레임워크의 철학, 설계 및 구현을 안내하는 영속적인 Enabler입니다.

"Convention over Configuration"은 개발자가 애플리케이션의 비전통적인 측면만 지정하면 된다는 것을 의미합니다.예를 들어 모델에 Sale 클래스가 있는 경우 데이터베이스의 해당 테이블을 기본적으로 sales라고 합니다.표를 "판매된 제품"이라고 부르는 등 이 규칙을 벗어나는 경우에만 개발자는 이러한 이름에 대한 코드를 작성해야 합니다.일반적으로 Ruby on Rails 규약은 코드와 [48]반복을 줄여줍니다.

"자신을 반복하지 마세요"는 정보가 하나의 명확한 장소에 있다는 것을 의미합니다.예를 들어, Rails의 ActiveRecord 모듈을 사용하면 개발자는 클래스 정의에서 데이터베이스 열 이름을 지정할 필요가 없습니다.대신 Ruby on Rails는 클래스 이름을 기반으로 데이터베이스에서 이 정보를 검색할 수 있습니다.

「팻 모델, 스키니 컨트롤러」는, 대부분의 애플리케이션 로직을 가능한 한 가볍게 해 모델내에 배치하는 것을 의미합니다.

HTML Over The Wire(Hotwire),[49][50] 개념적 압축 [51][52]및 강력한 보안은[53] 1인 프레임워크에 [a]대한 Rails 7.0의 접근 방식을 나타냅니다.

상표

2007년 3월 David Heinemier HansonUSPTO에 Ruby on Rails 관련 상표 3개를 등록하기 위해 출원했습니다.이러한 애플리케이션은 "RUBY ON Rails",[55] "RAILS[56]"라는 문구 및 공식 Rails 로고와 [57]관련이 있습니다.2007년 여름, Hansson은 일부 권위 있는 커뮤니티 멤버들에 의해 쓰여진 새로운 Ruby on Rails 책 표지에 Ruby on Rails 로고를 사용하는 것을 출판사 Apress의 허가를 거부했습니다.이 에피소드는 Ruby on Rails [58][59]커뮤니티에서 공손한 항의를 불러일으켰다.이러한 비판에 대해 Hansson은 다음과 같이 답변했다.

저는 직접 관련된 제품에 대해서만 [Rails 로고] 판촉 사용을 허가합니다.개발 과정의 일부였던 책이나 사형 집행에 대한 발언권이 있는 회의 같은 거요저는 [58]Rails의 모든 상표를 강제할 것입니다.

로고의 상표는 [57]2019년 10월 25일에 취소되었습니다.

접수처

확장성

이전에는 Matz의 Ruby Interpreter(Ruby의 사실상의 레퍼런스 인터프리터)에서 실행되는 Rails는 [60]확장성 문제로 비판을 받아왔다.이 비평가들은 종종 2007년과 2008년에 다양한 트위터 정지를 언급했고, 이로 인해 Twitter는 큐잉 시스템 및 기타 미들웨어를 위해 [61][62](Java Virtual Machine에서 실행되는) Scala부분적으로 전환되었다.이 사이트의 사용자 인터페이스 측면은 2011년까지 Ruby on[63] Rails를 계속 실행하다가 [64]성능 문제로 교체되었습니다.반면, 많은 Rails 비즈니스 애플리케이션 개발자들은 확장성 문제를 해결하기 위해 데이터베이스 엔진, 캐시 구성 및 서버 선택을 포함한 시스템 아키텍처 설계에 의존했습니다.Rails의 원저자인 David Heinemier Hanson은 트위터를 비판하면서, 그들의 문제는 Rails의 부실한 아키텍처 결정의 결과이지, Rails의 잘못이 아니라고 말했다.Hansson에 따르면, 프레임워크에 아무런 기여도 하지 않은 채 그들의 문제를 레일즈 탓으로 돌리는 것은 배은망덕하고 [65]부당하다고 한다.

2011년 Gartner Research는 Java에 대한 비판과 비교에도 불구하고 많은 유명 소비자 웹 기업들이 Ruby on Rails를 사용하여 확장 가능한 웹 애플리케이션을 구축하고 있다고 지적했습니다.Ruby on Rails를 운영하는 가장 큰 사이트에는 Airbnb, Cookpad, GitHub, Scribd, Shopify, Basecamp [66]등이 있습니다.2016년 1월 현재 120만 개 이상의 웹사이트가 Ruby on [67][68]Rails를 운영하고 있는 것으로 추정됩니다.

보안.

2012년 3월 보안 연구원인 Egor Homakov는 특정 Rails 애플리케이션을 원격으로 이용할 수 있는 대량 할당 취약성을 발견했으며, 책임 있는 공개 시도가 [69]기각된 후 악의 없이 GitHub를 해킹함으로써 이를 입증했습니다.

2013년 9월 24일 Ruby on Rails에서 세션 쿠키 지속성 보안 결함이 보고되었습니다.디폴트 설정에서는 세션해시 전체가 Cookie Store라고 불리는 세션쿠키 내에 저장되므로 세션쿠키를 소유하고 있는 인증된 세션은 나중에 언제든지 타깃 사용자로 로그인할 수 있습니다.회피책으로 ActiveRecordStore [70]등의 메커니즘을 사용하여 cookie를 서버에 저장하도록 설정할 것을 권장합니다.

연구원 다니엘 잭슨과 조셉 니어는 레일즈 프로그램의 데이터 액세스를 분석하고 프로그램이 접근 제한에 관한 규칙을 적절하게 준수하는지 여부를 판단할 수 있는 데이터 디버거를 개발했다.2016년 4월 15일, Near는 Space를 사용하는 50개의 인기 웹 애플리케이션을 분석한 결과 이전에 알려지지 않은 23개의 보안 [71]결함이 발견되었다고 보고했습니다.

메모들

  1. ^ Ruby on Rails 버전 7.0은 1인용 프레임워크(그 중 1페이지 어플리케이션은 1가지 접근 방식)를 지원합니다.

레퍼런스

  1. ^ "Rails 1.0: Party like it's one oh oh!". weblog.rubyonrails.org. 13 December 2005. Retrieved 1 March 2017.
  2. ^ "Rails Versions 7.0.3.1, 6.1.6.1, 6.0.5.1, and 5.2.8.1 have been released!". 12 July 2022. Retrieved 15 July 2022.
  3. ^ "Release v6.0.3.4 · rails/rails · GitHub". GitHub. Retrieved 16 December 2019.
  4. ^ "Getting Started with Rails: What Is Rails?". guides.rubyonrails.org. Retrieved 10 August 2014.
  5. ^ Goswami, Shubham. "Django vs Ruby on Rails – The Choice for Mobile App Development". appsearch.org. Retrieved 28 November 2020.
  6. ^ Conrad, Adam (3 August 2021). "Episode 471: Jason Meller on Choosing the Right Tech Stack for a Greenfield Project". SE-Radio.net. IEEE. Retrieved 9 November 2021.
  7. ^ Grimmer, Lenz−− (February 2006). "Interview with David Heinemeier Hansson from Ruby on Rails". MySQL AB. Archived from the original on 25 February 2013. Retrieved 8 June 2008.
  8. ^ Hansson, David (7 August 2006). "Ruby on Rails will ship with OS X 10.5 (Leopard)". weblog.rubyonrails.org. Retrieved 8 June 2008.
  9. ^ Hansson, David (16 March 2009). "Rails 2.3: Templates, Engines, Rack, Metal, much more!". weblog.rubyonrails.org.
  10. ^ "The day Merb joined Rails". rubyonrails.org. 27 December 2008. Archived from the original on 9 February 2013.
  11. ^ "Ruby on Rails 3.0 Release Notes — Ruby on Rails Guides". edgeguides.rubyonrails.org. Retrieved 24 May 2017.
  12. ^ "Ruby on Rails 3.0 goes modular". sdtimes.com. 10 February 2010. Retrieved 6 August 2010.
  13. ^ "Ruby on Rails 3.1 Release Notes". guides.rubyonrails.org. 1 September 2012.
  14. ^ "Ruby on Rails 3.2 Release Notes". guides.rubyonrails.org. 1 September 2012.
  15. ^ "Rails/master is now 4.0.0.beta". weblog.rubyonrails.org. 1 September 2012.
  16. ^ Rails 3.2.x는 Sikachu · Pull Request #9406 · Rails · GitHub에 의해 Ruby 2.0.0에 대응하게 되었습니다.Github.com 를 참조해 주세요.2014년 5월 30일 취득.
  17. ^ "Rails 4.0: Final version released!". weblog.rubyonrails.org. 25 June 2013. Retrieved 24 May 2017.
  18. ^ a b "Rails 4.1.0: Spring, Variants, Enums, Mailer previews, secrets.yml". weblog.rubyonrails.org. 8 April 2014.
  19. ^ a b "Rails 4.2: Active Job, Asynchronous Mails, Adequate Record, Web Console, Foreign Keys". weblog.rubyonrails.org. 19 December 2014. Retrieved 5 December 2015.
  20. ^ a b "Rails 5.0: Action Cable, API mode, and so much more". weblog.rubyonrails.org. 30 June 2016. Retrieved 19 November 2016.
  21. ^ a b "Rails 5.1: Loving JavaScript, System Tests, Encrypted Secrets, and more". weblog.rubyonrails.org. 27 April 2017. Retrieved 10 May 2017.
  22. ^ a b "Rails 5.2.0 FINAL: Active Storage, Redis Cache Store, HTTP/2 Early Hints, CSP, Credentials". weblog.rubyonrails.org. 9 April 2018. Retrieved 9 April 2018.
  23. ^ rafaelfranca (4 December 2018). "Rails 5.2.2 has been released!". weblog.rubyonrails.org. Retrieved 4 January 2019.
  24. ^ a b dhh (19 August 2019). "Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk". weblog.rubyonrails.org. Retrieved 12 November 2019.
  25. ^ a b eileencodes (9 December 2020). "Rails 6.1: Horizontal Sharding, Multi-DB Improvements, Strict Loading, Destroy Associations in Background, Error Objects, and more!". weblog.rubyonrails.org. Retrieved 28 December 2020.
  26. ^ a b dhh (15 December 2021). "Rails 7.0: Fulfilling a vision". weblog.rubyonrails.org. Retrieved 16 December 2021.
  27. ^ "Ruby/Rails Compatibility Matrix". devalot.com. Retrieved 5 March 2021.
  28. ^ "Upgrading Ruby on Rails". guides.rubyonrails.org. Retrieved 5 March 2021.
  29. ^ "Upgrading Ruby on Rails". edgeguides.rubyonrails.org. Retrieved 5 March 2021.
  30. ^ "레일 1.0: 파티는 마치 1oh처럼!"weblog.rubyonrails.org 를 참조해 주세요.2010년 6월 9일 취득.
  31. ^ "Rails 1.2: REST 칭찬, HTTP lovefest UTF-8 축하" Wayback Machine에 2012-11-02 아카이브.weblog.rubyonrails.org2010년 6월 9일 취득.
  32. ^ "레일 2.0: 됐다!"weblog.rubyonrails.org 를 참조해 주세요.2010년 6월 9일 취득.
  33. ^ Rails 2.1: 타임존, 더티, 캐싱, 보석 의존관계, 캐싱 Wayback Machine에서의 아카이브 2012-11-02.weblog.rubyonrails.org2010년 6월 9일 취득.
  34. ^ "레일 2.2: i18n, HTTP 검증기, 스레드 세이프티, JRuby/1.9 호환성, 문서." weblog.rubyonrails.org2010년 6월 9일 취득.
  35. ^ "레일 2.3: 템플릿, 엔진, 랙, 메탈 등!"weblog.rubyonrails.org 를 참조해 주세요.2010년 6월 9일 취득.
  36. ^ "레일 3.0: 준비됐어!"weblog.rubyonrails.org 를 참조해 주세요.2010년 8월 30일 취득.
  37. ^ "bumping to 3.1.0". Github.com.
  38. ^ "Preparing for 3.2.0 release". Github.com.
  39. ^ "Rails 4 in 30'". blog.wyeworks.com.
  40. ^ França, Rafael. "Start Rails 7.1 development". Github. Retrieved 24 February 2022.
  41. ^ Sean Lynch (15 December 2007). "fairleads: Rails 2.0 and Scaffolding Step by Step". Fairleads.blogspot.com. Retrieved 24 May 2017.
  42. ^ "Ruby on Rails: Deploy". rubyonrails.org. Archived from the original on 7 July 2009. Retrieved 3 December 2012.
  43. ^ Maxcer, Chris. "PowerRuby Brings Enterprise Ruby on Rails Support to IBM i". iPro Developer. Archived from the original on 9 October 2013. Retrieved 9 May 2014.
  44. ^ Js_Escape_Map. "ActionView::Helpers::JavaScriptHelper". Api.rubyonrails.org. Retrieved 24 May 2017.
  45. ^ "Rails 3.0: It's ready!". weblog.rubyonrails.org. 29 August 2010. Retrieved 30 August 2010. Rails 3.0 has been designed to work with Ruby 1.8.7, Ruby 1.9.2, and JRuby 1.5.2+.
  46. ^ "Rails 3.2.0.rc2 has been released!". weblog.rubyonrails.org. 1 September 2012.
  47. ^ "Ruby on Rails: Download". rubyonrails.org. Archived from the original on 12 December 2009.
  48. ^ "Getting Started with Rails". guides.rubyonrails.org. Retrieved 10 March 2014.
  49. ^ 데이비드 하이네미어 핸슨 (2021년 12월 7일) 핫와이어에 딱 맞는 시간이야
  50. ^ David Heinemier Hansson ( 2021년 9월 6일)Rails 7은 2021년 이후 JavaScript에 대한 3가지 훌륭한 답변을 제공합니다.
  51. ^ David Heinemier Hansson (2018년 4월 19일)개념 압축은 초보자가 SQL을 필요가 없음을 의미합니다.할렐루야!
  52. ^ David Heinemeier Hansson (2018년 5월 15일) RailsConf 2018: 오프닝 키노트: FIXME by David Heinemier Hansson 개념 압축
  53. ^ David Heinemeier Hansson (2020년 8월 31일)엄청난 보안
  54. ^ Ruby on Rails 및 hey.com의 크리에이터인 David Heinemier Hanson씨(2021년 12월 19일) 1인 프레임워크로서 Ruby on Rails Creator Touts 7.0을 만들었습니다'예전의 방식'
  55. ^ ""Ruby on Rails" Trademark Status". USPTO. Retrieved 15 December 2021.
  56. ^ ""Rails" Trademark Status". USPTO. Retrieved 15 December 2021.
  57. ^ a b "Rails Logo Trademark Status". USPTO. Retrieved 15 December 2021.
  58. ^ a b Forde, Pete (23 July 2007). "Beginning Rails: From Novice to Professional". Archived from the original on 5 August 2007. Retrieved 1 August 2007.
  59. ^ Cooper, Peter (24 July 2007). "David Heinemeier Hansson says No to Use of Rails Logo". Retrieved 1 August 2007.
  60. ^ "5 Question Interview with Twitter Developer Alex Payne". radicalbehavior.com. 29 March 2007. Archived from the original on 23 April 2009. Retrieved 4 November 2014. By various metrics Twitter is the biggest Rails site on the net right now. Running on Rails has forced us to deal with scaling issues - issues that any growing site eventually contends with – far sooner than I think we would on another framework.
  61. ^ Steve Jenson; Alex Payne & Robey Pointer interview (3 April 2009). "Twitter on Scala". artima.com. Retrieved 18 July 2009. We had a Ruby-based queuing system that we used for communicating between the Rails front ends and the daemons, and we ended up replacing that with one written in Scala. The Ruby one actually worked pretty decently in a normal steady state, but the startup time and the crash behavior were undesirable.
  62. ^ "Twitter jilts Ruby for Scala". theregister.co.uk. 1 April 2009. Retrieved 18 July 2009. By the end of this year, Payne said, Twitter hopes to have its entire middleware infrastructure and its APIs ported to the new language. Ruby will remain, but only on the front end. "We're still happy with Rails for building user facing features... performance-wise, it's fine for people clicking around web pages. It's the heavy lifting, asynchronous processing type of stuff that we've moved away from."
  63. ^ Ryan King (25 September 2009). "Twitter on Ruby". Evan Weaver. Retrieved 29 September 2009. We use Scala for a few things at Twitter, but the majority of the site is Ruby.
  64. ^ "Twitter Search is Now 3x Faster". Twitter. Retrieved 6 June 2014.
  65. ^ "I won't let you pay me for my open source". Retrieved 15 December 2021.
  66. ^ "Here's Why Ruby On Rails Is Hot". Business Insider. Archived from the original on 21 December 2011. Retrieved 10 February 2012.
  67. ^ "Ruby on Rails Usage Statistics". trends.builtwith.com. Retrieved 4 January 2016.
  68. ^ "Ruby on Rails Token Usage Statistics". trends.builtwith.com. Retrieved 4 January 2016.
  69. ^ Protalinski, Emil. "How GitHub handled getting hacked". Zdnet.com. Retrieved 24 May 2017.
  70. ^ Brook, Chris (25 September 2013). "Security Issue in Ruby on Rails Could Expose Cookies". Threat Post. The Kaspersky Lab Security News Service. Retrieved 4 June 2014.
  71. ^ "Patching up Web applications". MIT News. Retrieved 21 April 2016.

참고 문헌

외부 링크