¿Cómo puedo mejorar Ruby on Rails si no tengo experiencia con marcos web?

Permítame comenzar con su segunda pregunta, más general primero.

¿Cómo se aprende mucho sin sentirse abrumado?

No muerdas más de lo que puedes masticar.

Un marco web de pila completa como Rails incluye muchas partes móviles: desde el manejo de solicitudes (enrutamiento, MVC) hasta la persistencia (ActiveRecord y NoSQL) hasta la presentación (plantillas, activos, JS) a la integración de terceros (servicios web y redes sociales) . ActiveRecord solo abarca migraciones, ORM, validación y relaciones.

Si tratas de hacer malabares con todas esas cosas en tu cabeza a la vez, fácilmente te sentirás abrumado. El truco es averiguar si estás más inclinado a aprender cosas ‘verticalmente’ (una característica pequeña a la vez, involucrando varias capas o componentes interdependientes) o ‘horizontalmente’ (una capa a la vez).

Además, si te gusta aprender capa por capa (o componente por componente), ¿eres un tipo de persona ‘de afuera hacia adentro’ (o de arriba hacia abajo) o un tipo de ‘de adentro hacia afuera’ (o de abajo hacia arriba). Afuera, en tipos como ver los resultados de sus esfuerzos de inmediato y puede resultar más gratificante trabajar en la capa de presentación. Desde adentro hacia afuera, a los tipos les gusta conocer el funcionamiento interno (en su mayoría) oculto de las cosas y desde allí construir una imagen mental pieza por pieza hasta que capten todo el sistema.

Soy más de una capa por capa, tipo de persona de adentro hacia afuera.

¿Cómo puedo mejorar en Ruby on Rails incluso si no tengo experiencia con marcos web?

Habiendo dicho todo lo anterior, una vez que descubres qué tipo de persona eres, entonces es cuestión de abordar Rails de esa manera.

En mi caso, comencé con los conceptos básicos del lenguaje de Ruby primero. Cuando me sentía cómodo con Ruby, me mudé a ActiveRecord ya que la persistencia es un componente universal de cualquier aplicación web y los RDBMS son RDBMSs, independientemente del marco / idioma que elija.

Entonces, aprendí las migraciones de ActiveRecord para ver cómo el código Ruby podría generar un esquema SQL, y luego, naturalmente, la parte ORM de ActiveRecord para pasar de los datos SQL a los objetos Ruby, luego la validación y las relaciones. Todo solo desde scripts simples o desde la consola de rieles.

Desde la persistencia, me moví para solicitar enrutamiento (cómo un “GET / widgets” se asignó a qué código), luego el controlador / acción parte de Rails MVC.

A partir de ahí, la capa de presentación: plantillas (primero fue ERB, ahora es HAML), CSS (SASS, ahora) y JS (CoffeeScript, ahora).

Cuando estaba en funcionamiento escribiendo aplicaciones de Rails, pronto me encontraría con la necesidad de algún tipo de biblioteca o integración con un sistema externo (por ejemplo, Twitter bootstrap o OAuth). Luego se trató de encontrar y aprender gemas de terceros o motores Rails, hasta que empecé a escribir gemas de Ruby o mis propios motores Rails.

Lee el libro de Hartl 3 veces, tapa a tapa:

http://ruby.railstutorial.org/

La primera vez, siga los ejemplos y siga el ritmo de escribir cada línea de código, incluso si parece que no entiende nada de eso. Verá el progreso de inmediato y su subconsciente comenzará a absorber más de lo que cree.

La segunda vez, realmente trata de entender todo mientras lo construyes de nuevo. Intenta no copiar el código del libro, sino lucha por hacerlo tú mismo. Mire el código cuando lo necesite.

La tercera vez, no construyas la misma aplicación. Elige una idea diferente y aplica los conceptos del libro a algo nuevo.

Para ese momento, debería tener un entendimiento bastante decente de MVC, Rails y el lenguaje Ruby.

A partir de ahí, simplemente comience a construir, use google y Stack Overflow para encontrar soluciones a problemas que no pueda resolver.

Yo trabajo en seguros, y en los últimos 8 años se ha vuelto muy difícil para mi empresa competir en precio (el mercado se ha saturado). Tenía que encontrar un ángulo diferente y decidí que quería que el software fuera mi ángulo. Es una pequeña empresa, por lo que simplemente no es financieramente posible delegar todo, por lo tanto, decidí aprender a programarme. Elegí Ruby on Rails.

