Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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 , Catalyst в Perl , Laravel , CakePHP и Yii в PHP , Grails в Groovy , Phoenix вЭликсир , Играть в Scala и Sails.js в Node.js .

Некоторые известные сайты, использующие Ruby on Rails, включают Airbnb , Crunchbase , Bloomberg и Dribbble . [5]

История [ править ]

Дэвид Хайнемайер Ханссон извлек Ruby on Rails из своей работы над инструментом управления проектами Basecamp в компании по разработке веб-приложений, также называемой Basecamp (в то время 37Signals). [6] Ханссон впервые выпустил Rails с открытым исходным кодом в июле 2004 года, но не поделился правами на коммит по проекту до февраля 2005 года. [ Необходима цитата ] В августе 2006 года фреймворк достиг важной вехи, когда Apple объявила о выпуске Ruby on Rails. с Mac OS X 10.5 "Leopard" , [7] , который был выпущен в октябре 2007 года.

Версия 2.3 Rails была выпущена 15 марта 2009 года, в ней были внесены важные изменения в шаблоны, движки, формы Rack и вложенные модели. Шаблоны позволяют разработчику создавать скелет приложения с пользовательскими драгоценными камнями и конфигурациями. Движки дают разработчикам возможность повторно использовать части приложения с маршрутами, путями просмотра и моделями. Интерфейс веб-сервера Rack и Metal позволяют писать оптимизированные фрагменты кода, которые работают с Action Controller. [8]

23 декабря 2008 года был запущен еще один фреймворк для веб-приложений Merb , и Ruby on Rails объявила, что будет работать с проектом Merb, чтобы внедрить «лучшие идеи Merb» в Rails 3, положив конец «ненужному дублированию» в обоих сообществах. . [9] Merb был объединен с Rails как часть выпуска Rails 3.0. [10] [11]

31 августа 2011 года был выпущен Rails 3.1, включающий обратимые миграции баз данных, конвейер активов, потоковую передачу, jQuery в качестве библиотеки JavaScript по умолчанию и недавно представленные в стеке CoffeeScript и Sass . [12]

Rails 3.2 был выпущен 20 января 2012 года с более быстрым режимом разработки и механизмом маршрутизации (также известным как движок Journey), автоматическим объяснением запросов и ведением журнала с тегами. [13] Rails 3.2.x - последняя версия, поддерживающая Ruby 1.8.7. [14] Rails 3.2.12 поддерживает Ruby 2.0. [15]

Rails 4.0 был выпущен 25 июня 2013 года и представил Russian Doll Caching, Turbolinks, Live Streaming, а также сделал Active Resource, Active Record Observer и другие компоненты необязательными, разделив их как драгоценные камни. [16]

Rails 4.1 был выпущен 8 апреля 2014 года и представил Spring, Variants, Enums, Previews Mailer и secrets.yml. [17]

Rails 4.2 был выпущен 19 декабря 2014 года и представил Active Job, асинхронные электронные письма, Adequate Record, Web Console и внешние ключи . [18]

Rails 5.0 был выпущен 30 июня 2016 года и представил Action Cable, режим API и Turbolinks 5. [19]

Rails 5.0.0.1 был выпущен 10 августа 2016 года с эксклюзивным использованием интерфейса командной строки rails поверх 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. [20]

Rails 5.2 был выпущен 9 апреля 2018 года и представил новые функции, включая ActiveStorage, встроенное хранилище кэша Redis, обновленные учетные данные Rails и новый DSL, который позволяет настраивать политику безопасности контента для приложения. [21]

Rails 5.2.2 был выпущен 4 декабря 2018 года, в него были внесены многочисленные исправления ошибок и несколько улучшений логики. [22]

Rails 6.0 был выпущен 16 августа 2019 года, делая Webpack по умолчанию, добавляя маршрутизацию почтовых ящиков, онлайн-редактор форматированного текста по умолчанию , параллельное тестирование, поддержку нескольких баз данных, маршрутизацию почтовой программы и новый автозагрузчик. [23]

Rails 6.1 был выпущен 9 декабря 2020 года, добавляя переключение соединений для каждой базы данных, горизонтальное сегментирование базы данных, активную загрузку всех ассоциаций, делегированные типы в качестве альтернативы однотабличному наследованию, асинхронное удаление ассоциаций, объектов ошибок и другие улучшения и исправление ошибок. [24]


Технический обзор [ править ]

Как и другие веб-фреймворки, Ruby on Rails использует шаблон модель – представление – контроллер (MVC) для организации программирования приложений.

