Ruby on Rails


De Wikipedia, la enciclopedia libre
  (Redirigido desde CruiseControl.rb )
Saltar a navegación Saltar a búsqueda

Ruby on Rails , o Rails , es un marco de aplicación web del lado del servidor escrito en Ruby bajo la licencia MIT . Rails es un marco de modelo-vista-controlador (MVC) que proporciona estructuras predeterminadas para una base de datos , un servicio web y páginas web . Fomenta y facilita el uso de estándares web como JSON o XML para la transferencia de datos y HTML , CSS y JavaScript para la interfaz de usuario. Además de MVC, Rails enfatiza el uso de otros conocidos patrones y paradigmas de ingeniería de software , incluida la convención sobre la configuración (CoC), no se repita (DRY) y el patrón de registro activo . [4]

La aparición de Ruby on Rails en 2005 influyó enormemente en el desarrollo de aplicaciones web, a través de características innovadoras como creaciones de tablas de bases de datos sin problemas , migraciones y andamiaje de vistas para permitir el desarrollo rápido de aplicaciones. La influencia de Ruby on Rails en otros frameworks web sigue siendo evidente hoy, con muchos frameworks en otros lenguajes tomando prestadas sus ideas, incluyendo Django en Python , Catalyst en Perl , Laravel , CakePHP y Yii en PHP , Grails en Groovy , Phoenix enElixir , Juego de Scala , y Sails.js en Node.js .

Algunos sitios conocidos que usan Ruby on Rails incluyen Airbnb , Crunchbase , Bloomberg y Dribbble . [5]

Historia

David Heinemeier Hansson extrajo Ruby on Rails de su trabajo en la herramienta de gestión de proyectos Basecamp en la empresa de aplicaciones web también llamada Basecamp (37Signals en ese momento). [6] Hansson lanzó por primera vez Rails como código abierto en julio de 2004, pero no compartió los derechos de compromiso del proyecto hasta febrero de 2005. [ cita requerida ] En agosto de 2006, el marco alcanzó un hito cuando Apple anunció que enviaría Ruby on Rails con Mac OS X v10.5 "Leopard" , [7] que fue lanzado en octubre de 2007.

La versión 2.3 de Rails se lanzó el 15 de marzo de 2009, con importantes novedades en plantillas, motores, bastidores y formularios de modelos anidados. Las plantillas permiten al desarrollador generar una aplicación esqueleto con gemas y configuraciones personalizadas. Los motores brindan a los desarrolladores la capacidad de reutilizar partes de la aplicación completas con rutas, ver rutas y modelos. La interfaz del servidor web Rack y Metal permiten escribir piezas de código optimizadas que se enrutan alrededor de Action Controller. [8]

El 23 de diciembre de 2008, se lanzó Merb , otro marco de aplicación web, y Ruby on Rails anunció que trabajaría con el proyecto Merb para llevar "las mejores ideas de Merb" a Rails 3, poniendo fin a la "duplicación innecesaria" en ambas comunidades. . [9] Merb se fusionó con Rails como parte del lanzamiento de Rails 3.0. [10] [11]

Rails 3.1 se lanzó el 31 de agosto de 2011, con migraciones de bases de datos reversibles, flujo de activos, transmisión, jQuery como biblioteca de JavaScript predeterminada y CoffeeScript y Sass recientemente introducidos en la pila. [12]

Rails 3.2 se lanzó el 20 de enero de 2012 con un modo de desarrollo más rápido y un motor de enrutamiento (también conocido como motor Journey), explicación automática de consultas y registro etiquetado. [13] Rails 3.2.x es la última versión que soporta Ruby 1.8.7. [14] Rails 3.2.12 es compatible con Ruby 2.0. [15]

Rails 4.0 se lanzó el 25 de junio de 2013, presentando Russian Doll Caching, Turbolinks, Live Streaming y haciendo que Active Resource, Active Record Observer y otros componentes sean opcionales dividiéndolos como gemas. [dieciséis]

Rails 4.1 se lanzó el 8 de abril de 2014, presentando Spring, Variants, Enums, vistas previas de Mailer y secrets.yml. [17]

Rails 4.2 se lanzó el 19 de diciembre de 2014, presentando Active Job, correos electrónicos asincrónicos, registro adecuado, consola web y claves externas . [18]

Rails 5.0 se lanzó el 30 de junio de 2016, presentando Action Cable, modo API y Turbolinks 5. [19]