El mejor consejo que puedo dar es tener un producto real para trabajar. Puede pasar sin rumbo fijo entre los tutoriales y los libros por el resto de su vida, o puede tener algo tangible con el que pueda aplicar las técnicas a las que está aprendiendo. Si es posible, conecta con un diseñador y crea algo juntos. Aprenderás mucho de sus diseños y cómo hacer que cobren vida.

En última instancia, así es como aprendí. La primera vez que tuve la idea de mi aplicación, Lodger, solo pude darme cuenta de lo básico de Rails. Como aprendí, me suscribí a RailsCasts, recorriendo constantemente el desbordamiento de pila y dando vida a este producto a partir de los diseños.


Ah, y entiendo perfectamente la sensación de estar abrumado, pero en su mayor parte pasa (siempre hay algo nuevo que aprender, por supuesto). Un poco de consistencia y compromiso (es decir, hacer algo relacionado con Rails todos los días) será de gran ayuda.

Hay dos partes para sentirse abrumado. Una es la sensación de que no puedes hacerlo. La otra es la sensación de que la tarea es demasiado grande para ti. Estos son distintos.

Dirigiéndose a la primera: la sensación incómoda que se siente cuando algo está fuera de su zona de confort es exactamente donde quiere estar si quiere crecer. Esa es la única manera de subir de nivel. En general, las personas no pueden permanecer en esa zona de desafío durante más de 2 horas al día, y no hay razón para que lo haga.

Dirigiéndose a la segunda: cuando algo es grande, desmenúzalo. Eso es lo que dicen al menos las personas de la PNL. O si alguna vez has jugado a Shadow of the Colossus, es el mismo principio:

Así es como derrotas a un gigante: un pequeño paso a la vez. Empieza por el pie y sube por el camino.

Y si no tiene una buena base, primero obtenga una base sólida:

  1. Aprender ruby Aprende realmente Ruby, como con Learn Ruby The Hard Way y prueba ejercicios en Acerca de – Proyecto Euler
  2. Cuando aprendas un concepto por primera vez, pruébalo. Entonces trata de hacer que falle. Intenta ver otros casos. Vea si puede mejorar la forma en que expresa el idioma: juegue “golf”. ¿Puedes hacer lo mismo y acortarlo? Aproveche la oportunidad para aprender la biblioteca estándar de Ruby. Cuando te encuentres con ejemplos de código que usan cosas que no entiendes, búscalos.
  3. Aprende SQL, sin usar ActiveRecord. Busque la diferencia entre “base de datos transaccional en línea” y “base de datos analítica en línea”, como el diseño de la base de datos de esquemas en estrella. Aprender sobre consultas. Aprender sobre los índices. Aprenda sobre las restricciones de clave externa y cómo eso afecta el rendimiento.
  4. Realmente, realmente aprenda sobre los objetos, clases y módulos de Ruby. Profundice, aprenda sobre ActiveSupport :: Preocupación. Aprende a generar clases dinámicamente. Aprende a construir bibliotecas compactables.
  5. Aprende a leer el código fuente. La documentación de Rails es extensa, pero a medida que crecí como desarrollador, descubrí que era mucho más fácil simplemente leer la fuente. Al tratar de averiguar qué está haciendo realmente el código, sé que el sistema es mucho mejor de lo que aparece en la documentación. También te enseña cómo escribir un buen código de Ruby … y cómo evitar escribir un código de Ruby malo.
  6. Aprende a probar. No aprendes a escribir pruebas porque así lo dice. Aprendes a escribir pruebas para que puedas refactorizar. Descubrirá rápidamente que si escribe muchas condiciones de bifurcación, las pruebas se complicarán. A menudo hay formas más fáciles de expresar las cosas dividiéndolas.
  7. Sigue probando cosas en `irb` o` rails console`. Juega con ideas ahí y mete cosas.

Cree su propia idea que le apasiona y hágala a la derecha junto con cualquier otra cosa que esté creando. Aprende bien las palabras, a pesar de que parece ralentizarte al principio. No pase palabras, nombres de métodos, nombres de clases, nombres de variables o incluso nombres de archivos a medida que avanza sin saber qué significan. Escoge una palabra al día de la mezcla y aprende con maestría ese día. Si necesita una palabra, permítame darle una que no tiene precio … el Histograma, una herramienta pequeña y divertida que se puede usar de muchas maneras. Y no se sienta abrumado por las expresiones regulares, su poder puede ser suyo con un poco de estudio y se usa para procesar y verificar, validar y probar, y así es como aprendí, al encontrar las herramientas que necesitaba y al aprenderlas lo mejor que puedo. a medida que avanzo