В конфигурации по умолчанию модель в среде Ruby on Rails сопоставляется с таблицей в базе данных и файлом Ruby. Например, класс модели User обычно определяется в файле user.rb в каталоге app / models и связан с таблицей users в базе данных. Хотя разработчики могут игнорировать это соглашение и выбирать разные имена для своих моделей, файлов и таблиц базы данных, это не обычная практика и обычно не приветствуется в соответствии с философией « соглашения над конфигурацией ».

контроллер- это серверный компонент Rails, который отвечает на внешние запросы от веб-сервера к приложению, определяя, какой файл представления визуализировать. Контроллеру также может потребоваться запросить информацию у одной или нескольких моделей и передать их представлению. Например, в системе бронирования авиакомпаний контроллеру, реализующему функцию поиска рейсов, потребуется запросить модель, представляющую отдельные рейсы, чтобы найти рейсы, соответствующие поиску, а также может потребоваться запросить модели, представляющие аэропорты и авиакомпании, чтобы найти связанные вторичные данные. Затем контроллер может передать некоторое подмножество полетных данных в соответствующее представление, которое будет содержать смесь статического HTML и логики, использующей полетные данные для создания HTML-документа, содержащего таблицу с одной строкой на рейс. Контроллер может предоставить одно или несколько действий. В Ruby on Rails,действие обычно представляет собой базовую единицу, описывающую, как отвечать на конкретный запрос внешнего веб-браузера. Также обратите внимание, что контроллер / действие будут доступны для внешних веб-запросов, только если ему сопоставлен соответствующий маршрут. Rails рекомендует разработчикам использоватьМаршруты RESTful , которые включают в себя такие действия, как создание, создание, редактирование, обновление, уничтожение, отображение и индексирование. Эти сопоставления входящих запросов / маршрутов с действиями контроллера можно легко настроить в файле конфигурации routes.rb.

Вид в конфигурации по умолчанию Rails является эрб файл, который вычисляется и преобразуется в HTML во время выполнения. В качестве альтернативы для представлений можно использовать многие другие системы шаблонов.

Ruby on Rails включает инструменты, которые «из коробки» упрощают общие задачи разработки, такие как строительные леса, которые могут автоматически создавать некоторые модели и представления, необходимые для базового веб-сайта . [39] Также включены WEBrick , простой веб-сервер Ruby, который распространяется с Ruby, и Rake , система сборки, распространяемая как гем . Вместе с Ruby on Rails эти инструменты обеспечивают базовую среду разработки.

Ruby on Rails чаще всего подключается к Интернету не напрямую, а через некоторый интерфейсный веб-сервер . Дворняга обычно предпочиталась [ кем? ] через WEBrick в первые дни, [ необходима ссылка ], но он также может работать на Lighttpd , Apache , Cherokee , Hiawatha , Nginx (либо как модуль - например, Phusion Passenger - либо через CGI , FastCGI или mod_ruby), и много других. С 2008 года Passenger заменил Mongrel в качестве наиболее часто используемого веб-сервера для Ruby on Rails. [40] Ruby также изначально поддерживается IBM i . [41]

Ruby on Rails также примечателен широким использованием библиотек JavaScript Prototype и Script.aculo.us для создания сценариев действий Ajax . [42] Ruby on Rails изначально использовал облегченный протокол SOAP для веб-служб; Позже это было заменено веб-службами RESTful . Ruby on Rails 3.0 использует метод, называемый ненавязчивым JavaScript, для отделения функциональности (или логики) от структуры веб-страницы. jQuery полностью поддерживается в качестве замены для Prototype и является библиотекой JavaScript по умолчанию в Rails 3.1, отражая переход всей отрасли к jQuery. Дополнительно CoffeeScript был представлен в Rails 3.1 как язык JavaScript по умолчанию.

Начиная с версии 2.0, Ruby on Rails предлагает как HTML, так и XML в качестве стандартных форматов вывода. Последний - это средство для веб-сервисов RESTful.

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+; более ранние версии не поддерживаются. [43]

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. Помимо стандартных пакетов, разработчики могут создавать плагины для расширения существующих пакетов. Раньше Rails поддерживал плагины в своей собственной пользовательской структуре; версия 3.2 заменяет их стандартными «драгоценными камнями» Ruby. [44]

Развертывание [ править ]