Rails 5.0.0.1 se lanzó el 10 de agosto de 2016, con uso exclusivo de rails CLI sobre Rake y soporte para Ruby versión 2.2.2 y superior.

Rails 5.1 se lanzó el 27 de abril de 2017, introduciendo cambios en la integración de JavaScript (administración de dependencias de JavaScript desde NPM a través de Yarn, compilación opcional de JavaScript usando Webpack y una reescritura de Rails UJS para usar JavaScript vanilla en lugar de depender de jQuery), pruebas del sistema usando Capybara , secretos encriptados, mailers parametrizados, rutas directas y resueltas, y un formulario unificado con ayudante reemplazando el formulario_tag / formulario_para ayudantes. [20]

Rails 5.2 se lanzó el 9 de abril de 2018, presentando nuevas características que incluyen ActiveStorage, Redis Cache Store integrado, Credenciales Rails actualizadas y un nuevo DSL que permite configurar una Política de seguridad de contenido para una aplicación. [21]

Rails 5.2.2 se lanzó el 4 de diciembre de 2018 e introdujo numerosas correcciones de errores y varias mejoras lógicas. [22]

Rails 6.0 se lanzó el 16 de agosto de 2019, haciendo Webpack predeterminado, agregando enrutamiento de buzón, un editor de texto enriquecido en línea predeterminado , pruebas paralelas, soporte de múltiples bases de datos, enrutamiento de correo y un nuevo autocargador. [23]

Rails 6.1 se lanzó el 9 de diciembre de 2020, agregando conmutación de conexión por base de datos, fragmentación horizontal de la base de datos , carga ansiosa de todas las asociaciones, tipos delegados como alternativa a la herencia de una sola tabla, eliminación asincrónica de asociaciones, objetos de error y otras mejoras y corrección de errores. [24]


Resumen técnico

Como otros frameworks web, Ruby on Rails usa el patrón modelo-vista-controlador (MVC) para organizar la programación de aplicaciones.

En una configuración predeterminada, un modelo en el marco de Ruby on Rails se asigna a una tabla en una base de datos y a un archivo Ruby. Por ejemplo, una clase de modelo User generalmente se definirá en el archivo 'user.rb' en el directorio app / models, y se vinculará a la tabla 'users' en la base de datos. Si bien los desarrolladores son libres de ignorar esta convención y elegir nombres diferentes para sus modelos, archivos y tabla de base de datos, esta no es una práctica común y generalmente se desaconseja de acuerdo con la filosofía de " convención sobre configuración ".

Un controladores un componente del lado del servidor de Rails que responde a las solicitudes externas del servidor web a la aplicación, determinando qué archivo de vista renderizar. El controlador también puede tener que consultar uno o más modelos para obtener información y pasarlos a la vista. Por ejemplo, en un sistema de reserva de aerolíneas, un controlador que implemente una función de búsqueda de vuelos necesitaría consultar un modelo que representa vuelos individuales para encontrar vuelos que coincidan con la búsqueda, y también podría necesitar consultar modelos que representen aeropuertos y aerolíneas para encontrar datos secundarios relacionados. Luego, el controlador podría pasar algún subconjunto de los datos de vuelo a la vista correspondiente, que contendría una mezcla de HTML estático y lógica que usa los datos de vuelo para crear un documento HTML que contiene una tabla con una fila por vuelo. Un controlador puede proporcionar una o más acciones. En Ruby on Rails,una acción suele ser una unidad básica que describe cómo responder a una solicitud de navegador web externa específica. Además, tenga en cuenta que el controlador / acción será accesible para solicitudes web externas solo si se le asigna una ruta correspondiente. Rails anima a los desarrolladores a utilizarRutas RESTful , que incluyen acciones como crear, nuevo, editar, actualizar, destruir, mostrar e indexar. Estas asignaciones de solicitudes / rutas entrantes a las acciones del controlador se pueden configurar fácilmente en el archivo de configuración route.rb.

Una vista en la configuración predeterminada de Rails es un archivo erb , que se evalúa y se convierte a HTML en tiempo de ejecución. Alternativamente, se pueden utilizar muchos otros sistemas de plantillas para las vistas.