Si sabe que va a crear aplicaciones repetidamente, puede aprender la capacidad de plantilla de Rails y dejar que sus propios códigos creen sus aplicaciones para usted … o puede dejar que un maestro que ya ha hecho todo ese trabajo de plantilla para usted Aprenda a utilizar sus compases y sus resultados aprendiendo a usar Rails Composer de Daniel Kehoe en su sitio RailsApps @ RailsApps / rails_apps_composer, es gratis. Y, sus tutoriales no tienen precio @RailsApps · Construye y aprende · Ejemplos y tutoriales
Me sentí honrado de ser uno de los correctores y revisores de códigos de Daniel en sus tutoriales a lo largo de los años y su reciente libro, Learn Ruby on Rails .. Puedo decirle por experiencia personal, sus escritos son claros y concisos y no deja piedras sin remover. Cualquier tema que desee conocer en las aplicaciones de Rails, desde las pruebas hasta la producción, desde la configuración de las variables ambientales hasta el alojamiento en la producción, lo ha explicado en lo que una persona llama “loca” y lo agrego, claro como el cristal.

Cree su propia idea que le apasiona y hágala a la derecha junto con cualquier otra cosa que esté creando. No se limite a trabajar en una sola aplicación, de esta manera podrá comparar y aprender de dos o más a medida que avanza.

A partir de la larga experiencia, puedo decirle que aprenda a probar, utilizando Minitest o RSpec, y otros han agregado, que si trabaja con clientes, entonces también domine el pepino, ya que el lenguaje Gherkin es un puente brillante entre usted, el desarrollador y cada cliente que tendrás He pasado el último año o más dominando la gema de RSpec @https: //rubygems.org/gems/rspec y la gema de ruby-mock de la raya @ tu gema de la comunidad aloja la gema utilizada para probar tu aplicación en términos de usar Stripe como su fuente financiera El placer de finalmente poder escribir la prueba en la mañana de mi idea y tener el código en su lugar y las pruebas que pasan por la noche es una alegría inestimable. Cada día, ahora agrego un valor real a cualquier aplicación en la que trabaje, y esa también será tu alegría, si persistes y aprendes tus palabras y términos.

Utilizar [correo electrónico protegido] | La plataforma de aplicaciones en la nube para el alojamiento de su aplicación … facilitan el inicio y el trabajo con el alojamiento de las aplicaciones y los cambios. Use CloudFlare @ La compañía de seguridad y rendimiento web para sus autorizaciones SSL y DNS. Utilizamos ambos y estamos muy contentos con sus servicios.

Póngase en Gitter @ rails / rails o el IRC for Rails y haga las preguntas que necesite, después de que haya hecho cualquier búsqueda de la respuesta.

Una vez más, digo, construya algo que signifique algo para usted personalmente, a medida que construye cualquier otra aplicación. Invierta en los tutoriales de Daniel’s Capstone. Será el mejor dinero que haya invertido en su carrera en Ruby on Rails. Tómelo de uno de sus correctores y correctores de códigos. Mi descargo de responsabilidad es que no tengo ninguna participación financiera en su trabajo. Obtuvo mis elogios por la clara calidad de sus participaciones y la enseñanza de las complejidades de Rails.

Buena suerte para usted de un autor / investigador y ahora programador: kathyonu (kathyonu)

Construye una gema, luego asegúrate de que esté bien probado. Después de eso construir un motor. Hay toneladas de recorridos para los tres conceptos.

Una vez que creé mi primera gema, abrió el resto de Rails como algo accesible para mí.

La construcción y el motor me dieron confianza y mucho respeto por la comunidad.

Testing Rails proporciona información importante sobre ruby ​​y su naturaleza OO. Las pruebas también ayudan a descubrir algunos de los misterios de Rails.

Si no sabes qué gema construir, crea una gema que contenga las dependencias de tu aplicación. ¿Necesitas una idea de motor? Construye uno que tenga tu lógica de autenticación básica incorporada. Puedes mantener tus gemas privadas con submódulos o repositorios privados. Todos los detalles se discuten en los foros.

Después de eso, comience a analizar los problemas y presentar soluciones en Github para gemas de la comunidad. Además, en cualquier momento, únase a los grupos de tipo de control de calidad de Google y otros rieles.