Ruby on Rails часто устанавливается с помощью RubyGems , менеджера пакетов [45], который включен в текущие версии Ruby. Многие бесплатные Unix-подобные системы также поддерживают установку Ruby on Rails и его зависимостей через собственную систему управления пакетами .

Ruby on Rails обычно развертывается с сервером базы данных, таким как MySQL или PostgreSQL , и веб-сервером, таким как Apache, на котором запущен модуль Phusion Passenger .

Философия и дизайн [ править ]

Ruby on Rails предназначен для того, чтобы сделать упор на конвенцию, а не на конфигурацию (CoC) и принцип « Не повторяйся» (DRY).

Доктрина Rails - это надежный инструмент, определяющий философию, проектирование и реализацию фреймворка Ruby on Rails.

«Соглашение важнее конфигурации» означает, что разработчику нужно только указать нетрадиционные аспекты приложения. Например, если в модели есть класс Продажа , соответствующая таблица в базе данных по умолчанию называется продажами . Только если кто-то отклоняется от этого соглашения, например, называя таблицу «проданные продукты», разработчику необходимо написать код для этих имен. Как правило, соглашения Ruby on Rails приводят к меньшему количеству кода и меньшему количеству повторений. [46]

«Не повторяйся» означает, что информация находится в одном недвусмысленном месте. Например, при использовании модуля ActiveRecord в Rails разработчику не нужно указывать имена столбцов базы данных в определениях классов. Вместо этого Ruby on Rails может извлекать эту информацию из базы данных на основе имени класса.

«Толстые модели, тонкие контроллеры» означает, что большая часть логики приложения должна быть помещена в модель, оставляя контроллер как можно более легким.

Торговые марки [ править ]

В марте 2007 года Дэвид Хайнемайер Ханссон подал в USPTO три заявки на регистрацию товарных знаков, связанных с Ruby on Rails . Эти приложения учитывают фразу «RUBY ON RAILS» [47], слово «RAILS» [48] и официальный логотип Rails. [49] Как следствие, летом 2007 года Ханссон отказал Apress в разрешении на использование логотипа Ruby on Rails на обложке новой книги Ruby on Rails, написанной некоторыми авторитетными членами сообщества. Этот эпизод вызвал вежливый протест в сообществе Ruby on Rails. [50] [51] В ответ на эту критику Ханссон ответил:

Я разрешаю использование [логотипа Rails] в рекламных целях только для продуктов, с которыми я непосредственно связан. Например, книги, в разработке которых я участвовал, или конференции, на которых я имею право голоса при исполнении. Я определенно буду стремиться обеспечить соблюдение всех торговых марок Rails. [50]

Прием [ править ]

Масштабируемость [ править ]

Rails, работающий на Ruby Interpreter Matz ( де-факто эталонный интерпретатор Ruby), подвергался критике за проблемы с масштабируемостью. [52] Эти критики часто упоминали различные перебои в работе Twitter в 2007 и 2008 годах, которые спровоцировали частичный переход Twitter на Scala (работающий на виртуальной машине Java ) для своей системы очередей и другого промежуточного программного обеспечения . [53] [54] Аспекты пользовательского интерфейса сайта продолжали работать на Ruby on Rails [55] до 2011 года, когда он был заменен из-за проблем с производительностью [56]

В 2011 году Gartner Research отметила, что, несмотря на критику и сравнения с Java, многие известные потребительские веб-компании используют Ruby on Rails для создания масштабируемых веб-приложений. Некоторые из крупнейших сайтов, на которых работает Ruby on Rails, включают Airbnb , Cookpad , GitHub , Scribd , Shopify и Basecamp . [57] По состоянию на январь 2016 года более 1,2 миллиона веб-сайтов используют Ruby on Rails. [58] [59]

Безопасность [ править ]

В марте 2012 года исследователь безопасности Егор Хомаков обнаружил уязвимость массового назначения, которая позволяла удаленно использовать определенные приложения Rails, и продемонстрировал это, взломав GitHub без злонамеренного намерения после того, как его предыдущие попытки ответственного раскрытия информации были отклонены. [60]

24 сентября 2013 г. в Ruby on Rails была обнаружена уязвимость, связанная с сохранением сохраняемости файлов cookie. В конфигурации по умолчанию весь хэш сеанса хранится в файле cookie сеанса, известном как CookieStore , что позволяет любому аутентифицированному сеансу, имеющему файл cookie сеанса, войти в систему в качестве целевого пользователя в любое время в будущем. В качестве обходного пути администраторам рекомендуется настроить файлы cookie для хранения на сервере, используя такие механизмы, как ActiveRecordStore . [61]

