Рубин на рельсах
Оригинальный автор(ы) | Дэвид Хайнемайер Ханссон |
---|---|
Первоначальный выпуск | июль 2004 г [ 1 ] |
Стабильная версия | 7.1.3.4 [ 2 ]
/ 4 июня 2024 г |
Репозиторий | |
Написано в | Руби |
Размер | 57,8 МБ [ 3 ] |
Тип | Фреймворк веб-приложений |
Лицензия | МОЯ лицензия |
Веб-сайт | рубионрельсы |
Ruby on Rails (упрощенно Rails ) — это платформа серверных веб-приложений, написанная на Ruby под лицензией MIT . Rails — это фреймворк модель-представление-контроллер (MVC), предоставляющий структуры по умолчанию для базы данных , веб-сервиса и веб-страниц . Он поощряет и облегчает использование веб-стандартов, таких как JSON или XML для передачи данных, а также HTML , CSS и JavaScript для взаимодействия с пользователем. Помимо MVC, Rails подчеркивает использование других известных и парадигм разработки программного обеспечения шаблонов , включая соглашение о конфигурации (CoC), «не повторяйся» (DRY) и шаблон активной записи . [ 4 ]
Появление Ruby on Rails в 2005 году сильно повлияло на разработку веб-приложений благодаря инновационным функциям, таким как плавное таблиц создание базы данных, миграция и формирование представлений, обеспечивающих быструю разработку приложений. Влияние Ruby on Rails на другие веб-фреймворки остается очевидным и сегодня: многие фреймворки на других языках заимствовали его идеи, включая Django в Python ; Катализатор на Perl ; Laravel , CakePHP и Yii на PHP ; Грааль в Groovy ; Феникс в Эликсире ; Играть в Scala ; и Sails.js в Node.js.
Известные сайты, использующие Ruby on Rails, включают Airbnb , Crunchbase , Dribbble , [ 5 ] Гитхаб , [ 6 ] Твич [ 7 ] и Шопифай .
История
[ редактировать ]Дэвид Хайнемайер Ханссон извлек Ruby on Rails из своей работы над инструментом управления проектами Basecamp в веб-приложений компании 37signals . [ 8 ] Ханссон впервые выпустил Rails с открытым исходным кодом в июле 2004 года, но не поделился правами на принятие обязательств по проекту до февраля 2005 года. [ нужна ссылка ] В августе 2006 года фреймворк достиг важной вехи, когда Apple объявила, что будет поставлять Ruby on Rails с Mac OS X v10.5 «Leopard» . [ 9 ] который был выпущен в октябре 2007 года.
Версия Rails 2.3 была выпущена 15 марта 2009 года и содержала важные новые разработки в шаблонах, движках, Rack и формах вложенных моделей. Шаблоны позволяют разработчику создавать скелет приложения с настраиваемыми драгоценными камнями и конфигурациями. Механизмы дают разработчикам возможность повторно использовать части приложения вместе с маршрутами, путями просмотра и моделями. Интерфейс веб-сервера Rack и Metal позволяют писать оптимизированные фрагменты кода, которые обрабатываются вокруг Action Controller. [ 10 ]
23 декабря 2008 года был запущен Merb , еще одна платформа веб-приложений, и Ruby on Rails объявил, что будет работать с проектом Merb, чтобы воплотить «лучшие идеи Merb» в Rails 3, положив конец «ненужному дублированию» в обоих сообществах. [ 11 ] Merb был объединен с Rails в рамках выпуска Rails 3.0. [ 12 ] [ 13 ]
Rails 3.1 был выпущен 31 августа 2011 года и включает в себя обратимую миграцию баз данных, конвейер активов, потоковую передачу, jQuery по умолчанию JavaScript в качестве библиотеки CoffeeScript и Sass . , а также недавно добавленные в стек [ 14 ]
Rails 3.2 был выпущен 20 января 2012 года с более быстрым режимом разработки и механизмом маршрутизации (также известным как механизм Journey), автоматическим объяснением запросов и ведением журнала с тегами. [ 15 ] Rails 3.2.x — последняя версия, поддерживающая Ruby 1.8.7. [ 16 ] Rails 3.2.12 поддерживает Ruby 2.0. [ 17 ]
Rails 4.0 был выпущен 25 июня 2013 года и представил Russian Doll Caching, Turbolinks , Live Streaming, а также сделал Active Resource, Active Record Observer и другие компоненты необязательными, разделив их как драгоценные камни. [ 18 ]
Rails 4.1 был выпущен 8 апреля 2014 года и представил Spring, Variants, Enums, предварительные версии Mailer и secrets.yml. [ 19 ]
Rails 4.2 был выпущен 19 декабря 2014 года и представил Active Job, асинхронную электронную почту, Adequate Record, веб-консоль и внешние ключи . [ 20 ]
Rails 5.0 был выпущен 30 июня 2016 года и представил Action Cable, режим API и Turbolinks 5. [ 21 ]
Rails 5.0.0.1 был выпущен 10 августа 2016 года с эксклюзивным использованием Rails CLI поверх Rake и поддержкой Ruby версии 2.2.2 и выше.
Rails 5.1 был выпущен 27 апреля 2017 года и внес изменения в интеграцию JavaScript (управление зависимостями JavaScript из NPM через Yarn, необязательная компиляция JavaScript с помощью Webpack и переписывание Rails UJS для использования стандартного JavaScript вместо зависимости от jQuery), системные тесты с использованием Capybara , зашифрованные секреты, параметризованные почтовые программы, прямые и разрешенные маршруты, а также унифицированный помощник form_with, заменяющий помощники form_tag/form_for. [ 22 ]
Rails 5.2 был выпущен 9 апреля 2018 года и представил новые функции, в том числе ActiveStorage, встроенное хранилище кэша Redis, обновленные учетные данные Rails и новый DSL, который позволяет настраивать политику безопасности контента для приложения. [ 23 ]
Rails 5.2.2 был выпущен 4 декабря 2018 года и содержит множество исправлений ошибок и несколько улучшений логики. [ 24 ]
Rails 6.0 был выпущен 16 августа 2019 года, в нем Webpack стал использоваться по умолчанию, была добавлена маршрутизация почтовых ящиков, онлайн-редактор форматированного текста по умолчанию , параллельное тестирование, поддержка нескольких баз данных, маршрутизация почтовых рассылок и новый автозагрузчик. [ 25 ]
Rails 6.1 был выпущен 9 декабря 2020 года, в него добавлено переключение соединений для каждой базы данных, горизонтальное сегментирование базы данных , быстрая загрузка всех ассоциаций, делегированные типы в качестве альтернативы однотабличному наследованию, асинхронное удаление ассоциаций, объектов ошибок, а также другие улучшения и ошибки. исправления. [ 26 ]
Rails 7.0 был выпущен 15 декабря 2021 года, заменив Node.js и Webpack картами импорта для управления JavaScript по умолчанию, заменив Turbolinks комбинацией Turbo и Stimulus, добавив шифрование на работе в Active Record, используя Zeitwerk исключительно для загрузки кода, и многое другое. [ 27 ]
Rails 7.1 был выпущен 5 октября 2023 года, Dockerfiles поддерживает использование Kamal для развертывания вашего приложения, улучшения аутентификации, а теперь включает поддержку Bun . [ 28 ]
Версия | Дата выпуска | Совместимые версии Ruby [ 29 ] [ 30 ] [ 31 ] |
---|---|---|
[ 32 ] | 1.0.13 декабря 2005 г. | 1.8.6 |
[ 33 ] | 1.2.19 января 2007 г. | 1.8.6 |
[ 34 ] | 2.0.7 декабря 2007 г. | 1.8.6 |
[ 35 ] | 2.1.31 мая 2008 г. | 1.8.6 |
[ 36 ] | 2.2.21 ноября 2008 г. | рекомендуется 1.8.7; 1.8.6 возможно |
[ 37 ] | 2.3.16 марта 2009 г. | рекомендуется 1.8.7; 1.8.6 и 1.9.1 возможны |
[ 38 ] | 3.0.29 августа 2010 г. | 1.9.3 рекомендуется; возможны 1.8.7 и 1.9.2 |
[ 39 ] | 3.1.31 августа 2011 г. | 1.9.3 рекомендуется; возможны 1.8.7 и 1.9.2 |
[ 40 ] | 3.2.20 января 2012 г. | 1.9.3 рекомендуется; возможны 1.8.7 и 1.9.2 |
[ 41 ] | 4.0.25 июня 2013 г. | 2.0 предпочтительнее; Требуется 1.9.3 или новее |
[ 19 ] | 4.1.8 апреля 2014 г. | 2.0 предпочтительнее; Требуется 1.9.3 или новее |
[ 20 ] | 4.2.19 декабря 2014 г. | 2.0 предпочтительнее; Требуется 1.9.3 или новее |
[ 21 ] | 5.0.30 июня 2016 г. | 2.2.2 или новее |
[ 22 ] | 5.1.10 мая 2017 г. | 2.2.2 или новее |
[ 23 ] | 5.2.9 апреля 2018 г. | 2.2.2 или новее |
[ 25 ] | 6.0.16 августа 2019 г. | 2.5.0 или новее |
[ 26 ] | 6.1.9 декабря 2020 г. | 2.5.0 или новее |
[ 27 ] | 7.0.15 декабря 2021 г. | 2.7.0 или новее |
[ 42 ] | 7.1.5 октября 2023 г. | 2.7.0 или новее |
[ 43 ] | 7.22024 [ 44 ] | 3.1.0 или новее [ 45 ] |
[ 46 ] | 8.0подлежит уточнению | 3.3 или новее [ 47 ] [ 48 ] |
Старая версия Старая версия, все еще поддерживается Последняя версия Будущий выпуск |
Технический обзор
[ редактировать ]Ruby on Rails радикально развивается от выпуска к выпуску, исследуя использование новых технологий и внедряя новые стандарты в Интернете. Некоторые функции Ruby on Rails очень стабильны, а некоторые заменены новыми технологиями.
Шаблон модель-представление-контроллер
[ редактировать ]Шаблон модель -представление-контроллер (MVC) является фундаментальной структурой для организации программирования приложений.
В конфигурации по умолчанию модель в платформе Ruby on Rails сопоставляется с таблицей в базе данных и файлом Ruby. Например, класс модели User обычно определяется в файле user.rb в каталоге app/models и связан с таблицей users в базе данных. Хотя разработчики могут игнорировать это соглашение и выбирать разные имена для своих моделей, файлов и таблиц базы данных, это не является общепринятой практикой и обычно не рекомендуется в соответствии с философией « соглашение важнее конфигурации ». [ 49 ]
Контроллер . — это серверный компонент Rails, который отвечает на внешние запросы веб-сервера к приложению, определяя, какой файл представления следует отображать Контроллеру также может потребоваться запросить информацию у одной или нескольких моделей и передать ее представлению. Например, в системе бронирования авиабилетов контроллеру, реализующему функцию поиска рейсов, потребуется запросить модель, представляющую отдельные рейсы, чтобы найти рейсы, соответствующие поиску, а также может потребоваться запросить модели, представляющие аэропорты и авиакомпании, для поиска связанных вторичных данных. Затем контроллер может передать некоторое подмножество полетных данных в соответствующее представление, которое будет содержать смесь статического HTML и логики, использующей полетные данные для создания HTML-документа, содержащего таблицу с одной строкой на каждый полет. Контроллер может обеспечить одно или несколько действий. В Ruby on Rails действие обычно представляет собой базовую единицу, описывающую, как ответить на конкретный внешний запрос веб-браузера. Также обратите внимание, что контроллер/действие будет доступен для внешних веб-запросов только в том случае, если ему сопоставлен соответствующий маршрут. Rails поощряет разработчиков использовать Маршруты RESTful , которые включают в себя такие действия, как создание, создание, редактирование, обновление, уничтожение, отображение и индексирование. Эти сопоставления входящих запросов/маршрутов с действиями контроллера можно легко настроить в файле конфигурации router.rb.
Представление файл в конфигурации Rails по умолчанию представляет собой erb , который оценивается и преобразуется в HTML во время выполнения. В качестве альтернативы для представлений можно использовать многие другие системы шаблонов. [ нужна ссылка ]
Ruby on Rails включает инструменты, которые упрощают общие задачи разработки «из коробки», например, каркасы , которые могут автоматически создавать некоторые модели и представления, необходимые для базового веб-сайта . [ 50 ] Также включены WEBrick , простой веб-сервер Ruby, который распространяется вместе с Ruby, и Rake , система сборки, распространяемая как драгоценный камень . Вместе с Ruby on Rails эти инструменты обеспечивают базовую среду разработки. [ нужна ссылка ]
HTTP-серверы
[ редактировать ]Ruby on Rails чаще всего подключается к Интернету не напрямую, а через какой-либо интерфейсный веб-сервер . дворнягам Обычно предпочтение отдавалось [ кем? ] над WEBrick в первые дни, [ нужна ссылка ] но он также может работать на Lighttpd , Apache , Cherokee , Hiawatha , Nginx (либо как модуль — , Phusion Passenger например — либо через CGI , FastCGI или mod Ruby ) и многих других. Начиная с 2008 года, Passenger заменил Mongrel в качестве наиболее используемого веб-сервера для Ruby on Rails. [ 51 ] Ruby также изначально поддерживается в IBM i . [ 52 ]
JavaScript
[ редактировать ]Ruby on Rails также примечателен тем, что широко использует библиотеки Prototype JavaScript и Script.aculo.us для написания сценариев действий Ajax . [ 53 ] Ruby on Rails 3.0 отделяет разметку страницы (которая определяет структуру страницы) от сценариев (которые определяют функциональность или логику страницы).
Веб-сервисы
[ редактировать ]Начиная с версии 2.0, Ruby on Rails предлагает HTML и XML в качестве стандартных выходных форматов. Последний представляет собой средство для веб-сервисов RESTful.
CSS
[ редактировать ]В Rails 3.1 Sass стал стандартным шаблоном CSS .
Шаблон
[ редактировать ]По умолчанию сервер использует Embedded Ruby в представлениях HTML с файлами, имеющими расширение html.erb. Rails поддерживает замену альтернативных языков шаблонов, таких как HAML и Mustache .
Рубиновые версии
[ редактировать ]Ruby on Rails 3.0 был разработан для работы с Ruby 1.8.7, Ruby 1.9.2 и JRuby 1.5.2+; более ранние версии не поддерживаются. [ 54 ]
Ruby on Rails 3.2 — последняя серия выпусков, поддерживающих Ruby 1.8.7.
Рамочная структура
[ редактировать ]Ruby on Rails разделен на различные пакеты, а именно ActiveRecord ( система объектно-реляционного отображения для доступа к базе данных), Action Pack, Active Support и Action Mailer. До версии 2.0 Ruby on Rails также включал пакет Action Web Service, который теперь заменен Active Resource. Помимо стандартных пакетов, разработчики могут создавать плагины для расширения существующих пакетов. Раньше Rails поддерживал плагины в своей собственной среде; версия 3.2 отменяет их поддержку в пользу стандартных «драгоценных камней» Ruby. [ 55 ]
Развертывание
[ редактировать ]Ruby on Rails часто устанавливается с помощью RubyGems , менеджера пакетов. [ 56 ] который включен в текущие версии Ruby. Многие бесплатные Unix-подобные системы также поддерживают установку Ruby on Rails и его зависимостей через собственную систему управления пакетами .
Ruby on Rails обычно развертывается с сервером базы данных, например MySQL или PostgreSQL , и веб-сервером, например Apache, на котором работает модуль Phusion Passenger .
Философия и дизайн
[ редактировать ]Ruby on Rails предназначен для того, чтобы сделать упор на соглашение, а не на конфигурацию (CoC) и принцип «Не повторяй себя» (DRY).
Доктрина Rails — это постоянный инструмент, который определяет философию, проектирование и реализацию среды Ruby on Rails.
«Соглашение важнее конфигурации» означает, что разработчику необходимо указать только нетрадиционные аспекты приложения. Например, если в модели есть класс Sale называется sales , соответствующая таблица в базе данных по умолчанию . Только если кто-то отклоняется от этого соглашения, например называет таблицу «проданной продукцией», разработчику необходимо написать код, учитывающий эти имена. Как правило, соглашения Ruby on Rails приводят к меньшему количеству кода и меньшему количеству повторений. [ 57 ]
«Не повторяйтесь» означает, что информация расположена в одном однозначном месте. Например, используя модуль ActiveRecord Rails, разработчику не нужно указывать имена столбцов базы данных в определениях классов. Вместо этого Ruby on Rails может получить эту информацию из базы данных на основе имени класса.
«Толстые модели, тонкие контроллеры» означают, что большая часть логики приложения должна быть размещена внутри модели, при этом контроллер должен быть как можно более легким.
HTML по проводу (Hotwire), [ 58 ] [ 59 ] Концептуальное сжатие, [ 60 ] [ 61 ] и надежная безопасность [ 62 ] отметить подход Rails 7.0 к структуре One person. [ а ]
Товарные знаки
[ редактировать ]В марте 2007 года Дэвид Хайнемайер Ханссон , связанных с Ruby on Rails, подал заявку на регистрацию трех товарных знаков в USPTO . Эти заявления касаются фразы «RUBY ON RAILS», [ 64 ] слово «РЕЛЬСЫ», [ 65 ] и официальный логотип Rails. [ 66 ] Летом 2007 года Ханссон отказал издателю Apress в разрешении использовать логотип Ruby on Rails на обложке новой книги Ruby on Rails, написанной некоторыми авторитетными членами сообщества. Этот эпизод вызвал вежливый протест в сообществе Ruby on Rails. [ 67 ] [ 68 ] В ответ на эту критику Ханссон ответил:
Я разрешаю использование [логотипа Rails] только для продуктов, с которыми я непосредственно связан. Например, книги, в разработке которых я участвовал, или конференции, на которых я имел право голоса в их исполнении. Я определенно стремился бы обеспечить соблюдение всех товарных знаков Rails. [ 67 ]
Товарный знак логотипа был аннулирован 25 октября 2019 года. [ 66 ]
Прием
[ редактировать ]Масштабируемость
[ редактировать ]Раньше Rails, работавший на Ruby Interpreter компании Matz ( фактически эталонный интерпретатор Ruby), подвергался критике за проблемы с масштабируемостью. [ 69 ] Эти критики часто упоминали различные сбои в работе Twitter в 2007 и 2008 годах, что подстегнуло частичный переход Twitter на Scala (которая работает на виртуальной машине Java ) для их системы массового обслуживания и другого промежуточного программного обеспечения . [ 70 ] [ 71 ] Пользовательский интерфейс сайта по-прежнему работает на Ruby on Rails. [ 72 ] до 2011 года, когда он был заменен из-за опасений по поводу производительности. [ 73 ] С другой стороны, многие разработчики бизнес-приложений Rails полагались на проектирование системной архитектуры, включая выбор ядра базы данных, конфигурации кэша и серверов, для решения проблем масштабируемости. Первоначальный автор Rails Дэвид Хайнемайер Ханссон раскритиковал Twitter, заявив, что их проблемы с масштабированием были последствиями их собственных плохих архитектурных решений, а не виной Rails. По мнению Ханссона, обвинять Rails в своих проблемах, не внося при этом никакого вклада в развитие фреймворка, неблагодарно и несправедливо. [ 74 ]
В 2011 году компания Gartner Research отметила, что, несмотря на критику и сравнения с Java, многие известные потребительские веб-фирмы используют Ruby on Rails для создания масштабируемых веб-приложений. Некоторые из крупнейших сайтов, использующих Ruby on Rails, включают Airbnb , Cookpad , GitHub , GitLab , [ 75 ] Scribd , Shopify и Basecamp . [ 76 ] По оценкам, по состоянию на январь 2016 года более 1,2 миллиона веб-сайтов используют Ruby on Rails. [ 77 ] [ 78 ]
Безопасность
[ редактировать ]В марте 2012 года исследователь безопасности Егор Хомаков обнаружил уязвимость массового назначения , которая позволяла удаленно использовать некоторые приложения Rails, и продемонстрировал это, незлонамеренно взломав GitHub после того, как его предыдущие попытки ответственного раскрытия были отклонены. [ 79 ]
24 сентября 2013 года в Ruby on Rails было обнаружено нарушение безопасности сохранения файлов cookie сеанса. В конфигурации по умолчанию весь хэш сеанса хранится в файле cookie сеанса, известном как CookieStore , что позволяет любому аутентифицированному сеансу, имеющему файл cookie сеанса, войти в систему в качестве целевого пользователя в любое время в будущем. В качестве обходного пути администраторам рекомендуется настроить сохранение файлов cookie на сервере с помощью таких механизмов, как ActiveRecordStore . [ 80 ]
Исследователи Дэниел Джексон и Джозеф Ниар разработали отладчик данных, который они назвали «Space», который может анализировать доступ к данным программы Rails и определять, правильно ли программа придерживается правил, касающихся ограничений доступа. 15 апреля 2016 года компания Near сообщила, что анализ 50 популярных веб-приложений, использующих Space, выявил 23 ранее неизвестные уязвимости безопасности. [ 81 ]
См. также
[ редактировать ]Примечания
[ редактировать ]Ссылки
[ редактировать ]- ^ «[ANN] Rails 0.5.0: Конец пустому программному обеспечению!» . Rubytalk.org . 24 июля 2004 года . Проверено 1 августа 2024 г.
- ^ «Выпуск 7.1.3.4» . 4 июня 2024 г. Проверено 26 июня 2024 г.
- ^ «Выпуск v6.0.3.4 · рельсы/rails · GitHub» . Гитхаб . Проверено 16 декабря 2019 г.
- ^ «Начало работы с Rails: что такое Rails?» . guides.rubyonrails.org . Проверено 10 августа 2014 г.
- ^ Госвами, Шубхам. «Django против Ruby on Rails – выбор для разработки мобильных приложений» . appsearch.org . Проверено 28 ноября 2020 г.
- ^ Конрад, Адам (3 августа 2021 г.). «Эпизод 471: Джейсон Меллер о выборе правильного технологического стека для нового проекта» . SE-Radio.net . ИИЭЭ . Проверено 9 ноября 2021 г.
- ^ «Разрушение монолита на Twitch: Часть первая» .
- ^ Гриммер, Ленц-- (февраль 2006 г.). «Интервью с Дэвидом Хайнемайером Ханссоном из Ruby on Rails» . MySQL AB . Архивировано из оригинала 25 февраля 2013 года . Проверено 8 июня 2008 г.
- ^ Ханссон, Дэвид (7 августа 2006 г.). «Ruby on Rails будет поставляться с OS X 10.5 (Leopard)» . weblog.rubyonrails.org . Проверено 8 июня 2008 г.
- ^ Ханссон, Дэвид (16 марта 2009 г.). «Rails 2.3: Шаблоны, Движки, Стойки, Металл и многое другое!» . weblog.rubyonrails.org .
- ^ «День, когда Мерб присоединился к Rails» . Rubyonrails.org . 27 декабря 2008 г. Архивировано из оригинала 9 февраля 2013 г.
- ^ «Примечания к выпуску Ruby on Rails 3.0 — Руководства по Ruby on Rails» . Edgeguides.rubyonrails.org . Проверено 24 мая 2017 г.
- ^ «Ruby on Rails 3.0 становится модульным» . sdtimes.com. 10 февраля 2010 г. Проверено 6 августа 2010 г.
- ^ «Примечания к выпуску Ruby on Rails 3.1» . guides.rubyonrails.org . 1 сентября 2012 г.
- ^ «Примечания к выпуску Ruby on Rails 3.2» . guides.rubyonrails.org . 1 сентября 2012 г.
- ^ «Rails/master теперь 4.0.0.beta» . weblog.rubyonrails.org . 1 сентября 2012 г.
- ^ Rails 3.2.x теперь совместим с Ruby 2.0.0 от sikachu · Pull Request #9406 ·rails/rails · GitHub . Гитхаб.com. Проверено 30 мая 2014 г.
- ^ «Rails 4.0: выпущена финальная версия!» . weblog.rubyonrails.org . 25 июня 2013 года . Проверено 24 мая 2017 г.
- ^ Jump up to: а б «Rails 4.1.0: Spring, варианты, перечисления, предварительный просмотр почтовых программ, secrets.yml» . weblog.rubyonrails.org . 8 апреля 2014 г.
- ^ Jump up to: а б «Rails 4.2: активное задание, асинхронная почта, адекватная запись, веб-консоль, внешние ключи» . weblog.rubyonrails.org . 19 декабря 2014 года . Проверено 5 декабря 2015 г.
- ^ Jump up to: а б «Rails 5.0: Action Cable, режим API и многое другое» . weblog.rubyonrails.org . 30 июня 2016 года . Проверено 19 ноября 2016 г.
- ^ Jump up to: а б «Rails 5.1: любовь к JavaScript, системные тесты, зашифрованные секреты и многое другое» . weblog.rubyonrails.org . 27 апреля 2017 года . Проверено 10 мая 2017 г.
- ^ Jump up to: а б «Rails 5.2.0 FINAL: Active Storage, Redis Cache Store, ранние подсказки HTTP/2, CSP, учетные данные» . weblog.rubyonrails.org . 9 апреля 2018 года . Проверено 9 апреля 2018 г.
- ^ Рафаэльфранка (4 декабря 2018 г.). «Выпущен Rails 5.2.2!» . weblog.rubyonrails.org . Проверено 4 января 2019 г.
- ^ Jump up to: а б дхх (19 августа 2019 г.). «Rails 6.0: почтовый ящик действий, текст действия, несколько баз данных, параллельное тестирование, Webpacker по умолчанию и Zeitwerk» . weblog.rubyonrails.org . Проверено 12 ноября 2019 г. .
- ^ Jump up to: а б eileencodes (9 декабря 2020 г.). «Rails 6.1: горизонтальное сегментирование, улучшения нескольких баз данных, строгая загрузка, уничтожение ассоциаций в фоновом режиме, объекты ошибок и многое другое!» . weblog.rubyonrails.org . Проверено 28 декабря 2020 г.
- ^ Jump up to: а б дхх (15 декабря 2021 г.). «Rails 7.0: Воплощение видения» . weblog.rubyonrails.org . Проверено 16 декабря 2021 г.
- ^ «Rails 7.1: Dockerfiles, BYO-аутентификация, больше асинхронных запросов и многое другое!» . Рубин на рельсах . Проверено 8 октября 2023 г.
- ^ «Матрица совместимости Ruby/Rails» . devalot.com . Проверено 5 марта 2021 г.
- ^ «Обновление Ruby on Rails» . guides.rubyonrails.org . Проверено 5 марта 2021 г.
- ^ «Обновление Ruby on Rails» . Edgeguides.rubyonrails.org . Проверено 5 марта 2021 г.
- ^ "Rails 1.0: Вечеринка, как будто это одна, о-о!" . weblog.rubyonrails.org . Проверено 9 июня 2010 г.
- ^ «Rails 1.2: восхищение REST, праздник любви HTTP и празднование UTF-8». Архивировано 2 ноября 2012 г. на Wayback Machine . weblog.rubyonrails.org . Проверено 9 июня 2010 г.
- ^ "Rails 2.0: Готово!" . weblog.rubyonrails.org . Проверено 9 июня 2010 г.
- ^ Rails 2.1: Часовые пояса, загрязнение, кеширование, зависимости драгоценных камней, кеширование и т. д. Архивировано 2 ноября 2012 г. на Wayback Machine . weblog.rubyonrails.org . Проверено 9 июня 2010 г.
- ^ «Rails 2.2: i18n, HTTP-валидаторы, потокобезопасность, совместимость JRuby/1.9, документация» . weblog.rubyonrails.org . Проверено 9 июня 2010 г.
- ^ «Rails 2.3: шаблоны, движки, стойки, металл и многое другое!» . weblog.rubyonrails.org . Проверено 9 июня 2010 г.
- ^ "Rails 3.0: Готово!" . weblog.rubyonrails.org . Проверено 30 августа 2010 г.
- ^ "переход на 3.1.0" . Гитхаб.com .
- ^ «Подготовка к выпуску 3.2.0» . Гитхаб.com .
- ^ «Рельсы 4 в 30’ » . blog.wyeworks.com . Архивировано из оригинала 4 декабря 2012 года . Проверено 15 декабря 2012 г.
- ^ Франса, Рафаэль. «Rails 7.1: Dockerfiles, BYO-аутентификация, больше асинхронных запросов и многое другое!» . Rubyonrails.org . Проверено 5 октября 2023 г.
- ^ Франса, Рафаэль. «Разработка Rails 7.2 начинается сейчас» . Гитхаб . Проверено 26 сентября 2023 г.
- ^ Хайнемайер Ханссон, Дэвид. «7.2.0 Этапы» . Гитхаб . Проверено 26 декабря 2023 г.
- ^ Бюссье, Жан. «Увеличьте требуемую версию Ruby до 3.1.0» . Гитхаб . Проверено 31 декабря 2023 г.
- ^ Хайнемайер Ханссон, Дэвид. «8.0.0 Вехи» . Гитхаб . Проверено 31 декабря 2023 г.
- ^ Франса, Рафаэль (14 мая 2024 г.). "Повторно примените "Rails 8 будет ориентирован на Ruby 3.3+ только для новых приложений" " . Гитхаб .
- ^ Випул, AM (17 мая 2024 г.). «Начало разработки Rails 8, выпуск 7.0.8.2 и 7.1.3.3, Kamal по умолчанию и многое другое!» . weblog.rubyonrails.org .
- ^ «Доктрина Rails» . Рубин на рельсах . Проверено 7 июня 2024 г.
- ^ Шон Линч (15 декабря 2007 г.). «Fairleads: Rails 2.0 и строительные леса шаг за шагом» . Fairleads.blogspot.com . Проверено 24 мая 2017 г.
- ^ «Ruby on Rails: развертывание» . Rubyonrails.org . Архивировано из оригинала 7 июля 2009 года . Проверено 3 декабря 2012 г.
- ^ Макссер, Крис. «PowerRuby обеспечивает поддержку корпоративного Ruby on Rails в IBM i» . Разработчик iPro. Архивировано из оригинала 9 октября 2013 года . Проверено 9 мая 2014 г.
- ^ Js_Escape_Map. «ActionView::Helpers::JavaScriptHelper» . API.rubyonrails.org . Проверено 24 мая 2017 г.
- ^ «Rails 3.0: Готово!» . weblog.rubyonrails.org . 29 августа 2010 г. Проверено 30 августа 2010 г.
Rails 3.0 был разработан для работы с Ruby 1.8.7, Ruby 1.9.2 и JRuby 1.5.2+.
- ^ «Rails 3.2.0.rc2 выпущен!» . weblog.rubyonrails.org . 1 сентября 2012 г.
- ^ «Ruby on Rails: Скачать» . Rubyonrails.org . Архивировано из оригинала 12 декабря 2009 года.
- ^ «Начало работы с Rails» . guides.rubyonrails.org . Проверено 10 марта 2014 г.
- ^ Дэвид Хайнемайер Ханссон (7 декабря 2021 г.) Настало время для Hotwire
- ^ Дэвид Хайнемайер Ханссон (6 сентября 2021 г.) В 2021 г. в Rails 7 будет три отличных ответа на JavaScript.
- ^ Дэвид Хайнемейер Ханссон (19 апреля 2018 г.) Концептуальное сжатие означает, что новичкам не нужно знать SQL — аллилуйя!
- ^ Дэвид Хайнемайер Ханссон (15 мая 2018 г.) RailsConf 2018: Вступительная речь: FIXME Дэвида Хайнемайера Ханссона Концептуальное сжатие
- ^ Дэвид Хайнемайер Ханссон (31 августа 2020 г.) Серьезная безопасность
- ^ Дэвид Хайнемайер Ханссон, создатель Ruby on Rails и hey.com (19 декабря 2021 г.) Создатель Ruby on Rails рекламирует 7.0 как платформу для одного человека, «как это было раньше»
- ^ « Статус торговой марки «Ruby on Rails»» . ВПТЗ США . Проверено 15 декабря 2021 г.
- ^ « Статус товарного знака «Рейлс»» . ВПТЗ США . Проверено 15 декабря 2021 г.
- ^ Jump up to: а б «Статус торговой марки логотипа Rails» . ВПТЗ США . Проверено 15 декабря 2021 г.
- ^ Jump up to: а б Форд, Пит (23 июля 2007 г.). «Начинающий Rails: от новичка до профессионала» . Архивировано из оригинала 5 августа 2007 года . Проверено 1 августа 2007 г.
- ^ Купер, Питер (24 июля 2007 г.). «Дэвид Хайнемайер Ханссон говорит нет использованию логотипа Rails» . Проверено 1 августа 2007 г.
- ^ «Интервью из 5 вопросов с разработчиком Twitter Алексом Пейном» . радикальное поведение.com. 29 марта 2007 г. Архивировано из оригинала 23 апреля 2009 г. Проверено 4 ноября 2014 г.
По различным показателям Twitter на данный момент является крупнейшим сайтом Rails в сети. Работа на Rails вынудила нас решать проблемы масштабирования — проблемы, с которыми в конечном итоге сталкивается любой растущий сайт — гораздо раньше, чем, я думаю, мы бы это сделали на другом фреймворке.
- ^ Стив Дженсон; Интервью Алекса Пейна и Роби Пойнтера (3 апреля 2009 г.). «Твиттер на Scala» . artima.com . Проверено 18 июля 2009 г.
У нас была система очередей на основе Ruby, которую мы использовали для связи между интерфейсами Rails и демонами, и в итоге мы заменили ее системой, написанной на Scala. Ruby на самом деле работал довольно прилично в нормальном устойчивом состоянии, но время запуска и поведение при сбое были нежелательными.
- ^ «Twitter отказывается от Ruby в пользу Scala» . theregister.co.uk. 1 апреля 2009 года . Проверено 18 июля 2009 г.
По словам Пэйна, к концу этого года Twitter надеется перенести всю свою инфраструктуру промежуточного программного обеспечения и API на новый язык. Ruby останется, но только во внешней части. «Мы по-прежнему довольны Rails для создания функций, ориентированных на пользователя... с точки зрения производительности он подходит для людей, просматривающих веб-страницы. Это тяжелый тип асинхронной обработки, от которого мы отошли».
- ^ Райан Кинг (25 сентября 2009 г.). «Твиттер на Рубине» . Эван Уивер . Проверено 29 сентября 2009 г.
Мы используем Scala для некоторых целей в Twitter, но большая часть сайта написана на Ruby.
- ^ «Поиск в Твиттере теперь в 3 раза быстрее» . Твиттер . Проверено 6 июня 2014 г.
- ^ «Я не позволю вам платить мне за мой открытый код» . Проверено 15 декабря 2021 г.
- ^ «Почему мы придерживаемся Ruby on Rails» . ГитЛаб . Проверено 29 августа 2022 г.
- ^ «Вот почему Ruby On Rails популярен» . Бизнес-инсайдер. Архивировано из оригинала 21 декабря 2011 года . Проверено 10 февраля 2012 г.
- ^ «Статистика использования Ruby on Rails» . Trends.builtwith.com . Проверено 4 января 2016 г.
- ^ «Статистика использования токенов Ruby on Rails» . Trends.builtwith.com . Проверено 4 января 2016 г.
- ^ Проталинский, Эмиль. «Как GitHub справился со взломом» . Zdnet.com . Проверено 24 мая 2017 г.
- ^ Брук, Крис (25 сентября 2013 г.). «Проблема безопасности в Ruby on Rails может привести к раскрытию файлов cookie» . Пост с угрозами . Служба новостей безопасности «Лаборатории Касперского» . Проверено 4 июня 2014 г.
- ^ «Исправление веб-приложений» . Новости МТИ . Проверено 21 апреля 2016 г.
Библиография
[ редактировать ]- Руби, Сэм; Томас, Дэйв; Ханссон, Дэвид (28 марта 2009 г.). Гибкая веб-разработка с помощью Rails (Третье изд.). Прагматичная книжная полка . п. 850. ИСБН 978-1-934356-16-6 .
- Лоран, Саймон Ст.; Дамбилл, Эдд (28 ноября 2008 г.). Изучение Rails (Первое изд.). О'Рейли Медиа . п. 442. ИСБН 978-0-596-51877-6 .
- Ленц, Патрик (1 мая 2008 г.). Просто Rails 2 (Второе изд.). СайтПоинт . п. 450 . ISBN 978-0-9804552-0-5 .
- Тейт, Брюс; Хиббс, Курт (22 августа 2006 г.). Ruby on Rails: В работе (первое издание). О'Рейли Медиа . п. 182. ИСБН 0-596-10132-5 .
- Хольцнер, Стив (29 ноября 2006 г.). Начало Ruby on Rails (Первое изд.). Врокс . п. 380. ИСБН 0-470-06915-5 . Архивировано из оригинала 23 апреля 2012 года . Проверено 12 июля 2009 г.
- Аллан Харди, Джеффри; Карнейро-младший, Гвоздика; Кэтлин, Хэмптон (20 июля 2007 г.). Начало электронной коммерции на Ruby on Rails: от новичка до профессионала (первое издание). Врокс . п. 361. ИСБН 978-1-59059-686-9 . Архивировано из оригинала 17 сентября 2010 года . Проверено 12 июля 2009 г.
- Кларк, Майк (15 мая 2008 г.). Рецепты Advanced Rails (Первое изд.). Прагматичная книжная полка. п. 464. ИСБН 978-0-9787392-2-5 .