Hay excelentes libros y tutoriales en las otras respuestas, ¡lee aquellos que no puedes construir una gema o un motor!

¿Cómo se puede mejorar en Ruby on Rails sin experiencia con marcos web?

En mi experiencia, al no saltar directamente a Ruby on Rails y comenzar a construir un sitio web dinámico más tradicional en Ruby con herramientas más pequeñas. Por ejemplo, la biblioteca Sinatra hace posible construir un sitio web dinámico utilizando muchos de los mismos componentes del marco de Rails, pero con un enfoque más práctico.

Necesitaras:

– declara tus rutas y URL y cómo son manejadas por el programa
– represente explícitamente el contenido de una URL determinada eligiendo una plantilla y dándole las variables que necesita
– tratar con las cookies / datos de sesión directamente
– hacer conexiones explícitas a la base de datos para extraer datos o poner datos en

La razón por la que creo que esta ruta es más fácil de aprender es porque hace que los componentes involucrados en la solución sean más explícitos y fáciles de razonar directamente. Es solo una vez que esto comienza a sentirse tedioso y, como hay mucha repetición, uno puede incluso apreciar o entender qué es exactamente lo que Rails está haciendo por usted.

¿Cómo se come un elefante?
Un bocado a la vez …

Además de algunos de los excelentes sitios mencionados, recomiendo http://www.teamtreehouse.com , ya que toma la ‘pila de rieles’ desde cero.

HTML, CSS, Base de datos, JS, Ruby, Interfaz de línea de comandos están cubiertos por separado y en gran profundidad. El estilo de enseñanza es el video (con el que se recomienda trabajar) seguido de un cuestionario o prueba. Este enfoque se basa en pequeños bloques de conocimiento como una forma de abordar un área vasta.

Cuando estés listo, tiene un curso para principiantes realmente bueno en Rails (así como intermedio y avanzado).

Es un recurso bien diseñado, que se paga pero me parece excelente.

Para mejorar tu rubí, lee Eloquent Ruby por Russ Olsen.

Para mejorar los rieles de yor, mire los moldes de rieles: railscasts.com

No hace falta decir que la práctica es la única garantía de que mejorará.

En primer lugar, como recién llegado al marco de Ruby on Rails, no debe preocuparse por sentirse abrumado. Es bastante común que los recién llegados, así como los desarrolladores más experimentados, encuentren problemas que nos hacen sentir abrumados. Parte del aprendizaje es poder admitir cuando no sabemos algo. Hay una tonelada de recursos para ayudar. Siempre que haya algo de lo que no esté seguro, intente una búsqueda de Google con su problema o error, y es probable que surja una solución StackOverflow de inmediato. Esto sucederá todo el tiempo. Soy un desarrollador de Rails a tiempo completo, y todavía estoy en StackOverflow todos los días. Algunos recursos adicionales que pueden resultarle útiles: el tutorial Rails (Ruby on Rails Tutorial) es un excelente punto de partida. También puedes ver los tutoriales de Rails en Codeschool (Aprender Haciendo – Code School). Estos son dos buenos lugares para comenzar.

Una de las cosas más importantes que puedo enfatizar es que cada vez que me encuentro con algo nuevo que aún no entiendo, es fácil para mí frustrarme, sentirme abrumado y simplemente rendirme. Me he dado cuenta de que es importante no estresarse en estas situaciones, sino confiar en los recursos que existen para ayudar. Los rieles pueden ser frustrantes a veces, pero cuanto más lo uses, más podrás entender lo que está sucediendo. Rails tiene mucha magia, por lo que para empezar quizás quieras construir algo usando Sinatra, un marco similar pero mucho menos robusto. También hay un montón de bootcamps de desarrollo (General Assembly, Dev Bootcamp, solo por nombrar algunos), que te permiten aprender Rails en un entorno más estructurado.

Permítanme enfatizar de nuevo: como desarrollador, no creo que haya un punto al que pueda llegar cuando pueda decir: entiendo todo y ahora nada me abruma. Siempre hay nuevos desafíos que enfrentar, y eso es parte de la emoción. Cuando te sientas abrumado, respira hondo o camina, y es probable que vuelvas y hayas encontrado una solución.

Necesitas saber que dos principios importantes de Ruby on Rails son:

  • No te repitas
  • Convención sobre configuración

Conozca las mejores prácticas en Rails.

Para que puedas aprender mucho sin sentirte abrumado, creo que deberías comenzar un proyecto de mascotas, puede ser crear un blog.