Ruby on Rails incluye herramientas que facilitan las tareas de desarrollo comunes "listas para usar", como andamios que pueden construir automáticamente algunos de los modelos y vistas necesarios para un sitio web básico . [39] También se incluyen WEBrick , un servidor web Ruby simple que se distribuye con Ruby, y Rake , un sistema de compilación, distribuido como una joya . Junto con Ruby on Rails, estas herramientas proporcionan un entorno de desarrollo básico.

Por lo general, Ruby on Rails no está conectado a Internet directamente, sino a través de algún servidor web front-end . En general, el mestizo era el preferido [¿ por quién? ] en WEBrick en los primeros días, [ cita requerida ] pero también se puede ejecutar en Lighttpd , Apache , Cherokee , Hiawatha , Nginx (ya sea como un módulo, Phusion Passenger, por ejemplo, o mediante CGI , FastCGI o mod ruby), y muchos otros. A partir de 2008, Passenger reemplazó a Mongrel como el servidor web más utilizado para Ruby on Rails. [40] Ruby también se admite de forma nativa en IBM i . [41]

Ruby on Rails también es digno de mención por su amplio uso de las bibliotecas de JavaScript Prototype y Script.aculo.us para scripts de acciones Ajax . [42] Ruby on Rails utilizó inicialmente SOAP ligero para servicios web; esto fue reemplazado más tarde por servicios web RESTful . Ruby on Rails 3.0 separa el marcado de la página (que define la estructura de la página) de las secuencias de comandos (que determina la funcionalidad o la lógica de la página). jQuery es totalmente compatible como reemplazo de Prototype y es la biblioteca de JavaScript predeterminada en Rails 3.1, lo que refleja un movimiento de toda la industria hacia jQuery. Además, CoffeeScript se introdujo en Rails 3.1 como el lenguaje JavaScript predeterminado.

Desde la versión 2.0, Ruby on Rails ofrece HTML y XML como formatos de salida estándar. Este último es la facilidad para los servicios web RESTful.

Rails 3.1 introdujo Sass como plantilla CSS estándar .

De forma predeterminada, el servidor usa Embedded Ruby en las vistas HTML, con archivos que tienen una extensión html.erb. Rails admite el intercambio de lenguajes de plantillas alternativos, como HAML y Moustache .

Ruby on Rails 3.0 ha sido diseñado para funcionar con Ruby 1.8.7, Ruby 1.9.2 y JRuby 1.5.2+; las versiones anteriores no son compatibles. [43]

Ruby on Rails 3.2 es la última serie de versiones que admiten Ruby 1.8.7.

Estructura del marco

Ruby on Rails se divide en varios paquetes, a saber, ActiveRecord (un sistema de mapeo relacional de objetos para el acceso a la base de datos), Action Pack, Active Support y Action Mailer. Antes de la versión 2.0, Ruby on Rails también incluía el paquete Action Web Service que ahora es reemplazado por Active Resource. Además de los paquetes estándar, los desarrolladores pueden crear complementos para ampliar los paquetes existentes. Los complementos compatibles con Rails anteriores dentro de su propio marco personalizado; la versión 3.2 los descarta en favor de las "gemas" estándar de Ruby. [44]

Despliegue

Ruby on Rails se instala a menudo usando RubyGems , un administrador de paquetes [45] que se incluye con las versiones actuales de Ruby. Muchos sistemas gratuitos similares a Unix también admiten la instalación de Ruby on Rails y sus dependencias a través de su sistema de gestión de paquetes nativo .

Ruby on Rails generalmente se implementa con un servidor de base de datos como MySQL o PostgreSQL , y un servidor web como Apache que ejecuta el módulo Phusion Passenger .

Filosofía y diseño

Ruby on Rails tiene como objetivo enfatizar la convención sobre la configuración (CoC) y el principio Don't Repeat Yourself (DRY).

The Rails Doctrine es un habilitador duradero que guía la filosofía, el diseño y la implementación del marco de Ruby on Rails.

"Convención sobre configuración" significa que un desarrollador solo necesita especificar aspectos no convencionales de la aplicación. Por ejemplo, si hay una clase Venta en el modelo, la tabla correspondiente en la base de datos se llama ventas por defecto. Sólo si uno se desvía de esta convención, como llamar a la tabla "productos vendidos", el desarrollador necesita escribir código con respecto a estos nombres. Generalmente, las convenciones de Ruby on Rails conducen a menos código y menos repetición. [46]