Исследователи Дэниел Джексон и Джозеф Ниар разработали отладчик данных, который они назвали «Space», который может анализировать доступ к данным программы Rails и определять, правильно ли программа придерживается правил, касающихся ограничений доступа. 15 апреля 2016 года Near сообщил, что анализ 50 популярных веб-приложений с использованием Space выявил 23 ранее неизвестных уязвимости безопасности. [62]

Ссылки [ править ]

  1. ^ "Rails 1.0: Вечеринка, как будто это один о-о!" . weblog.rubyonrails.org . Проверено 1 марта 2017 .
  2. ^ https://weblog.rubyonrails.org/2021/3/26/marcel-upgrade-releases/ .
  3. ^ "Выпуск v6.0.3.4 · rails / rails · GitHub" . Проверено 16 декабря 2019 .
  4. ^ "Начало работы с Rails: что такое Rails?" . guides.rubyonrails.org . Проверено 10 августа 2014 .
  5. Госвами, Шубхам. «Django vs Ruby on Rails - выбор для разработки мобильных приложений» . appsearch.org . Проверено 28 ноября 2020 .
  6. ^ Grimmer, Lenz-- (февраль 2006). «Интервью с Дэвидом Хайнемайером Ханссоном из Ruby on Rails» . MySQL AB . Архивировано из оригинального 25 февраля 2013 года . Проверено 8 июня 2008 .
  7. Ханссон, Дэвид (7 августа 2006 г.). «Ruby on Rails будет поставляться с OS X 10.5 (Leopard)» . weblog.rubyonrails.org . Проверено 8 июня 2008 .
  8. Ханссон, Дэвид (16 марта 2009 г.). "Rails 2.3: шаблоны, двигатели, стойки, металл, многое другое!" . weblog.rubyonrails.org .
  9. ^ «День, когда Мерб присоединился к Rails» . rubyonrails.org . 27 декабря 2008 г. Архивировано из оригинала на 2013-02-09.
  10. ^ «Примечания к выпуску Ruby on Rails 3.0 - Руководства по Ruby on Rails» . edgeguides.rubyonrails.org . Проверено 24 мая 2017 .
  11. ^ «Ruby on Rails 3.0 становится модульным» . sdtimes.com. 2010-02-10 . Проверено 6 августа 2010 .
  12. ^ «Примечания к выпуску Ruby on Rails 3.1» . guides.rubyonrails.org . 2012-09-01.
  13. ^ «Примечания к выпуску Ruby on Rails 3.2» . guides.rubyonrails.org . 2012-09-01.
  14. ^ "Rails / master теперь 4.0.0.beta" . weblog.rubyonrails.org . 2012-09-01.
  15. ^ Rails 3.2.x теперь совместим с Ruby 2.0.0 от sikachu · Pull Request # 9406 · rails / rails · GitHub . Github.com. Проверено 30 мая 2014.
  16. ^ "Rails 4.0: выпущена финальная версия!" . weblog.rubyonrails.org . 2013-06-25 . Проверено 24 мая 2017 .
  17. ^ a b "Rails 4.1.0: Spring, Variants, Enums, Mailer previews, secrets.yml" . weblog.rubyonrails.org .
  18. ^ a b «Rails 4.2: активное задание, асинхронная почта, соответствующая запись, веб-консоль, внешние ключи» . weblog.rubyonrails.org . Дата обращения 5 декабря 2015 .
  19. ^ a b «Rails 5.0: Action Cable, режим API и многое другое» . weblog.rubyonrails.org . Проверено 19 ноя 2016 .
  20. ^ a b «Rails 5.1: Любовь к JavaScript, системным тестам, зашифрованным секретам и многому другому» . weblog.rubyonrails.org . Дата обращения 10 мая 2017 .
  21. ^ a b «Rails 5.2.0 FINAL: Active Storage, Redis Cache Store, HTTP / 2 Early Hints, CSP, Credentials» . weblog.rubyonrails.org . Проверено 9 апреля 2018 .
  22. ^ rafaelfranca (2018-12-04). "Выпущена Rails 5.2.2!" . weblog.rubyonrails.org . Проверено 4 января 2019 .
  23. ^ a b dhh (19.08.2019). «Rails 6.0: почтовый ящик действий, текст действия, несколько баз данных, параллельное тестирование, Webpacker по умолчанию и Zeitwerk» . weblog.rubyonrails.org . Проверено 12 ноября 2019 .
  24. ^ a b eileencodes (2020-12-09). «Rails 6.1: горизонтальное разделение, улучшения для нескольких баз данных, строгая загрузка, уничтожение ассоциаций в фоновом режиме, объекты ошибок и многое другое!» . weblog.rubyonrails.org . Проверено 28 декабря 2020 .
  25. ^ «Матрица совместимости Ruby / Rails» . devalot.com . Проверено 5 марта 2021 года .
  26. ^ «Обновление Ruby on Rails» . guides.rubyonrails.org . Проверено 5 марта 2021 года .
  27. ^ «Обновление Ruby on Rails» . edgeguides.rubyonrails.org . Проверено 5 марта 2021 года .
  28. ^ "Rails 1.0: Вечеринка, как будто это один о-о!" . weblog.rubyonrails.org . Проверено 9 июня 2010 года.
  29. ^ «Rails 1.2: восхищение REST, HTTP-праздник любви и празднование UTF-8». Архивировано 2 ноября 2012 г. на Wayback Machine . weblog.rubyonrails.org . Проверено 9 июня 2010 года.
  30. ^ "Rails 2.0: готово!" . weblog.rubyonrails.org . Проверено 9 июня 2010 года.
  31. ^ Rails 2.1: Часовые пояса, грязные данные, кеширование, зависимости гемов, кеширование и т. Д. Архивировано 2 ноября 2012 г. на Wayback Machine . weblog.rubyonrails.org . Проверено 9 июня 2010 года.
  32. ^ «Rails 2.2: i18n, HTTP-валидаторы, безопасность потоков, совместимость с JRuby / 1.9, документы» . weblog.rubyonrails.org . Проверено 9 июня 2010 года.
  33. ^ "Rails 2.3: шаблоны, двигатели, стойки, металл, многое другое!" . weblog.rubyonrails.org . Проверено 9 июня 2010 года.
  34. ^ "Rails 3.0: Готово!" . weblog.rubyonrails.org . Проверено 30 августа 2010 года.
  35. ^ "переход на 3.1.0" . Github.com .
  36. ^ «Подготовка к выпуску 3.2.0» . Github.com .
  37. ^ "Рельсы 4 в 30 ' " . blog.wyeworks.com .
  38. ^ "Rails 6.2 теперь Rails 7.0" . github.com .
  39. ^ Шон Линч (2007-12-15). «Кронштейны: рельсы 2.0 и строительные леса шаг за шагом» . Fairleads.blogspot.com . Проверено 24 мая 2017 .
  40. ^ «Ruby on Rails: развертывание» . rubyonrails.org . Архивировано из оригинала на 2009-07-07 . Проверено 12 декабря 2012 .
  41. ^ Максер, Крис. «PowerRuby обеспечивает поддержку Enterprise Ruby on Rails для IBM i» . iPro Developer. Архивировано из оригинала 9 октября 2013 года . Проверено 9 мая 2014 .
  42. ^ Js_Escape_Map. «ActionView :: Helpers :: JavaScriptHelper» . Api.rubyonrails.org . Проверено 24 мая 2017 .
  43. ^ "Rails 3.0: Готово!" . weblog.rubyonrails.org . Проверено 30 августа 2010 . Rails 3.0 был разработан для работы с Ruby 1.8.7, Ruby 1.9.2 и JRuby 1.5.2+.
  44. ^ "Выпущен Rails 3.2.0.rc2!" . weblog.rubyonrails.org . 2012-09-01.
  45. ^ «Ruby on Rails: Загрузить» . rubyonrails.org . Архивировано из оригинала на 2009-12-12.
  46. ^ «Начало работы с Rails» . guides.rubyonrails.org . Проверено 10 марта 2014 .
  47. ^ " " Статус торговой марки Ruby on Rails " . USPTO . Проверено 1 августа 2007 .
  48. ^ " Статус торговой марки " Rails " . USPTO . Проверено 1 августа 2007 .
  49. ^ «Статус торговой марки логотипа Rails» . USPTO . Проверено 1 августа 2007 .
  50. ^ a b Форд, Пит (2007-07-23). «Начинающие рельсы: от новичка к профессионалам» . Архивировано из оригинального 5 -го августа 2007 года . Проверено 1 августа 2007 .
  51. ^ Купер, Питер (2007-07-24). «Дэвид Хайнемайер Ханссон говорит« Нет »использованию логотипа Rails» . Проверено 1 августа 2007 .
  52. ^ "5 вопросов Интервью с разработчиком Twitter Алексом Пейном" . Radicbehavior.com. 2007-03-29. Архивировано из оригинального 23 апреля 2009 года . Проверено 4 ноября 2014 . По разным показателям Twitter на данный момент является крупнейшим сайтом Rails в сети. Работа на Rails вынудила нас решать проблемы масштабирования - проблемы, с которыми рано или поздно сталкивается любой растущий сайт, - гораздо раньше, чем я думаю, мы бы это сделали на другом фреймворке.
  53. ^ Стив Дженсон; Интервью с Алексом Пейном и Роби Пойнтером (3 апреля 2009 г.). «Твиттер на Scala» . artima.com . Проверено 18 июля 2009 . У нас была система очередей на основе Ruby, которую мы использовали для связи между интерфейсами Rails и демонами, и в итоге мы заменили ее на систему, написанную на Scala. На самом деле Ruby работал довольно прилично в нормальном устойчивом состоянии, но время запуска и поведение при сбое были нежелательными.
  54. ^ "Твиттер отказался от Ruby для Scala" . theregister.co.uk. 2009-04-01 . Проверено 18 июля 2009 . По словам Пэйна, к концу этого года Twitter надеется, что вся инфраструктура промежуточного программного обеспечения и API-интерфейсы будут перенесены на новый язык. Ruby останется, но только во внешнем интерфейсе. «Мы по-прежнему довольны Rails для создания функций, ориентированных на пользователя ... с точки зрения производительности, это нормально для людей, щелкающих по веб-страницам. Это тяжелый тип асинхронной обработки, от которого мы отказались».
  55. Райан Кинг (25 сентября 2009 г.). «Твиттер на Руби» . Эван Уивер . Проверено 29 сентября 2009 . Мы используем Scala для некоторых вещей в Twitter, но большая часть сайта - Ruby.
  56. ^ «Поиск в Twitter стал в 3 раза быстрее» . Twitter . Проверено 6 июня 2014 года .
  57. ^ «Вот почему Ruby On Rails такой популярный» . Business Insider. Архивировано из оригинального 21 декабря 2011 года . Проверено 10 февраля 2012 года .
  58. ^ «Статистика использования Ruby on Rails» . Trends.builtwith.com . Проверено 4 января 2016 .
  59. ^ «Статистика использования токенов Ruby on Rails» . Trends.builtwith.com . Проверено 4 января 2016 .
  60. ^ Проталински, Эмиль. «Как GitHub справился с взломом» . Zdnet.com . Проверено 24 мая 2017 .
  61. ^ Брук, Крис (2013-09-25). «Проблема безопасности в Ruby on Rails может открывать файлы cookie» . Сообщение с угрозами . Служба новостей Kaspersky Lab Security . Проверено 4 июня 2014 .
  62. ^ «Обновление веб-приложений» . MIT News . Проверено 21 апреля 2016 .