Además, necesitas leer blogs y libros para mejorar tus habilidades.

Unirse a la reunión, la comunidad.

¡Practica, practica y practica!

Puedes leer más: 15+ Mejores recursos para aprender Ruby on Rails

Además de los excelentes enlaces publicados anteriormente, diría que únete a un Meetup de Ruby y una vez que te sientas cómodo, comienza a programar en pareja con alguien. Si tiene una aplicación escrita en otro lenguaje / marco, intente portarla, para aprender a “Pensar” en Rails.

Otro recurso que recomendaría sería: los Talleres de Thoughtbot (learn.thoughtbot.com): estos no son gratuitos como Railscasts o Zombies, pero definitivamente lo conectarán completamente con Test Driven Development with Rails.

Estaba en la misma situación hace 6 meses. Luego leí el siguiente post sobre el calendario de Seinfeld. Cambió totalmente la forma en que abordé el problema y ahora he logrado un gran avance en mi aprendizaje.

Hice algo todos los días durante 6 semanas y de repente supe lo que estaba haciendo. Vaya a un montón de reuniones locales y obtenga en los foros de desbordamiento de pila.

Compre los tutoriales en video de Michael Harlt y trabaje con ellos una vez que obtenga los conceptos básicos. Luego trabaja a través de ellos al menos 3 veces.

Lo último es construir algunos ‘juguetes rompibles’, solo comience a usar andamios para construir sitios básicos y trate de pensar en algo realmente simple que pueda agregar o cambiar. Podría ser una nueva característica o una nueva vista o agregar bootstrap para que se vea bien. Solo quítalo y da un paso a la vez. Pero asegúrate de dar al menos un paso todos los días. ¡¡Oh!! Y apaga tu televisor. Ese es el mayor obstáculo que puedes evitar.

http://lifehacker.com/281626/jer

Hola … Ruby on Rails es el mejor para el desarrollo de aplicaciones web. Aquí, me gustaría sugerir algunas fuentes que son útiles para los novatos.

http://rubyonrails.org/
http://railsforzombies.org/
http://railscasts.com/

La mejor manera de aprender es experimentar realmente con la aplicación. No tenga miedo de fallar porque al cometer grandes errores al principio, aprenderá a evitarlos más adelante en su carrera.

Lee la Guía de Ruby on Rails, crea una aplicación de muestra y comienza a construir sobre las cosas que aprendes mientras lees.

También crearía un repositorio de git y me comprometería a menudo, de modo que cuando desordenes tu código (y así lo harás), siempre puedes volver al último repositorio comprometido.

Empieza por aprender Ruby:

http://tryruby.org/levels/1/chal

http://www.codeschool.com/course

http://www.codecademy.com/tracks…

Asumiré que sabes html y css.
Si no entonces:

http://www.codecademy.com/tracks…

Luego, en lugar de abordar Rails, supere los marcos de rails aprendiendo Sinatra:
http://sinatra-book.gittr.com/

http://net.tutsplus.com/tutorial…

Debería estar listo para abordar los rieles ahora con más conocimiento y menos obstáculos de aprendizaje, por lo que no debe sentirse abrumado.

¡Hola!

Aprender una nueva habilidad puede ser muy abrumador, por lo que es importante equilibrar su tiempo de manera efectiva y obtener ayuda cuando la necesite.

En CareerFoundry nos especializamos en la enseñanza de principiantes Ruby on Rails. La combinación de apoyo de mentores y flexibilidad que ofrecemos ayuda a los estudiantes a avanzar en el curso con confianza, ¡y convertirse en grandes desarrolladores web!

Apunta a ganancias rápidas practicando tutoriales en línea o desde libros.
Trata de persistir en la memoria la mayoría de los conceptos clave que aprendes en el día. Un software SRS como Memoly puede ayudarlo a retener sus aprendizajes mucho mejor.
Tu confianza vendrá de cuánto puedes mantener en tu cabeza.

Mi camino es Ruby on Rails Tutorial (3rd Ed.) Y Learn Ruby with the Ruby Koans – curso interactivo sobre el estilo TDD. Si no puede participar en este curso, he compartido respuestas con fines educativos: aisogroup / koans_answers

Entonces, tengo una idea sobre un producto / una solución para algún problema específico. Si me llevara de 4 a 5 meses aprender Ruby on Rails e implementar mi prototipo, ¿no me perdería la oportunidad?