¿Deberías usar siempre las gemas más actualizadas para un proyecto de Ruby on Rails?

No necesita usar siempre las gemas más actualizadas para su aplicación Rails. Si no está roto, no lo arregles.

Sin embargo. Vale la pena mantener tus gemas actualizadas regularmente. Cuando se descubren vulnerabilidades de seguridad, generalmente solo la versión menor más reciente obtendrá la solución. Muchas gemas son mantenidas por un equipo pequeño (a veces solo una persona) y los encargados del mantenimiento generalmente no tienen mucho tiempo para crear parches para versiones anteriores. Si está utilizando una versión anterior de una gema y se descubrió y parchó una vulnerabilidad crítica, pero solo para la versión menor más reciente, entonces tendrá que apresurarse a probar la gema actualizada.

Aquí hay algunas herramientas que pueden resultarle útiles:

paquete desactualizado: enumere las gemas instaladas con versiones más nuevas disponibles

bundler-audit: busca versiones vulnerables de gemas en Gemfile.lock

No soy un gran desarrollador de ruby, pero tengo mucha experiencia trabajando con diferentes tecnologías emergentes.

TLDR: a menos que tenga una necesidad urgente de los contenidos de la última actualización de una biblioteca, la última versión casi nunca es la mejor para usar. En general, debería estar buscando utilizar la última versión ESTABLE que tenga todas las características que necesita. Si está particularmente preocupado por la seguridad, consulte a un experto.

Explicación:

Como desarrollador, debe hacer cosas que su empresa pueda vender o usar. Como empleado, no debe destruir la empresa. Como desarrollador, parece atractivo usar la última versión de cualquier cosa porque tendrá más funciones y hará que su trabajo sea más fácil y rápido. Realizas más trabajo y el jefe está contento. Pero hay un lado oscuro. La última versión tendrá más errores que una versión un poco anterior debido a que las características más recientes no han sido probadas por los usuarios. Esto no es un problema en el código del navegador, pero para un lenguaje del lado del servidor puede causar problemas de seguridad. Y los problemas de seguridad pueden costar MUCHA empresa. No es probable que también, pero cuando suceden puede ser realmente malo.

Por lo tanto, mi consejo sería, si trabaja para una gran empresa, pídale a un ingeniero superior que le explique por qué le dieron la respuesta, si trabaja para una empresa más pequeña, lea la lista de cambios y si no hay cualquier mejora de seguridad, nuevas características o correcciones de errores que necesite en la última versión, vaya a la última revisión de la versión menor anterior (suponiendo que la ‘última’ sea la versión candidata de desarrollo / puesta en escena / lanzamiento)

Y como regla general, si tiene algún código en producción que funciona y no es crítico para la seguridad, no lo cambie si no es necesario.

No deberías Hay muchas gemas probadas en el tiempo, que no cambian con el tiempo. De mi artículo Las gemas de Ruby on Rails más usadas durante todo el tiempo que puedes ver, que hay algunas de las gemas más usadas de 2014 todavía están en uso. Y significa que no siempre debes actualizar a las últimas, solo usa las buenas desde el principio. Y si funcionan correctamente, no hay necesidad de reemplazarlos por los más recientes.

More Interesting

¿Qué papel desempeña cada uno de los siguientes lenguajes en la programación de un sitio web (CSS, HTML, PHP, jQuery, Bootstrap, Javascript, WordPress, C ++, Perl, Python, Ruby, MySQL)?

Cómo alojar un sitio web y ¿hay algún pago por hacer?

¿Cuál es la diferencia entre PHP ajax y Jquery Ajax?

¿Cuál es la mejor manera de administrar el proceso de rediseño de un sitio web para una organización sin fines de lucro?

Al resolver un error, ¿cómo equilibrar una solución elegante con pasar demasiado tiempo en ella?

¿Cuál es la principal diferencia entre angularjs y reactjs?

¿Existe un creador de sitios web que tenga un sistema simple de arrastrar y soltar y que no requiera habilidades de codificación?

¿Deberíamos hacer nuestros cálculos en la vista, o en el controlador, o en un procedimiento almacenado o en el modelo?

¿Cuáles son mis mejores opciones para un servidor web asequible y confiable para mis proyectos Rails y WordPress?

Si comienza a comparar plantillas de correo electrónico, plantillas de sitios web, cualquier categoría particular en sitios de plantillas como Themeforest ... Todos parecen ser, en su mayor parte, lo mismo. O solo soy yo? En este caso, ¿qué destaca y hace que los diseños más populares sean tan populares?

¿Por qué no puedo encontrar el código fuente de un sitio web?

¿Cuál es el propósito de la porción de URL al crear un blog?

¿Cuál es el futuro de AngularJS? ¿Python es más poderoso que AngularJS en el futuro?

¿Se pueden volver a crear sitios web como Facebook?

Cómo implementar una aplicación web Vue.js y Django en Heroku