"No se repita" significa que la información está ubicada en un lugar único e inequívoco. Por ejemplo, al utilizar el módulo ActiveRecord de Rails, el desarrollador no necesita especificar los nombres de las columnas de la base de datos en las definiciones de clases. En cambio, Ruby on Rails puede recuperar esta información de la base de datos según el nombre de la clase.

"Modelos gordos, controladores delgados" significa que la mayor parte de la lógica de la aplicación debe colocarse dentro del modelo, dejando el controlador lo más ligero posible.

Marcas comerciales

En marzo de 2007, David Heinemeier Hansson solicitó el registro de tres marcas comerciales relacionadas con Ruby on Rails en la USPTO . Estas aplicaciones se refieren a la frase "RUBY ON RAILS", [47] la palabra "RAILS", [48] y el logotipo oficial de Rails. [49] En el verano de 2007, Hansson negó el permiso a Apress para usar el logotipo de Ruby on Rails en la portada de un nuevo libro de Ruby on Rails escrito por algunos miembros de la comunidad autorizados. El episodio dio lugar a una cortés protesta en la comunidad de Ruby on Rails. [50] [51] En respuesta a esta crítica, Hansson respondió:

Solo concedo el uso promocional [del logotipo de Rails] para los productos con los que estoy directamente involucrado. Como libros en los que he sido parte del proceso de desarrollo o conferencias en las que tengo voz y voto en la ejecución. Definitivamente, buscaría hacer cumplir todas las marcas comerciales de Rails. [50]

Recepción

Escalabilidad

Los rieles que se ejecutan en Ruby Interpreter de Matz (el intérprete de referencia de facto para Ruby) habían sido criticados por problemas de escalabilidad. [52] Estos críticos a menudo mencionaron varias interrupciones de Twitter en 2007 y 2008, lo que impulsó la transición parcial de Twitter a Scala (que se ejecuta en la máquina virtual Java ) para su sistema de cola y otro middleware . [53] [54] Los aspectos de la interfaz de usuario del sitio continuaron ejecutando Ruby on Rails [55] hasta 2011 cuando fue reemplazado debido a preocupaciones sobre el rendimiento. [56]

En 2011, Gartner Research señaló que a pesar de las críticas y comparaciones con Java, muchas empresas web de consumidores de alto perfil están utilizando Ruby on Rails para crear aplicaciones web escalables. Algunos de los sitios más grandes que ejecutan Ruby on Rails incluyen Airbnb , Cookpad , GitHub , Scribd , Shopify y Basecamp . [57] En enero de 2016, se estima que más de 1,2 millones de sitios web ejecutan Ruby on Rails. [58] [59]

Seguridad

En marzo de 2012, el investigador de seguridad Egor Homakov descubrió una vulnerabilidad de asignación masiva que permitía explotar de forma remota ciertas aplicaciones Rails, y lo demostró pirateando GitHub de forma no maliciosa después de que sus intentos anteriores de divulgación responsable fueran descartados. [60]

El 24 de septiembre de 2013, se informó de una falla de seguridad de persistencia de cookies de sesión en Ruby on Rails. En una configuración predeterminada, todo el hash de la sesión se almacena dentro de una cookie de sesión conocida como CookieStore , lo que permite que cualquier sesión autenticada que posea la cookie de sesión inicie sesión como usuario de destino en cualquier momento en el futuro. Como solución alternativa, se recomienda a los administradores que configuren las cookies para que se almacenen en el servidor mediante mecanismos como ActiveRecordStore . [61]

Los investigadores Daniel Jackson y Joseph Near desarrollaron un depurador de datos al que llamaron "Espacio" que puede analizar el acceso a los datos de un programa Rails y determinar si el programa se adhiere correctamente a las reglas relativas a las restricciones de acceso. El 15 de abril de 2016, Near informó que un análisis de 50 aplicaciones web populares que usaban Space descubrió 23 fallas de seguridad previamente desconocidas. [62]