Библиография [ править ]

  • Руби, Сэм; Томас, Дэйв; Ханссон, Дэвид (28 марта 2009 г.). Гибкая веб-разработка с помощью Rails (Третье изд.). Прагматическая книжная полка . п. 850. ISBN 1-934356-16-6.
  • Лоран, Саймон-стрит; Дамбилл, Эдд (28 ноября 2008 г.). Изучение Rails (Первое изд.). O'Reilly Media . п. 442. ISBN. 0-596-51877-3.
  • Ленц, Патрик (1 мая 2008 г.). Simply Rails 2 (Второе изд.). SitePoint . п. 450 . ISBN 0-9804552-0-0.
  • Тейт, Брюс; Хиббс, Курт (22 августа 2006 г.). Ruby on Rails: Up and Running (Первое издание). O'Reilly Media . п. 182. ISBN. 0-596-10132-5.
  • Хольцнер, Стив (29 ноября 2006 г.). Начало Ruby on Rails (Первое издание). Wrox . п. 380. ISBN 0-470-06915-5.
  • Аллан Харди, Джеффри; Карнейро-младший, Cloves; Кэтлин, Хэмптон (20 июля 2007 г.). Электронная коммерция с использованием Ruby on Rails: от новичка до профессионала (первое издание). Wrox . п. 361. ISBN. 1-59059-686-2.
  • Кларк, Майк (15 мая 2008 г.). Advanced Rails Recipes (Первое издание). Прагматическая книжная полка. п. 464. ISBN 0-9787392-2-1.

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Исходный код Rails
  • Направляющие рельсы
  • Rails API