Referencias

  1. ^ "Rails 1.0: Fiesta como si fuera una, ¡oh, oh!" . weblog.rubyonrails.org . 13 de diciembre de 2005 . Consultado el 1 de marzo de 2017 .
  2. ^ https://github.com/rails/rails/releases/tag/v6.1.4 .
  3. ^ "Lanzamiento v6.0.3.4 · rieles / rieles · GitHub" . Consultado el 16 de diciembre de 2019 .
  4. ^ "Introducción a los rieles: ¿qué es rieles?" . guides.rubyonrails.org . Consultado el 10 de agosto de 2014 .
  5. ^ Goswami, Shubham. "Django vs Ruby on Rails - La elección para el desarrollo de aplicaciones móviles" . appsearch.org . Consultado el 28 de noviembre de 2020 .
  6. ^ Grimmer, Lenz−− (febrero de 2006). "Entrevista con David Heinemeier Hansson de Ruby on Rails" . MySQL AB . Archivado desde el original el 25 de febrero de 2013 . Consultado el 8 de junio de 2008 .
  7. ^ Hansson, David (7 de agosto de 2006). "Ruby on Rails se enviará con OS X 10.5 (Leopard)" . weblog.rubyonrails.org . Consultado el 8 de junio de 2008 .
  8. ^ Hansson, David (16 de marzo de 2009). "Rails 2.3: Plantillas, Motores, Rack, Metal, ¡mucho más!" . weblog.rubyonrails.org .
  9. ^ "El día que Merb se unió a Rails" . rubyonrails.org . 2008-12-27. Archivado desde el original el 9 de febrero de 2013.
  10. ^ "Notas de la versión de Ruby on Rails 3.0 - Guías de Ruby on Rails" . edgeguides.rubyonrails.org . Consultado el 24 de mayo de 2017 .
  11. ^ "Ruby on Rails 3.0 se vuelve modular" . sdtimes.com. 2010-02-10 . Consultado el 6 de agosto de 2010 .
  12. ^ "Notas de la versión de Ruby on Rails 3.1" . guides.rubyonrails.org . 2012-09-01.
  13. ^ "Notas de la versión de Ruby on Rails 3.2" . guides.rubyonrails.org . 2012-09-01.
  14. ^ "Rails / master ahora es 4.0.0.beta" . weblog.rubyonrails.org . 2012-09-01.
  15. ^ Rails 3.2.x ahora es compatible con Ruby 2.0.0 de sikachu · Pull Request # 9406 · rieles / rieles · GitHub . Github.com. Consultado el 30 de mayo de 2014.
  16. ^ "Rails 4.0: Lanzamiento de la versión final!" . weblog.rubyonrails.org . 2013-06-25 . Consultado el 24 de mayo de 2017 .
  17. ^ a b "Rails 4.1.0: Spring, Variants, Enums, Mailer previews, secrets.yml" . weblog.rubyonrails.org . 8 de abril de 2014.
  18. ^ a b "Rails 4.2: trabajo activo, correos asincrónicos, registro adecuado, consola Web, claves externas" . weblog.rubyonrails.org . 19 de diciembre de 2014 . Consultado el 5 de diciembre de 2015 .
  19. ^ a b "Rails 5.0: Action Cable, API mode y mucho más" . weblog.rubyonrails.org . 30 de junio de 2016 . Consultado el 19 de noviembre de 2016 .
  20. ^ a b "Rails 5.1: Loving JavaScript, pruebas del sistema, secretos cifrados y más" . weblog.rubyonrails.org . 27 de abril de 2017 . Consultado el 10 de mayo de 2017 .
  21. ^ a b "Rails 5.2.0 FINAL: Active Storage, Redis Cache Store, HTTP / 2 Early Hints, CSP, Credentials" . weblog.rubyonrails.org . 9 de abril de 2018 . Consultado el 9 de abril de 2018 .
  22. rafaelfranca (4 de diciembre de 2018). "¡Se ha lanzado Rails 5.2.2!" . weblog.rubyonrails.org . Consultado el 4 de enero de 2019 .
  23. ↑ a b dhh (19 de agosto de 2019). "Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker por defecto y Zeitwerk" . weblog.rubyonrails.org . Consultado el 12 de noviembre de 2019 .
  24. ↑ a b eileencodes (09/12/2020). "Rails 6.1: fragmentación horizontal, mejoras de múltiples bases de datos, carga estricta, destrucción de asociaciones en segundo plano, objetos de error y más". . weblog.rubyonrails.org . Consultado el 28 de diciembre de 2020 .
  25. ^ "Matriz de compatibilidad Ruby / Rails" . devalot.com . Consultado el 5 de marzo de 2021 .
  26. ^ "Actualización de Ruby on Rails" . guides.rubyonrails.org . Consultado el 5 de marzo de 2021 .
  27. ^ "Actualización de Ruby on Rails" . edgeguides.rubyonrails.org . Consultado el 5 de marzo de 2021 .
  28. ^ "Rails 1.0: Fiesta como si fuera una, ¡oh, oh!" . weblog.rubyonrails.org . Consultado el 9 de junio de 2010.
  29. ^ "Rails 1.2: admiración de REST, HTTP lovefest y celebraciones UTF-8" Archivado el 2 de noviembre de 2012 en la Wayback Machine . weblog.rubyonrails.org . Consultado el 9 de junio de 2010.
  30. ^ "Rails 2.0: ¡Está hecho!" . weblog.rubyonrails.org . Consultado el 9 de junio de 2010.
  31. ^ Rails 2.1: zonas horarias, sucio, almacenamiento en caché, dependencias de gemas, almacenamiento en caché, etc. Archivado el 2 de noviembre de 2012 en Wayback Machine . weblog.rubyonrails.org . Consultado el 9 de junio de 2010.
  32. ^ "Rails 2.2: i18n, validadores HTTP, seguridad de subprocesos, compatibilidad con JRuby / 1.9, documentos" . weblog.rubyonrails.org . Consultado el 9 de junio de 2010.
  33. ^ "Rails 2.3: Plantillas, Motores, Rack, Metal, ¡mucho más!" . weblog.rubyonrails.org . Consultado el 9 de junio de 2010.
  34. ^ "Rails 3.0: ¡está listo!" . weblog.rubyonrails.org . Consultado el 30 de agosto de 2010.
  35. ^ "topando a 3.1.0" . Github.com .
  36. ^ "Preparándose para la versión 3.2.0" . Github.com .
  37. ^ "Carriles 4 en 30 ' " . blog.wyeworks.com .
  38. ^ "Rails 6.2 ahora es Rails 7.0" . github.com .
  39. Sean Lynch (15 de diciembre de 2007). "Fairleads: Rails 2.0 y andamios paso a paso" . Fairleads.blogspot.com . Consultado el 24 de mayo de 2017 .
  40. ^ "Ruby on Rails: Implementar" . rubyonrails.org . Archivado desde el original el 7 de julio de 2009 . Consultado el 3 de diciembre de 2012 .
  41. ^ Maxcer, Chris. "PowerRuby trae soporte Enterprise Ruby on Rails a IBM i" . Desarrollador iPro. Archivado desde el original el 9 de octubre de 2013 . Consultado el 9 de mayo de 2014 .
  42. ^ Js_Escape_Map. "ActionView :: Helpers :: JavaScriptHelper" . Api.rubyonrails.org . Consultado el 24 de mayo de 2017 .
  43. ^ "Rails 3.0: ¡está listo!" . weblog.rubyonrails.org . 29 de agosto de 2010 . Consultado el 30 de agosto de 2010 . Rails 3.0 ha sido diseñado para funcionar con Ruby 1.8.7, Ruby 1.9.2 y JRuby 1.5.2+.
  44. ^ "¡Se ha lanzado Rails 3.2.0.rc2!" . weblog.rubyonrails.org . 2012-09-01.
  45. ^ "Ruby on Rails: Descargar" . rubyonrails.org . Archivado desde el original el 12 de diciembre de 2009.
  46. ^ "Introducción a los rieles" . guides.rubyonrails.org . Consultado el 10 de marzo de 2014 .
  47. ^ " " Ruby on Rails "Estado de marca comercial" . USPTO . Consultado el 1 de agosto de 2007 .
  48. ^ " " Rails "Estado de marca registrada" . USPTO . Consultado el 1 de agosto de 2007 .
  49. ^ "Estado de la marca comercial del logotipo de Rails" . USPTO . Consultado el 1 de agosto de 2007 .
  50. ↑ a b Forde, Pete (23 de julio de 2007). "Beginning Rails: de principiante a profesional" . Archivado desde el original el 5 de agosto de 2007 . Consultado el 1 de agosto de 2007 .
  51. Cooper, Peter (24 de julio de 2007). "David Heinemeier Hansson dice No al uso del logotipo de rieles" . Consultado el 1 de agosto de 2007 .
  52. ^ "Entrevista de 5 preguntas con el desarrollador de Twitter Alex Payne" . radicalbehavior.com. 2007-03-29. Archivado desde el original el 23 de abril de 2009 . Consultado el 4 de noviembre de 2014 . Según varias métricas, Twitter es el sitio de Rails más grande de la red en este momento. Running on Rails nos ha obligado a lidiar con los problemas de escalamiento, problemas con los que eventualmente se enfrenta cualquier sitio en crecimiento, mucho antes de lo que creo que lo haríamos en otro marco.
  53. ^ Steve Jenson; Entrevista de Alex Payne y Robey Pointer (2009-04-03). "Twitter en Scala" . artima.com . Consultado el 18 de julio de 2009 . Teníamos un sistema de cola basado en Ruby que usábamos para comunicarnos entre los front-end de Rails y los demonios, y terminamos reemplazándolo por uno escrito en Scala. El Ruby en realidad funcionó bastante decente en un estado estable normal, pero el tiempo de inicio y el comportamiento de bloqueo no fueron deseables.
  54. ^ "Twitter arroja a Ruby para Scala" . theregister.co.uk. 2009-04-01 . Consultado el 18 de julio de 2009 . Para fines de este año, dijo Payne, Twitter espera tener toda su infraestructura de middleware y sus API adaptadas al nuevo lenguaje. Ruby permanecerá, pero solo en la parte delantera. "Todavía estamos contentos con Rails por crear funciones orientadas al usuario ... en cuanto al rendimiento, está bien para las personas que hacen clic en las páginas web. Es el tipo de cosas de procesamiento asíncrono de trabajo pesado de las que nos hemos alejado".
  55. Ryan King (25 de septiembre de 2009). "Twitter en Ruby" . Evan Weaver . Consultado el 29 de septiembre de 2009 . Usamos Scala para algunas cosas en Twitter, pero la mayor parte del sitio es Ruby.
  56. ^ "La búsqueda de Twitter es ahora 3 veces más rápida" . Twitter . Consultado el 6 de junio de 2014 .
  57. ^ "He aquí por qué Ruby on Rails está caliente" . Business Insider. Archivado desde el original el 21 de diciembre de 2011 . Consultado el 10 de febrero de 2012 .
  58. ^ "Estadísticas de uso de Ruby on Rails" . trends.builtwith.com . Consultado el 4 de enero de 2016 .
  59. ^ "Ruby on Rails Token Usage Statistics" . trends.builtwith.com . Consultado el 4 de enero de 2016 .
  60. ^ Protalinski, Emil. "Cómo manejó GitHub ser pirateado" . Zdnet.com . Consultado el 24 de mayo de 2017 .
  61. Brook, Chris (25 de septiembre de 2013). "Problema de seguridad en Ruby on Rails podría exponer cookies" . Publicación de amenazas . El servicio de noticias de seguridad de Kaspersky Lab . Consultado el 4 de junio de 2014 .
  62. ^ "Remendar aplicaciones web" . Noticias del MIT . Consultado el 21 de abril de 2016 .

Bibliografía

  • Ruby, Sam; Thomas, Dave; Hansson, David (28 de marzo de 2009). Desarrollo web ágil con rieles (Tercera ed.). Estantería pragmática . pag. 850. ISBN 978-1-934356-16-6.
  • Laurent, Simon St .; Dumbill, Edd (28 de noviembre de 2008). Learning Rails (Primera ed.). O'Reilly Media . pag. 442. ISBN 978-0-596-51877-6.
  • Lenz, Patrick (1 de mayo de 2008). Simply Rails 2 (Segunda ed.). SitePoint . pag. 450 . ISBN 978-0-9804552-0-5.
  • Tate, Bruce; Hibbs, Curt (22 de agosto de 2006). Ruby on Rails: Up and Running (Primera ed.). O'Reilly Media . pag. 182. ISBN 0-596-10132-5.
  • Holzner, Steve (29 de noviembre de 2006). Beginning Ruby on Rails (Primera ed.). Wrox . pag. 380. ISBN 0-470-06915-5.
  • Allan Hardy, Jeffrey; Carneiro Jr, Clavo; Catlin, Hampton (20 de julio de 2007). Comenzando con Ruby on Rails Comercio electrónico: de principiante a profesional (Primera ed.). Wrox . pag. 361. ISBN 978-1-59059-686-9.
  • Clark, Mike (15 de mayo de 2008). Recetas de rieles avanzados (Primera ed.). Estantería pragmática. pag. 464. ISBN 978-0-9787392-2-5.

enlaces externos

  • Página web oficial
  • Código fuente de Rails
  • Guías de rieles
  • API de rieles
Obtenido de " https://en.wikipedia.org/w/index.php?title=Ruby_on_Rails&oldid=1050887348 "