¿Cuál es la mejor manera para que un principiante comience a aprender Ruby on Rails?

La programación de computadoras es algo que aprendes haciendo. Para aprender un lenguaje de programación necesitas usarlo. En este caso estamos hablando de ruby, pero se aplica a todos los lenguajes de programación.

Después de leer algunos de los tutoriales mencionados en otra parte de esta página, es probable que se sienta cómodo siguiendo los tutoriales, pero que no se siente como ” usted conoce a Ruby “.

Y nunca sentirá que realmente ha aprendido el idioma hasta que comience a aventurarse y usarlo sin la mano que la mayoría de los tutoriales proporcionan.

Esto es lo que debes hacer para aprender Ruby.

Entonces, poco después de completar algunos tutoriales, el enfoque que debe adoptar es el mismo enfoque que utilizan los maestros japoneses de artes marciales para dominar su oficio: el kata.


Si estás buscando convertirte en un maestro de Rex-Kwon-Do, practicarás reaccionar en respuesta a un movimiento específico que haga un oponente con ciertos patrones de movimientos coreografiados hasta que se convierta en memoria muscular. Querrá hacer lo mismo con los desafíos de codificación.

Entonces, de varios tutoriales, aprenderá qué diferentes comandos puede escribir. Cuando enfrenta sus primeros problemas, es común sentirse abrumado. Hay MUCHAS cosas en que este lenguaje de programación ruby ​​tiene para ofrecer. ¿Debería usar un comando de cada uno o uno de retorno ?

Lo bueno de la programación es que es posible resolver todos los problemas informáticos con un número notablemente pequeño de comandos : al dominar unos pocos comandos, puede unirlos para resolver todos sus problemas. Una vez que domine los comandos más importantes del lenguaje de programación, puede trabajar en algunos de los otros comandos ” cosméticos “, que podrían permitirle resolver un problema con 1 línea de código en lugar de 3.

El maestro ha encontrado cada variación de cada problema innumerables veces e inmediatamente tiene la memoria muscular de cómo resolver el problema. Es una reacción sin necesidad de pensar.

Un principiante no tiene estos instintos de codificación. Para desarrollarlos, pero puedes desarrollarlos usando kata.

Kata en la programación son desafíos de codificación que lo empujarán a usar un pequeño número de partes específicas del lenguaje de programación a su disposición para darle esta memoria muscular.

Aquí hay un ejemplo de kata de programación.

Invierta una oración, por ejemplo, cambie el texto “a Bob le gustan los perros” en el texto “a los perros le gusta Bob”

Este es un problema relativamente simple, pero requerirá que sepa cómo realizar los siguientes pasos:

  • Texto encubierto en una lista de palabras
  • Invertir una lista de palabras
  • Recombinar las palabras juntas en una oración

¡Y el primer kata que consigas te pateará el trasero! Puede llevarle una hora o más y es posible que no pueda resolver el problema. Tendrás dificultades y el proceso se sentirá frustrado.

Y eventualmente puede darse por vencido y pedir ayuda. Pero luego, cuando observa el código que resuelve el problema, comprenderá cómo y por qué funciona. Al comprender completamente la solución para cada kata antes de pasar al siguiente, comenzará a desarrollar este dominio del oficio.

Apreciará lo que hace cada parte del programa y estará mejor preparado para la próxima vez, cuando tenga un problema diferente pero similar.

Y luego, cuando abordes tu próxima kata de programación, por ejemplo:

Elimine la palabra “me gusta” de una oración, por ejemplo, convierta el texto “bob le gusta perros” en “bob perros”.

Este es un problema que tiene pasos similares al problema anterior:

  • Convertir texto en una lista de palabras
  • Eliminar una palabra de la lista
  • Recombinar las palabras juntas en una oración

Este segundo kata comparte muchos puntos en común con el primero (¡son 2/3 iguales al problema anterior!). Entonces, al comprender completamente cómo funciona el programa anterior, podrá hacer algo similar para este problema. Puede reutilizar muchos de los mismos pasos.

La clave es continuar trabajando a través de desafíos cada vez más difíciles. Después de resolver varios desafíos de programación diferentes sin instrucciones de exactamente qué escribir, se dará cuenta de que los problemas que solían desafiarlo ahora son realmente fáciles de resolver.

Y cuando finalmente comience a resolver los problemas, se sentirá tan satisfactorio y satisfactorio conquistar un desafío tan difícil.

Si está buscando conseguir un trabajo como desarrollador web, notará que en el proceso de la entrevista técnica se le dará kata para probar su habilidad como programador.

El kata que le darán como parte de una prueba de entrevista probablemente será mucho más difícil que con el que está comenzando, pero debe avanzar lentamente hacia este nivel de preguntas.

Herramientas como tryruby y RubyMonk puede darle una vista de 360 ° del lenguaje de programación ruby. Aprender Ruby The Hard Way es una buena descripción y sugiero completar los ejercicios de estudio que tienen también (¡los ejercicios de estudio son kata de manera oportuna!).

A partir de ahí, para llevar tu ruby-fu al siguiente nivel, resuelve problemas de sitios como CodeWars y excercism.io .   Codewars en particular es súper genial porque puedes revisar las soluciones que otras personas han escrito. Algunas personas usarán trucos geniales en sus soluciones y usted puede aprender de ellas.

Finalmente, CodeAbbey tiene algunos desafíos realmente complicados, que lo ayudarán a dominar realmente el idioma.

Antes de que te des cuenta, sabrás exactamente cuándo es el momento adecuado para: Barrer la pierna, Johnny.

[Como nota al margen, esta es una respuesta ligeramente diferente a ¿Cómo aprendo Desarrollo Web? que es una pregunta relacionada, ya que ruby ​​se usa a menudo en el desarrollo web]


También puedo sugerirle que siga el curso de Introducción que configuré para mi campo de arranque de codificación en línea, Firehose . Es gratis y la mayoría de las personas tarda alrededor de 2 semanas en completarlo. Es una combinación de instrucción y desafíos de codificación y si estás buscando inscribirte en un bootcamp de codificación o no, creo que la mayoría de las personas aprenden mucho de él.

Introducción de Firehose al curso de desarrollo web – 2 semanas gratis

Si le gustó mi respuesta, significaría mucho para mí si la votara al presionar el botón azul claro a continuación.

Voy a tirar la mía, tal vez no sea la mejor manera, pero para mí funcionó muy bien durante más de 10 años, así que supongo que otros pueden hacer eso. Además, es barato, si quieres un mentor usualmente necesitas mucho dinero.

El secreto principal son … buenos libros. El otro secreto es comenzar con Ruby y aprender eso primero. Especialmente si es tu primera experiencia de programación, necesitas aprender Ruby, porque es el lenguaje que usarás.

Para Ruby sugiero:

  1. El rubí bien fundamentado
  2. Metaprogramación Ruby 2

Después de eso (o mientras leo eso, prefiero guardar notas y referencias y leer primero todo el libro, antes de comenzar a practicar), escriba algo de código: Herramientas de línea de comando que conviertan un archivo de texto en otro archivo de texto de tipo de formato. Escriba una herramienta de línea de comandos que haga algo con el sistema de archivos, es difícil elegir, pero supongo que tiene sus ideas. Si quieres algo más divertido, siempre puedes comenzar a usar RPG Maker VX Ace, que usa Ruby como lenguaje, pero eso tomará mucho tiempo (y solo en Windows).

Entonces puedes comenzar Rails, ahí es donde comienza la diversión porque estarás produciendo resultados reales. Espero que conozcas al menos un poco de html, porque estamos creando sitios web, al menos necesitas saber qué es una etiqueta html, no es nada especial, mira la fuente de cualquier sitio web y probablemente ya lo hayas aprendido.

Para Rails sugiero:

  1. Rieles 4 en acción

Que ya cubre todo. Comience a escribir algunas aplicaciones (por ejemplo, tratar de hacer un gerente de almacén, es lo suficientemente complicado pero puede aprender muchas cosas), después de un momento puede sentirse lo suficientemente seguro como para tomar trabajos menores (generalmente independientes, al menos en mi país )

En este punto, manténgase actualizado, busque tutoriales, hay excelentes sitios web como:

  • Railscasts
  • Ruby Weekly
  • Guías de Ruby on Rails

Esos todavía son visitados diariamente para mí (railscasts un poco menos porque ahora tengo bastante experiencia).

Después de un año o dos, es posible que desee subir de nivel y, desde mi punto de vista, hay 3 libros que son la clave para dar un gran paso adelante:

  1. Diseño práctico orientado a objetos en Ruby
  2. Multitenencia con rieles
  3. Aplicaciones de rieles crecientes en la práctica

Estos son definitivamente mis favoritos, en cualquier caso, sugeriría consultar estas publicaciones de blog después de que tenga experiencia:

  • 7 patrones para refactorizar modelos de Active Fat Record
  • Singletons, hilos y flexibilidad
  • TechRabbit: Rails 4 motores

Y asegúrese de revisar los siguientes 3 videos:

Especialmente el primer video, es posible que desee verlo tan pronto como termine su primer libro de Rails.

Además, debe consultar estas publicaciones sobre pruebas:

  1. Cómo aprendí a probar mis aplicaciones Rails, Parte 1: Introducción
  2. Escribir mejores pruebas con el patrón trifásico
  3. Trucos de magia de prueba (RailsConf)
  4. Mejores especificaciones {directrices rspec con ruby}

Todos estos son recursos para volverse buenos. Sin embargo, tenga en cuenta que mucha práctica es el requisito principal. Comencé a programar cuando tenía 15 años (no por trabajo, por diversión) y desde allí fue mi pasatiempo favorito. Practica y estarás bien.

Hay algunas razones por las cuales aprender un nuevo lenguaje o marco de programación puede ser un desafío:

  • La mayoría de los tutoriales o libros de aprendizaje en línea intentan enseñarte demasiado demasiado pronto. Como principiante, descubrirá que está demasiado delgado y está tomando demasiado de una vez. Puede ser abrumador y fácilmente podrías perder el enfoque, bajando los roles de conejo.
  • No tendría un buen sentido sobre cómo mantener el ritmo. Al principio, estás emocionado y navegando por los primeros 3 capítulos, pero después de un par de semanas comienzas a sentirte un poco exhausto, solo para darte cuenta de que solo tienes 1/4 y solo se está volviendo más difícil.
  • Podrías caer en la trampa de tratar de comprender demasiados conceptos o jugar con el código sin claridad, y luego olvidarte de las cosas pronto o sentir solo seguir los pasos sin saber por qué.
  • Estarás estudiando solo. Llegará a obstáculos y se quedará atascado, y cuando lo esté aprendiendo solo, no hay a dónde recurrir para obtener ayuda. Un simple error puede llevarle horas, haciendo que toda la experiencia sea difícil y no divertida.

Esto es especialmente cierto para aprender Ruby on Rails, o el desarrollo web en general. Si eres un principiante absoluto (nunca antes programado), es muy probable que te encuentres frente a todo lo siguiente:

1. Conceptos básicos de programación (por ejemplo, ¿qué es una matriz?)
2. Ruby el lenguaje de programación
3. HTML, CSS y quizás algunos Javascript
4. Conceptos básicos de la base de datos
5. Conceptos básicos de la web: formularios, solicitud / respuesta HTTP
6. Rails, el marco web para desarrollar aplicaciones web con Ruby
7. Línea de comandos de Unix y entorno de desarrollo
8. Implementación y gestión del servidor
9. Sistemas de control de versiones de código fuente (git)
10. Bibliotecas / Ruby Gems
11. Metodologías de Desarrollo Dirigido por Prueba (TDD) o Desarrollo Dirigido por Comportamiento (BDD)
12. Conceptos de programación orientada a objetos (OOP)

Será una experiencia caótica absoluta tratar de hacer frente a todos por su cuenta, y fácilmente se quedará atrapado y se dará por vencido.

Por esta razón, sugeriría que los principiantes, especialmente los principiantes con poca experiencia previa en programación, tomen clases de capacitación o encuentren tutores personales para ayudarlos cuando comiencen. Sí, eso significa que necesitará invertir algo de dinero, y algunos pueden ser bastante caros. Pero te ahorrarán un montón de tiempo y te darán un gran impulso al comenzar.

Aquí en Launch School, la escuela en línea donde enseño, tratamos de resolver los problemas que describí anteriormente. Esto es lo que hacemos:

1. Hacemos que aprendas y practiques primero los fundamentos. Al principio, redujimos el material para centrarnos en el núcleo de la programación y el desarrollo web. Primero aprende los conceptos básicos de Ruby y desarrollo web. Hacemos que primero aprenda y comprenda los problemas, antes de aprender bibliotecas y marcos, que son soluciones a los problemas. Introducimos los temas avanzados hacia el final del programa, no mientras recién está comenzando.

2. Le damos la estructura y establecemos el ritmo para usted. Usted reserva el tiempo y lo llevamos de cero a trabajo listo. Será mucho trabajo y tienes que estudiar mucho, pero no tienes que preguntarte qué temas estudiar a continuación y en qué grado.

3. Hacemos hincapié en la codificación como un desarrollador real, por lo que la tarea que damos son tareas reales de codificación. En el camino, tendrá sesiones 1 a 1 con nuestros maestros para asegurarse de que domina los temas y lo prepara para prepararse para entrevistas técnicas.

Aquí hay algunos otros recursos de capacitación que pueden serle útiles:

Personalmente, conozco y puedo recomendar algunos tutoriales y talleres que imparten miembros de buena reputación de la comunidad de Ruby:

También hay campamentos de codificación en persona si se ajustan a su estilo de vida:

  • DevBootcamp ( http://devbootcamp.com/ )
  • Epicodus | Una escuela vocacional para programadores aspirantes
  • Academia de aplicaciones
  • Escuela Turing

Finalmente, le recomiendo que nos visite en Launch School. Creo que tenemos un programa en línea de clase mundial que lo lleva desde un principiante hasta un desarrollador listo para el trabajo.

Adoptaré otro enfoque e intentaré definir un experto y cómo convertirme en uno (no soy uno, pero me estoy acercando).

Para obtener más información sobre “lo que se espera que sepa”, consulte esta excelente publicación de blog: Por eso, aprender Rails es difícil.

En Rails (como mencionó Fabio, generalmente se puede aplicar), diría que un experto es:

Altamente competente con Ruby

Comprende los modismos y las peculiaridades, puede deletrear documentos básicos de memoria (Array, Hash, String, etc.). Tiene una sólida comprensión de hilos y fibras, experiencia con concurrencia de Ruby (quizás con JRuby). Conoce bien las herramientas de desarrollo como RVM y Pry. Puede publicar una gema, actualizar esa gema, contribuir a otras gemas. Utiliza bundler religiosamente.

Documentando el lenguaje Ruby
ruby – ¿Cuál es tu truco IRB favorito? – Desbordamiento de pila

Altamente competente con la consola

Puede piratear usando Vim si es necesario (o sin control), usa comandos de alias, scripts de shell, archivos de puntos, como en, conoce los accesos directos, cómo configurar para el desarrollo y cómo usarlos de manera efectiva. Puede SSH en servidores de aplicaciones y administrarlos de forma remota, no necesita componentes de IU para funcionar.

Altamente competente con rieles

Puede vomitar documentos básicos de memoria, probablemente ha leído y releído las guías muchas veces. Probablemente tiene una suscripción a railscasts. Sin duda ha jugado con Ruby 2 y Rails 4 o lo está usando activamente.

MVC está tan arraigado en su forma de pensar sobre el desarrollo de aplicaciones web que le sorprende que un niño de 5 años no entienda (olvidando lo difícil que fue todo esto cuando comenzó). De nuevo, puede administrar la aplicación desde la consola, generar migraciones, modelos, editar, ejecutar pruebas.

Cabeza llena de estrategias de almacenamiento en caché y ajustes y herramientas de rendimiento. Rastrea excepciones, registros, ha usado o está usando newrelic. Puede depurar y perfilar aplicaciones de manera efectiva.

Un desarrollador con más experiencia tendrá muchas gemas en las que alcanzará. Esperaría que un experto conozca estos: capistrano, rspec, capybara, simple_form, idear / rolify / cancan (o un combo de autenticación similar), haml / slim, carrierwave, factory_girl, factory_girl, rails_admin o active_admin.

Puede cambiar entre bases de datos, entiende cuándo usar sqlite sobre postgres sobre redis sobre mongodb, y por qué evitar mysql a toda costa. Puede sumergirse fácilmente en sql sin procesar cuando sea necesario.

Competente con tecnología periférica.

Aquí es donde la línea se vuelve borrosa. Un experto en Rails podría no ser un ingeniero frontend, pero entonces un ingeniero frontend que es un experto en vistas / controladores Rails (pero que sufre con la programación de back-end) es un experto en Rails? De todos modos, como desarrollador de pila completa, también estarías al tanto de: HTML5, CSS3, Javascript, y asociarte con ellos: Sass / Compass y Coffeescript. Lo más probable es que haya incursionado con Twitter Bootstrap.

Se arrodilla ante la magnificencia de git.

¡Informado!

Esto es tan importante. Demasiados desarrolladores pueden darse el estatus de “expertos” pero aún no saben acerca de los agujeros recientes en el analizador yaml, o qué tan equivocado es el mass_assignment (similar a register_globals en PHP).

Mi consejo aquí es suscribirse a blogs de buena reputación y fuentes oficiales, como:

Ruby Inside: el blog de Ruby
Blog de enlace de comunidad de programación de Ruby
RubyCorner – Directorio de blogs de Ruby – Última actualización
Una taza fresca – Inicio
reddit para hackers de rubíes
Reddit para hackers de Rails

Sí, habrá crossover y reddit es impredecible, pero captará la mayoría de las cosas en la comunidad RoR de lo anterior. Si se encuentra un agujero de seguridad, es probable que escuche sobre él el mismo día y sea discutido con otros rubíes.

Fanático

No te conviertes en un experto en algo que no te apasiona. Deberías ser tan adicto que estás leyendo sobre Rails, escribiendo una aplicación de Rails o pensando en una aplicación de Rails que podrías escribir. En las horas de trabajo / pasatiempo, su cabeza debe estar llena de rieles, luego de unos años rara vez se encontrará con paredes de ladrillo o conceptos que pasan por alto. Simplemente * lo sabrás * instantáneamente, como estar en sintonía con la aritmética mental.

———————

Podría haber escrito algo menos concreto (y mucho más corto), pero vi tu comentario sobre la respuesta de Fabio, y obtuve una perspectiva beneficiosa enseñando a otros (o, como se mencionó anteriormente, esbozando para ti).

¡Seguramente he extrañado mucho más! Me gusta cómo usar stackoverflow o las muchas habilidades intuitivas que adquieres en el camino, pero lo anterior es un buen comienzo.

¡Buena suerte en tu viaje!

Creo que la mejor manera de aprender a codificar es aprender haciendo.

No soy un experto en tecnología y me llevó dos meses aprender Ruby on Rails, crear y lanzar una aplicación simple: http://www.972vc.com

Mi enfoque de aprendizaje:

1. Aprenda HTML y CSS en Codecademy.
2. Aprenda a usar la interfaz de línea de comandos.
3. Aprende Ruby en Codecademy.
4. Aprenda Rails haciendo el tutorial de Jumpstart Lab Blogger http : //tutorials.jumpstartlab.co… .
5. Comience a construir la aplicación web.

El objetivo durante estos tutoriales debe ser la aplicación y la comprensión, no la memorización de la sintaxis.

Algunos consejos:

– No pase semanas o meses leyendo libros, tutoriales y screencasts. En cambio, concéntrese en comprender el lenguaje de programación y la mentalidad del desarrollador, y aprenda haciendo. Por eso es importante que desde el principio tenga una idea clara de lo que desea construir. Use tutoriales, blogs y otros recursos cuando necesite aprender a hacer algo específico.

– Sea persistente y tenaz. Aprender a codificar requiere una mentalidad diferente a la que estás acostumbrado, por lo que, por supuesto, será difícil. Pero al jugar con los problemas durante varias horas, gradualmente comenzará a comprender cómo funciona todo (más o menos).

– Intente trabajar en su aplicación a diario, incluso si es solo por unos minutos, especialmente al comienzo de su proyecto, ya que es importante sentirse cómodo con su entorno de codificación.

– Lo más importante, aprender a codificar es difícil y es aún más difícil si lo haces solo. Por lo tanto, debe considerar cada paso adelante, independientemente de cuán pequeño, como un éxito legítimo.

Recientemente escribí un artículo que detalla más sobre cómo construí mi aplicación y las lecciones que aprendí, y espero que lo ayuden aún más. Cómo un no experto en tecnología aprendió a codificar desde cero

Nuestro equipo RubyGarage quiere ayudarte a aprender Ruby on Rails y tiene una guía paso a paso para convertirte en un gran Rubyist. En primer lugar, es muy importante comenzar con los conceptos básicos de front-end como CSS, HTML y JavaScript.

Aprender rubí

Creemos que debe aprender Ruby primero antes de Rails para estar listo para trabajar con el código Ruby en situaciones graves. La primera regla es tener práctica no solo el conocimiento teórico. Pero para una gran experiencia en la teoría, debe encontrar cursos en línea, libros, videos tutoriales e incluso programas de tutoría. Por ejemplo:

Code School es una plataforma en línea donde puedes dominar Ruby y otros lenguajes de programación, incluidos HTML / CSS, JavaScript, Python. Cada lección tiene una historia que usted sigue mientras lee explicaciones cortas, mira tutoriales en video y practica la codificación directamente en el navegador.
Learn to Program (The Facets of Ruby Series) de Chris Pine es el libro para principiantes completos para aprender programación solo practicando.

Aprende Ruby on Rails

Este marco es una solución perfecta para startups debido a su extensa funcionalidad lista para usar, velocidad de implementación y escalabilidad. Hemos hecho una lista de algunas plataformas y libros para aprender:

Los cursos de Code School Rails for Zombies Redux son para aquellos que ya tienen algún conocimiento de programación y Ruby. Aprenderá los principios CRUD, los modelos Active Record y la arquitectura MVC.

El curso Learn Ruby on Rails de Codecademy está diseñado para programadores principiantes. Tendrá teoría con un simulador en el navegador y practicará la codificación.

El desarrollo web ágil con Rails 4 de Sam Ruby, David Thomas y David Heinemeier Hansson es la guía de conceptos básicos que incluyen la instalación y arquitectura de Rails (modelos, vistas y controladores).

El Tutorial Ruby on Rails de Michael Hartl lo guía a través del ciclo completo de desarrollo web: desde la codificación de las mejores prácticas hasta la escritura de pruebas. Todos los capítulos están vinculados con ejercicios para practicar lo que acaba de aprender.

El siguiente paso es aumentar tu nivel. Para trabajar con aplicaciones y características más complicadas, como la implementación de API públicas / privadas, debe leer más libros. Y hemos seleccionado lo mejor para que no se pierda en muchas fuentes.

El Rubyist bien fundamentado (Segunda edición) de David A.Black le presenta un enfoque de programación orientado a objetos. Los Rubyists pueden obtener un excelente comienzo desde el aprendizaje de los conceptos básicos hasta las funciones Ruby más avanzadas y dinámicas.

El lenguaje de programación Ruby de David Flanagan y Yukihiro Matsumoto es un libro de referencia de lectura obligatoria y bien estructurado que cubre todo lo relacionado con Ruby.

Practica Ruby on Rails

Es hora de convertir lo que has aprendido en práctica. Únase a las comunidades de Ruby / Rails como:

StackOverflow es para desarrolladores de todo tipo: aquí puede hacer cualquier pregunta relacionada con un tema de desarrollo de software y obtener una respuesta entusiasta. También puede usar Quora y hacer preguntas técnicas.

GitHub ayuda a pulir sus habilidades, conectarse con otros y obtener una experiencia invaluable al crear software real. Incluso si no puede escribir largas cadenas de código, puede contribuir a los proyectos arreglando o repitiendo.

Tienes muchas fuentes y enlaces, ¡pero el punto principal es tener pasión y aspiración por aprender!
Puede encontrar más información y enlaces en el blog RubyGarage en el artículo Cómo aprender Ruby on Rails

Ruby es la combinación exitosa de

  • La elegancia conceptual de la pequeña charla,
  • La facilidad de uso y aprendizaje de Python, y
  • El pragmatismo de Perl.

Ruby es

  • Un lenguaje de programación de alto nivel.
  • Interpretado como Perl, Python, Tcl / TK.
  • Orientado a objetos como Small talk, Eiffel, Ada, Java.
  • Ruby se originó en Japón y ahora también está ganando popularidad en Estados Unidos y Europa. Los siguientes factores contribuyen a su popularidad:
  • Fácil de aprender
  • Código abierto (licencia muy liberal)
  • Bibliotecas ricas
  • Muy fácil de extender
  • Realmente orientado a objetos
  • Menos codificación con menos errores
  • Comunidad servicial

Aunque tenemos muchas razones para usar Ruby, también hay algunos inconvenientes que debes tener en cuenta antes de implementar Ruby:

  • Problemas de rendimiento : aunque compite con Perl y Python, sigue siendo un lenguaje interpretado y no podemos compararlo con lenguajes de programación de alto nivel como C o C ++.
  • Modelo de subprocesos: Ruby no usa subprocesos nativos. Los hilos de Ruby se simulan en la VM en lugar de ejecutarse como hilos de SO nativos.

Aquí hay un ejemplo de código Ruby para imprimir “Hola Ruby” . Puede visitar este enlace. Clases de capacitación en línea de Ruby on Rails | Cursos de Ruby on Rails en línea

# La clase Hello Class Hello def initialize (name) @name = name.capitalize end def salute pone “¡Hola # {@ name}!” end end # Crea un nuevo objeto h = Hello.new (“Ruby”) # Salida “Hello Ruby!” h.salute

Ruby proporciona un programa llamado ERB (Embedded Ruby), escrito por ERB que le permite poner códigos Ruby dentro de un archivo HTML. ERB sigue leyendo, palabra por palabra, y luego, en cierto punto, cuando encuentra un código Ruby incrustado en el documento, comienza a ejecutar el código Ruby.

Solo necesita saber dos cosas para preparar un documento ERB:

  • Si desea ejecutar un código Ruby, enciérrelo entre <% y %>.
  • Si desea que se imprima el resultado de la ejecución del código, como parte de la salida, encierre el código entre <% = y %> .

Aquí hay un ejemplo. Guarde el código en el archivo erbdemo.rb. Tenga en cuenta que un archivo Ruby tendrá una extensión .rb

<% page_title = "Demostración de ERB"%> <% salutation = "Estimado programador,"%> <% = page_title%>

<% = salutation%>

Este es un ejemplo de cómo ERB completa una plantilla.

  • Un marco de aplicaciones web extremadamente productivo.
  • Escrito en Ruby por David Heinemeier Hansson.
  • Puede desarrollar una aplicación web al menos diez veces más rápido con Rails que con un marco Java típico.
  • Un marco de Ruby de código abierto para desarrollar aplicaciones web respaldadas por bases de datos.
  • Configure su código con el esquema de base de datos.
  • No se requiere fase de compilación.
  • Incluye todo lo necesario para crear una aplicación web basada en bases de datos, utilizando el patrón Modelo-Vista-Controlador.
  • Ser un marco de trabajo completo significa que todas las capas están diseñadas para funcionar sin problemas junto con menos código.
  • Requiere menos líneas de código que otros marcos. Rails evita los archivos de configuración a favor de convenciones, reflexión y extensiones dinámicas de tiempo de ejecución.
  • ¡Su código de aplicación y su base de datos en ejecución ya contienen todo lo que Rails necesita saber!

Fortalezas de rieles

Rails está repleto de características que lo hacen más productivo, y muchas de las siguientes características se complementan entre sí.

Metaprogramación

Donde otros frameworks usan una extensa generación de código desde cero, Rail framework usa técnicas de metaprogramación para escribir programas. Ruby es uno de los mejores lenguajes para la metaprogramación, y Rails usa bien esta capacidad. Rails también utiliza la generación de código, pero se basa mucho más en la metaprogramación para el trabajo pesado.

Registro activo

Rails presenta el marco de Active Record, que guarda objetos en la base de datos. La versión Rails de Active Record descubre las columnas en un esquema de base de datos y las adjunta automáticamente a los objetos de su dominio mediante metaprogramación.

Convención sobre configuración

La mayoría de los marcos de desarrollo web para .NET o Java te obligan a escribir páginas de código de configuración. Si sigue las convenciones de nomenclatura sugeridas, Rails no necesita mucha configuración.

Andamio

A menudo crea código temporal en las primeras etapas de desarrollo para ayudar a poner en marcha una aplicación rápidamente y ver cómo los componentes principales funcionan juntos. Rails crea automáticamente gran parte de los andamios que necesitará.

Pruebas integradas

Rails crea pruebas automáticas simples que luego puede extender. Rails también proporciona código de soporte llamado arneses y accesorios que hacen que los casos de prueba sean más fáciles de escribir y ejecutar. Ruby puede ejecutar todas sus pruebas automatizadas con la utilidad rake.

Tres ambientes

Rails le ofrece tres entornos predeterminados: desarrollo, pruebas y producción. Cada uno se comporta de manera ligeramente diferente, lo que facilita el ciclo completo de desarrollo de software. Por ejemplo, Rails crea una copia nueva de la base de datos de prueba para cada ejecución de prueba.

Ruby: un lenguaje de scripting dinámico, reflexivo y de alto nivel para una programación orientada a objetos (OOP) rápida y fácil.

Ruby on Rails : un marco completo de varios niveles para crear aplicaciones web utilizando la base de datos, que se basa en la arquitectura del Modelo-Vista-Controlador (MVC).

La principal ventaja del lenguaje de programación Ruby y el marco Ruby on Rails se considera la velocidad de desarrollo. La práctica muestra que la velocidad del desarrollo del proyecto en RoR aumenta entre un 30 y un 40 por ciento en relación con cualquier otro lenguaje o marco de programación. Principalmente, el aumento de la velocidad está determinado por un extenso conjunto de herramientas RoR listas para trabajar, un colosal conjunto de soluciones preparadas en la comunidad, el lenguaje Ruby y la facilidad de programación en él.

Una de las partes más importantes de la cultura es un RoR social. ¿Has resuelto un problema? Ayuda a otros a resolverlo. Realizó su módulo: comparta con la comunidad. Por lo tanto, actualmente hay miles de soluciones de problemas complejos disponibles en el dominio público. Existen soluciones AAA, comentarios, sistemas de pago, listas de correo y más (todo lo que generalmente se desarrolla “desde cero”) se dio cuenta de que alguien más, probó y recomendó una gran comunidad. Ruby on Rails es un marco. A menudo, el marco no te permite ser aficionado. Por supuesto, en Ruby on Rails puede “inventar la rueda” y programar en cualquier dirección sin depender de los estándares; pero esto a menudo no es obligatorio. Los estándares organizan archivos en un proyecto, los estándares de codificación en el proyecto, las reglas generales de programación en Ruby on Rails estructuran altamente cualquier proyecto. Debido a esto, el proyecto se vuelve legible. Los nuevos programadores pueden ingresar al proyecto muy rápidamente. La experiencia muestra que cualquier principiante en el proyecto en el primer día de trabajo está haciendo sus primeras ediciones útiles. Debido a esto, no se considera un gran problema si el proyecto de desarrollo inicialmente dirigió un equipo de programadores, y el soporte o modificación del proyecto es completamente diferente. El proyecto RoR es fácilmente entendible por cualquier programador RoR

Pruebas:

Al desarrollar cualquier proyecto grande, surge una pregunta muy razonable. ¿Quién y cómo probará el proyecto? ¿Permitiría que su empresa contrate siempre un departamento de control de calidad completo para ello, además de que desea automatizar este proceso? A diferencia de otros marcos, el RoR tiene un gran sistema de prueba incorporado. En otros lenguajes, existen herramientas de desarrollo de terceros que le permiten probar proyectos automáticamente en PHP, pero no se ponen “fuera de la caja” y su uso, los programadores a menudo no reflejan. En Ruby on Rails, idealmente, el código no existe sin que las pruebas se escriban primero. La ideología RoR implica el uso de métodos originales de BDD (Behavior Driven Development) o TDD (Test Driven Development).

Almacenamiento en caché:

Proyectos de almacenamiento en caché: uno de los pasos más importantes para desarrollar un importante proyecto de Internet. En PHP, hay varias opciones para el almacenamiento en caché de datos. Estas opciones y herramientas se atornillan, se unen, se sujetan, se fijan a los lados. Hasta ahora, la comunidad PHP no es un consenso: es mejor usar, la mejor forma de almacenar en caché los datos, qué herramientas usar.

Ruby on Rails en su configuración básica tiene un medio regular de almacenamiento en caché de datos. Al comienzo de las herramientas disponibles para implementar el almacenamiento en caché de datos en el proyecto. Puede almacenar en caché páginas enteras, bloques de código, resultados de consultas y el modelo ActiveRecord. Además, puede almacenarlo en caché utilizando herramientas de terceros como memcached o redis. Para implementar el almacenamiento en caché en el proyecto Ruby on Rails, en el 95 por ciento de los casos no necesitará nada más que soluciones estándar y listas para usar.

Localización:

A menudo sucede cuando alguien hizo un proyecto, y de repente se da cuenta de que para continuar con el desarrollo del proyecto se requiere la versión en inglés. Los desarrolladores de PHP con el viento comenzando a hablar sobre el hecho de que no se proporcionó por adelantado que es extremadamente largo y laborioso. Digamos, abra un proyecto paralelo, que es una copia del mismo y traduzca.

Ruby on Rails en la base tiene proyecto de contención. Es posible que deba proporcionar soporte para diferentes idiomas en el sitio como originalmente, en el futuro. RoR puede distribuir diferentes plantillas para diferentes idiomas, contiene los archivos de configuración con la traducción del término y muchos otros miembros del personal las herramientas para implementar el proyecto de localización.

Enrutamiento (URL agradables):

A menudo, en muchos proyectos PHP podemos ver la imagen, cuando la página de la dirección especificada es enorme e incomprensible. En Ruby on Rails tiene una flexibilidad de tiempo completo para configurar su enrutamiento, escribir direcciones, nombres de las secciones principales. Es posible cambiar rápidamente las direcciones en un lugar sin tener que cambiar esta dirección a todo el proyecto. En la Comunidad RoR, los desarrolladores consideran activamente REST como una buena manera. Los URI de aplicaciones en RoR son siempre simples, hermosos y perfectamente entendidos por los motores de búsqueda.

Validación:

Ruby on rails implementa perfectamente toda la validación de datos de entrada. Los usuarios una vez necesitan completar los formularios y verificar su dirección de correo electrónico de entrada, contraseña o la presencia de la longitud mínima requerida del inicio de sesión: las herramientas estándar Rails lo ayudan con esto.

Migración y trabajo con la base de datos:

Los problemas comunes de PHP son imposibles para cualquier tipo de kit de herramientas cómodo para controlar fácilmente su capa de base de datos. Los cambios en la estructura a menudo se realizan de forma manual y directa en la base de datos. Debido a este proyecto, existen numerosos campos y tablas oscuras, de los cuales nadie recuerda nada. En Ruby on Rails, existen herramientas establecidas para trabajar con bases de datos: “migración”. La estructura de la base de datos se almacena en el código de la aplicación y se configura desde el proyecto. Su estructura siempre estará en el repositorio, cualquier cambio en la estructura se documentará y se vinculará a una confirmación específica del repositorio.

La seguridad:

El valor predeterminado de Ruby on Rails está fuertemente afilado por el proyecto de seguridad. Cuando se utilizan herramientas RoR, se excluyen la inyección SQL y los ataques XSS. Todos los parámetros de entrada se seleccionan de forma predeterminada. Las variables de salida en las plantillas también se seleccionan, solo si no especifica una opción de comentarios. Como desarrollador, no hay posibilidad de cometer un error de seguridad (no sin excepciones, por supuesto).

Implementaciones:

En el entorno de Ruby on Rails, hay muchas herramientas convenientes y agradables. Incluyendo las herramientas que se utilizan en el proceso de implementación. Por ejemplo, cuando usa Capistrano, solo necesita un comando en la consola: “cap deploy”, después de eso, toda la aplicación se implementará de manera segura en el servidor único o en el cluster en una nube.

Sistema de control de versiones:

El desarrollo de cualquier proyecto Ruby on Rails implica el uso de sistemas conocidos. Usando GIT, como dicen, “voluntario-obligatorio”, ya que muchos de los despliegues automáticos del proyecto en servidores de “combate” no funcionan sin ellos. Los programadores de RoR inicialmente, la plataforma de estudio, se vieron obligados a aprender git, ya que numerosos ejemplos de código en la documentación implican el uso de estos sistemas de control de versiones. Muchos de los desarrolladores sin experiencia prefieren aprender PHP omitiendo VCS hasta que tengan una mejor comprensión.

Sistema de gestión de proyectos / Gerentes de tareas:

Ruby on Rails se desarrolló originalmente para implementar el sistema de gestión de proyectos: campamento base. También la mina roja (una popular y gratuita

sistema de gestión de proyectos) fue creado en RoR. Por lo tanto, cuando trabaje en proyectos Rails debe tener estos sistemas. Todos los sistemas están integrados con sistemas de control de versiones, lo que permite un control más preciso de los procesos de desarrollo de proyectos.

La mayoría de los principiantes que buscan aprender Ruby y Rails se enfrentan a una elección: aprender Ruby primero o ir directamente a Rails. Comencé de inmediato con Rails, pero antes había pasado un par de horas leyendo sobre las características básicas de Ruby. El hecho es que no hay tantas tareas desafiantes para los desarrolladores nuevos en Ruby, y casi no sirve de nada completar toda la lista de métodos y clases de Ruby.

Solo trate de no enfocarse demasiado en la teoría de Ruby y aplicarla a la práctica que en este caso significa escribir aplicaciones web de Ruby on Rails.

Por otro lado, uno puede pensar en una tarea rápida para la aplicación simple de Ruby. Por ejemplo, intente, utilizando Nokogiri, obtener los titulares de los últimos cinco artículos de su sitio web de noticias favorito. Si puedes hacer esto en Ruby, probablemente estés listo para pasar a Rails.

Otra cosa útil es estudiar y seguir diferentes guías de estilo. Una guía de estilo es un documento que contiene las reglas sobre cómo escribir un código utilizando un lenguaje de programación particular. Solo léalos cuidadosamente e intente seguir cada uno de ellos. Hay muchas pequeñas cosas que crees que no importarían, pero en realidad sí lo hacen.

Las mejores prácticas son documentos un poco menos sensibles. Representan una serie de recomendaciones sobre cómo, según la comunidad de desarrolladores, resolver un problema particular de la mejor manera posible.

A diferencia de la guía de estilo, las mejores prácticas no tienen reglas estrictas, solo algunas formas comunes y las más precisas para escribir un fragmento de código en particular. Sin embargo, es una de las cosas más importantes, especialmente para un principiante.

Campo de golf:

GitHub Ruby Styleguide: si hay alguien que sabe cómo escribir un código increíble, estos son los chicos de GitHub;

Ruby: el sitio web oficial que sirve como un excelente curso introductorio a la programación de Ruby;

TryRuby: un curso gratuito en línea sobre algunos conceptos básicos de Ruby (diseño muy interesante). Una visita obligada para todos los novatos en Ruby;

Ruby Koans: un conjunto de ejercicios en los que debes escribir código que pase el

pruebas

Confident Ruby: un libro relativamente nuevo sobre cómo escribir un código claro impresionante en

Rubí;

Codemy: transmisiones de pantalla gratuitas sobre Ruby y Rails;

RubyTapas – transmisiones de pantalla sobre Ruby, algunos episodios son gratuitos;

CodeSchool: cursos en línea que enseñan Ruby y otras tecnologías. Sin cargo para seguir, pero después de una determinada etapa, sin duda tendrá que pagar.

Las personas tienen muchos estilos de aprendizaje diferentes, por lo que es difícil nombrar una “mejor” forma para todos los principiantes. Sin embargo, hay algunos principios básicos de la naturaleza humana que pueden iluminar el camino.

Específicamente, sabemos que practicar cualquier cosa nos hace mejores en eso. Sabemos que la memoria funciona mucho mejor cuando se usa en coordinación con el movimiento o la acción. Sabemos que los humanos aprenden rápidamente al observar que otras personas hacen una tarea.

Esto parecería indicar que levantar un libro, sentarse y leerlo directamente no daría como resultado un aprendizaje de alta calidad. Para algunas personas, esto puede funcionar muy bien. No he conocido a muchas personas así.

El resto de nosotros aprenderemos * lo mejor * de la tutoría individual : sentarse con un instructor experto que entienda lo que sabemos y cómo comunicar bien los conceptos relevantes del próximo paso. Los ejercicios específicos nos darían la práctica necesaria para retener lo que aprendimos.

Por supuesto, esto es bastante costoso o directamente inalcanzable si no hay buenos instructores de Rails en su área (aunque esto funciona sorprendentemente bien en una pantalla compartida).

La siguiente mejor opción podría ser asistir a un evento de entrenamiento en vivo o un campamento de entrenamiento , como los que ofrece Engine Yard o Pragmatic Studios o General Assembly. Eso puede requerir viajar y, por lo tanto, también puede ser costoso.

La siguiente opción después de eso sería un taller de capacitación en vivo y en línea, donde puede hacer preguntas según sea necesario, interactuar directamente con los instructores y beneficiarse de la comunidad de estudiantes en un nivel similar.

Ofrezco uno de estos talleres para que los principiantes superen la curva de aprendizaje: Fundamentos de Rails: http://ReadySetRails.com

El siguiente paso hacia abajo son los videos de Code School que contienen un componente interactivo que asegura que está tomando los pasos de ” hacer ” lo que está aprendiendo. Estos videos son divertidos, accesibles y efectivos. Carecen de la capacidad de interactuar directamente con el instructor o de explorar tangentes por capricho (que es una buena manera de reforzar los conceptos en nuestro cerebro).

El siguiente nivel inferior son los videos screencast sin interacción. Peep Code y RailsCasts.com son excelentes recursos para esto. Estos videos sobresalen en la cobertura de temas específicos y, en general, le brindan suficiente conceptualidad para profundizar por su cuenta. Llegar a ver exactamente cómo alguien más hace el trabajo crea buenos patrones en su propio pensamiento. Estos son especialmente útiles una vez que se encuentre en la curva de aprendizaje y tenga los conceptos básicos definidos.

Otro gran recurso en la comunidad ruby ​​es la blogosfera. Desde publicaciones breves que describen la resolución de un solo mensaje de error hasta tutoriales completos y recorridos, hay toneladas de contenido al que puede acceder cuando sea necesario o trabajar a su propio ritmo. A medida que se actualizan los tutoriales y aparecen nuevas publicaciones todos los días, esta es una gran fuente de contenido nuevo .

Una forma más avanzada, pero bastante efectiva, de aprender es leer el código de otras personas. Como principiante, esto puede parecer abrumador y sin sentido, pero si lo hace poco a poco, verá surgir patrones y casos de uso interesantes. Comience con algo simple, como una pequeña utilidad de gemas o una aplicación web básica.

Y finalmente hay libros viejos y sencillos. Mi preferencia es usar los libros principalmente como referencia (“¿cuál es el método para eliminar el espacio en blanco del final de una cadena? ¡Oh sí, .strip!”). Nuevamente, hacer una lectura puede funcionar para algunos. Quizás incluso para ti. Pero generalmente no se recomienda.

Por último, permítame abordar el FUD que dice que tiene que aprender rubí antes de aprender Rails. En una palabra, mierda .

Poner ese requisito frente a los principiantes es un obstáculo innecesario que solo ahuyenta a las personas de las alegrías de crear aplicaciones web. Rails en sí es un complejo surtido de convenciones y conceptos (como se detalla aquí: http://www.readysetrails.com/ind …) que deben entenderse de manera entretejida. En cierto sentido, el rubí en sí mismo es solo uno de esos conceptos. No necesita ser un “veterano” de MVC o REST antes de comenzar con Rails. Sí, si pudieras motivarte para aprender rubí por sí mismo, algunas cosas en Rails tendrán más sentido. Pero no hay daño en recogerlos simultáneamente. Lo hice, y muchos de mis compañeros también lo han hecho. Puede ser eficaz con Rails sin una comprensión incluso de nivel intermedio de ruby.

Toma el enfoque pragmático. Sumérgete en algún proyecto que te mantendrá motivado para superar las dificultades que seguramente enfrentarás. Y si es posible, encuentre a alguien que pueda ayudarlo de manera interactiva.

[publicado en mi blog de Rails Learning: http://www.readysetrails.com]

Despierta, haz tus cosas de la mañana (café, estiramientos, lo que sea) y trabaja en Rails. Sigue haciéndolo. En algún momento, toma un descanso para almorzar, ¡y luego vuelve! Más tarde, cuando comienza a oscurecer, cena, luego vuelve un poco más. Deje de codificar una hora antes de acostarse, para que su sueño sea reparador, y hágalo lo suficientemente temprano como para darle de 7 a 8 horas de sueño. La falta de sueño afectará su capacidad para realizar funciones cognitivas superiores.

Sigue haciendo eso hasta que seas competente. Esa es literalmente la forma más rápida.

En cuanto a QUÉ practicar … Encontré que el libro en línea de Michael Hartl (google su nombre, aparecerá) será útil para comenzar, mientras lo guía a través del ciclo de vida completo, incluidas las pruebas de escritura. Escribir exámenes puede ser lo más importante que aprender en Rails, que es un poco diferente a otros idiomas. Hay muchos recursos sobre cómo hacerlo; No tengo uno que me haya parecido canónico, aunque diré que deberías probar las diferentes suites de prueba y ver cuál te gusta más. Soy fanático de RSpec, aunque sé que muchos (incluido DHH) prefieren Minitest.

El servidor WEBrick que se incluye con Rails será suficiente hasta que sea competente. Mi entorno de desarrollo para la práctica generalmente se ve así:

1) Una ventana de terminal con el servidor en ejecución
2) Una ventana de terminal con la gema “Guard” en ejecución (ejecuta constantemente la prueba mientras edito el código)
3) Una ventana de terminal con una consola Rails abierta
4) Una ventana de terminal que sigue el desarrollo.log
4) Mi editor (uso Sublime)

Rails toma tiempo para aprender y practicar. Mientras más tiempo dediques a practicarlo, más rápido lo aprenderás. C ++ no será particularmente útil para usted, pero HTML / CSS será tangencialmente útil con sus vistas y activos.

Esta respuesta supondría que ya tiene algún conocimiento en HTML, CSS y Javascript.

Para Rails, lo primero que debe hacer es seguir la guía de inicio. Lo más importante que debe comprender es que Rails sigue el patrón de diseño MVC (Model View Controller):

– Modelo: es la parte del código que maneja las operaciones de la base de datos. En términos generales, cada tabla de la base de datos tendría un modelo en su código con el mismo nombre. La biblioteca de modelos utilizada en Rails se llama Active Record. Guía de modelos. La validación del lado del servidor debe implementarse en esta parte del código.

– Vistas: esta parte es la responsable de generar el código HTML. Entonces, cuando necesite agregar / editar algo en alguna página web, tendrá que ir a la parte de vistas del código. Guía de vistas.

– Controlador: esta parte es la que une las cosas. Cuando alguien accede a alguna URL en su servidor web. Este tipo tomará el control, hace lecturas / escrituras de la base de datos a través de los modelos y luego entrega los datos a alguna vista. Guía del controlador.

– Enrutamiento: un concepto más importante que debe comprender es “RESTful”. Fue una de las cosas con las que realmente luché al principio. Entonces, dije que el controlador tomará el control cuando alguien solicite una URL. Bueno, eso fue una mentira. Lo primero que se emite en su aplicación son las Rutas (archivo config / routes.rb), que asigna cada URL con algún controlador. Guía de rutas relajantes.

– Scripts de migración: por lo tanto, cada vez que necesite cambiar el esquema de su base de datos (Agregar nueva tabla, agregar / editar / eliminar columna), debe buscar algo llamado Migraciones de registros activos.

Hay una cantidad abrumadora de guías para rieles, pero las guías anteriores le darían una base muy sólida.

Para cosas avanzadas, puede consultar RailsCasts.

Ok, finalmente recomendaría revisar el idioma real Ruby. Te hará más efectivo al escribir aplicaciones Rails. Tutorial de Ruby Language.

Aquí hay algunos buenos recursos para comenzar a aprender Ruby:
Rubí:
Que es:

Aprender:

  • Curso – Pagado: Tutorial de Ruby, Aprende Ruby para principiantes
  • Curso – gratis: Ruby
  • Curso – gratis: Prueba Ruby – Code School
  • Libro: Amazon.com: Ruby In A Day: Aprende los conceptos básicos, aprende rápido, comienza a codificar rápidamente (In A Day Books Book 3) eBook: Richard Wagstaff: Kindle Store
  • Tutorial de YouTube: lista de reproducción de tutoriales de programación de Ruby

Ejercicios prácticos :

  • codewars.com
  • Rubeque

Consigue ayuda:
Foro de preguntas y respuestas:

  • Ruby – Foro de Ruby

Material de referencias:

  • Índice de archivos, clases y métodos en Ruby 2.1.5 (Ruby 2.1.5)

Pon a prueba tus habilidades:

  • Prueba de rubí

Mantente relevante:

  • Unirse a una reunión: Grupos de Meetup Ruby
  • Únase a un boletín o fuente de blog: un boletín electrónico semanal gratuito

Si también quieres aprender Ruby on Rails, aquí hay recomendaciones:
Ruby on Rails:
Que es:

Aprender:

  • Curso – Pagado: Entrenamiento de Ruby on Rails: Tutoriales de Ruby on Rails para principiantes – Udemy
  • Curso – gratis: Tutorial de Ruby on Rails – Code School
  • Libro: Amazon.com: Rails: programación rápida y fácil de Ruby On Rails para principiantes. ¡Aprende Ruby On Rails desde cero !: (Ruby, Ruby on rail, Ruby Red, Programación Ruby, Desarrollo Ruby) … Programación Ruby, Desarrollo Ruby, Libro 1) eBook: AZ Elite Publishing: Kindle Store
  • Tutorial de YouTube:

Ejercicios prácticos :

  • Rieles de aprendizaje: modelo, vista, controlador
  • Learn Rails – Consultas ActiveRecord
  • Rieles de aprendizaje: registro activo, asociaciones

Consigue ayuda:
Foro de preguntas y respuestas:

  • Foro: Ruby on Rails

Material de referencias:

  • API de Ruby on Rails
  • Comenzando con Rails

Pon a prueba tus habilidades:

  • Prueba de Ruby on Rails

Mantente relevante:

  • Unirse a una reunión: Grupos de Meetup de Ruby On Rails
  • Únase a un boletín o fuente de blog: un boletín electrónico semanal gratuito

Si desea saber más acerca de cómo convertirse en un desarrollador de Ruby, y obtener buenas ideas, consulte ReSkill.me y su página dedicada para el desarrollador de Ruby on rails.

Si eres nuevo en la programación, es una buena idea aprender los conceptos básicos de la web y la programación antes de asumir un gran marco como Ruby on Rails. Aprenda los conceptos fundamentales de programación y cree algunos programas simples de Ruby. Aprenda los conceptos básicos de sitios web y HTML y cree un sitio web estático.

Una vez que tenga estos antecedentes, será más fácil aprender Ruby on Rails. Realice un tutorial orientado a principiantes y se concentre en lo que necesita saber. “Learn Ruby on Rails” de Daniel Kehoe es una buena opción. Si está interesado en un libro / curso en línea, creé uno que cubre los conceptos básicos del desarrollo web y Ruby on Rails:

Guía interactiva para el desarrollo web con rieles

Cubre los siguientes temas:

Crear páginas web

  • Introducción a la creación de sitios web
  • Aprender HTML
  • CSS esencial

Introducción a la programación

  • Acerca de la Programación
  • Aprender rubí
  • Ruby para rieles

Ruby on Rails

  • Descripción general de Ruby on Rails
  • Modelo y datos
  • Crear un sitio completo de Rails
  • Y más…

Además, si solo desea obtener una descripción / referencia rápida, consulte mi tabla de Rails de theAutomatedStore.com:

Tarea 1 – Trabaje a través de los ejercicios “Pruebe Ruby”

Puede pensar que aprender Ruby es el paso más importante, y esta es probablemente la parte en la que todos dejan de aprender y se quedan con su marco actual. ¡No hagas eso! No tengas miedo de aprender este idioma (o cualquier otro idioma, de verdad). Ruby es un lenguaje divertido, hermoso y fácil de aprender. Además, realmente no necesitas dominar el idioma al 100% para poder aprender Rails. Solo necesitas lo básico para comenzar.

Aprende Ruby aquí: Aprende Ruby – Los mejores tutoriales de Ruby | Hackr.io

La herramienta más recomendada para sumergirse en la sintaxis de Ruby es el sitio web. Le proporciona un shell interactivo basado en la web para jugar con el idioma. Si escribe help , recibirá un tutorial interactivo de 15 minutos que le enseñará los conceptos básicos del idioma. Escribir help 2 lo llevará al segundo capítulo del tutorial.

Una vez que haya trabajado estos ejercicios un par de veces, tendrá una base sólida. Personalmente, completar esos dos tutoriales es todo lo que hice inicialmente. El resto lo aprendí creando sitios web con Rails, buscando en Google y jugando en IRB.

Tarea 2 – Instalar Ruby And Ruby on Rails

Ejecute gem install rails para instalar rieles.

Si desea aprender Rails, por supuesto necesitará instalarlo en su máquina. Hay varias formas de hacerlo, dependiendo de su plataforma. Si está en una Mac o una computadora basada en Linux, le recomiendo que use RVM. Es una gran herramienta para instalar Ruby. Consulte este artículo para obtener instrucciones de instalación. Si está en Windows, consulte RubyInstaller para Windows.

A continuación, debe instalar Rails. Para hacerlo, debes tener RubyGems instalado en tu computadora. Si utilizó RVM para instalar Ruby, ¡felicidades, ya lo tiene! Si está en Windows, consulte aquí. Para instalar Rails, ejecuta gem install rails y, tada, ¡ya estás listo!

Bonus Credit

rbenv es otro método cada vez más popular para instalar Ruby. Investigue eso también.

Tarea 3: Comience con la Introducción a los carriles de Jeffrey

En este screencast de 40 minutos, Jeffrey Way, extraordinario editor de Nettuts +, le enseña todos los conceptos básicos que necesita saber para comenzar a desarrollar con Rails.

Al seguir este screencast, recogerá mucha información sobre temas que incluyen:

  • Modelos y generadores
  • Desarrollo basado en pruebas
  • ActiveRecord
  • Rspec y Carpincho
  • Parciales
  • … y mucho más

Tarea 4 – Tome el curso de The Rails For Zombies

Siempre he pensado que aprender con el ejemplo es la mejor (y única) forma de aprender un idioma y un marco. Un curso gratuito e increíble que debes tomar es Rails For Zombies, de la gente de EnvyLabs. Es interactivo, lo que significa que, después de ver cada video, realizará un puñado de ejercicios.

Tarea 5 – Leer un libro

Compra desarrollo web ágil con rieles.

Hasta ahora, cada herramienta que te he dado ha sido gratuita e interactiva. Ahora, debe comprar el libro en Rails: Desarrollo web ágil con Rails. Te enseña Rails mediante la construcción de un sitio web desde cero. Revisa los conceptos básicos, creando controladores, modelos, andamios e incluso pruebas unitarias y funcionales, ¡además de algunos AJAX! ¡Asegúrate de comprar la última edición!

Bonus Credit

Aquí hay algunos libros más populares de Rails que podrías considerar.

  • Tutorial de Ruby on Rails 3: Aprenda Rails con el ejemplo: le enseña a Rails paso a paso, de la misma manera que lo hace el Desarrollo web ágil con Rails.
  • Beginning Rails 3: tipo de la misma idea, un libro tipo tutorial.
  • The Rails 3 Way: este libro es más una referencia que una herramienta de aprendizaje, pero aún así se recomienda.

Tarea 6: crear un blog simple

Sé que suena aburrido (para mí), pero es un gran ejemplo y se usa en todas partes por una razón: es simple, puedes terminar ese tipo de tutorial en menos de una hora, y aprendes lo básico muy rápido. Ahora, si lees el libro de la tarea cuatro, ya deberías tener suficiente conocimiento para construir algo como esto. Te animo a que intentes construir uno tú mismo, de memoria, sin consultar ningún tutorial sobre el tema. Puede verificar algunos métodos, ver cómo validar algunos campos, etc., pero la idea es que necesita poner a prueba sus conocimientos.

Crea un blog simple que tenga soporte para comentarios. No necesita implementar un sistema de autenticación sofisticado; Simplemente algo simple para comenzar.

Si te quedas atascado …

  • Interfaz de consulta de Active Record: información básica y avanzada sobre Active Record, la interfaz de la base de datos.
  • Enrutamiento de Rails desde afuera hacia adentro: A veces, el enrutamiento parece un poco difícil de entender en Rails. Esta guía debería aclarar todo.
  • Enrutamiento en Rails 3: Complementando la guía anterior, aquí hay un screencast sobre enrutamiento en Rails 3.

¿Te sorprenderías si dijera: “Todo depende?” Realmente lo hace. Verá, depende de los antecedentes que traiga y, lo que es más importante, de cómo está conectado su cerebro para aprender.

Podrías ver esto:

Recomendaciones para un tutorial de Rails

Es una guía que escribí para ayudar a los principiantes a encontrar el tutorial de Rails que mejor se adapte a su propio estilo de aprendizaje.

Aquí hay algunas cosas para pensar.

¿Eres absolutamente nuevo en el desarrollo web? Entonces te puede gustar el tutorial gratuito “Construye tu primera aplicación” de Rails Girls. Le dará una idea del desarrollo web con Rails, lo suficiente para comenzar.

¿Has realizado desarrollo web en otra plataforma, pero no en Rails? Pruebe el tutorial gratuito de RailsBridge para familiarizarse con la creación de una aplicación básica de Rails.

¿Cuánto tiempo tienes? Si puede pasar una hora diaria o más durante varias semanas, comience con uno de los libros de texto completos, como los de Programadores pragmáticos, Publicaciones Manning o el aclamado Tutorial Ruby on Rails de Michael Hartl.

¿Tiene dificultades para mantenerse concentrado mientras lee? Tal vez una serie de videos se adapte a su estilo de aprendizaje. Pruebe los Screencasts de Michael Hartl para el tutorial de Ruby on Rails. O un curso interactivo como Rails for Zombies.

El punto es que una talla no sirve para todos. Es por eso que puede usar la página de recomendaciones del Tutorial de Rails para reducir los tutoriales enumerados a los que mejor se adapten a usted.

Estuve en su posición hace solo 9 meses, nunca antes había programado y tratando de recoger la plataforma Ruby on Rails. No puedo recomendar con más fuerza el paquete de libro y screencast creado por Michael Hartl que se puede encontrar en http://ruby.railstutorial.org/ . Al final de su tutorial, se sorprenderá de lo mucho que sabe sobre una aplicación Rails 3 (incluso tiene un capítulo sobre cómo hacer que su aplicación de muestra sea compatible con el Rails 3.1 que se lanzará próximamente). Hartl también proporciona una introducción al desarrollo basado en pruebas y una variedad de gemas Ruby útiles.

Michael Hartl lo guía a través de cada paso para configurar una aplicación Rails 3, incluida la instalación de Ruby, RVM, Rails, git, github e incluso cómo implementarlo en la web usando la plataforma Heroku. La configuración del sistema puede ser una de las partes más difíciles de despegar para un verdadero principiante. Al permitirle seguir paso a paso, los screencasts de Michael Hartl hacen que este proceso sea bastante sencillo.

El tutorial real también es fantástico. Te guía a través de la construcción de una aplicación con funcionalidad compasiva para Twitter. Y la mejor parte es que no tiene que tener ninguna experiencia en codificación. Simplemente copie exactamente lo que está haciendo y listo para tener una aplicación que funcione.

Ahora, el único inconveniente es que los screencasts son un poco caros y cuestan alrededor de 80 dólares. Si esto es demasiado para ti, tiene una versión digital de su libro que puedes ver gratis en su sitio web. Si bien el libro refleja los screencasts, no puedo enfatizar lo suficiente lo útiles que fueron los screencasts. Cuando eres un programador novato, nada facilita tu desarrollo más que ver a alguien escribir código y luego copiarlo tú mismo.

Los 80 dólares que gasté en esas transmisiones de pantalla fueron los mejores 80 dólares que he gastado en toda mi vida, sin duda. Recientemente fui ascendido al puesto de ingeniero de software, algo que en gran parte me debe por haber completado los tutoriales de Michael Hartl.

Le recomiendo encarecidamente que se concentre en comprender el lenguaje Ruby antes de sumergirse en Rails. Hace que la curva de aprendizaje de Rails sea mucho más rápida una vez que comprenda las características clave del lenguaje que Rails usa bajo el capó

VISIÓN GENERAL

Tutorial Ruby

Ruby es un lenguaje de script dinámico y expresivo. Es compatible y se ejecuta en una variedad de plataformas como Windows, Mac, Linux y varias versiones de Unix. Este curso lo ayudará a familiarizarse con el lenguaje Ruby y los conceptos básicos de programación vinculan variables, matrices, funciones, métodos, bucles en Ruby.

¿Por qué aprender este curso?

Ruby es un lenguaje de programación extremadamente popular que tiene una gran demanda en el mercado. También se usa muy comúnmente en aplicaciones Rails, que es un marco de aplicaciones web de código abierto. Es fácil de leer y conciso y, al mismo tiempo, extremadamente potente. Varias compañías como Twitter, Goodreads, Kick starter y Sound cloud han utilizado Ruby para la implementación de sus productos.

Haga clic aquí para ver el video tutorial Siga el enlace: –

Ruby Tutorial Videos en línea gratis

El mejor enfoque para aprender algo nuevo es aprender al hacerlo, te daré un plan sistemático que seguiré.

  1. ve y aprende la programación de Ruby gratis, eso te hará sentir muy cómodo con los rieles ” En este curso aprenderás Ruby, el lenguaje diseñado específicamente con la felicidad del programador en mente. Al final de todo, habrás construido algo bastante dulce proyectos que incluyen Tic Tac Toe, Hangman, un servidor web real e incluso Chess. Podrás armar un spam de Twitter (¡eso realmente hace spam!), guardar y abrir archivos, probar tu código, separar tu código de espagueti en buenas clases modulares, e incluso reproducen algunos algoritmos básicos y estructuras de datos para resolver problemas complejos. Básicamente, comenzarás a sentirte mucho más como un programador real y esa sensación estará justificada “.
  2. ahora necesita estudiar Ruby on Rails de forma gratuita: ” En este curso, construirá mucho, cada proyecto un poco más avanzado que el anterior. Construirá alrededor de una docena de proyectos de Rails desde cero, incluyendo un tutorial completo que seguiremos a medida que avanzamos y una aplicación web propia a gran escala. Más importante aún, aprenderá cómo deconstruir un sitio web en su arquitectura de datos subyacente y luego construir una aplicación alrededor eso. Al final de todo, tendrás la confianza para poner un sitio web simple en menos de una hora
  3. Ahora eres ninja con rubí y rieles, continúa y elige cualquier proyecto que quieras construir
  4. haz tu mejor esfuerzo con lo que has aprendido
  5. cuando te enfrentas a un problema de preguntar-leer-buscar, utiliza este enfoque que te permitirá aprender más y más mientras creas aplicaciones increíbles
  6. Finalmente, elija un nuevo proyecto y repítalo una y otra vez hasta que sienta que lo domina
  1. Lea también esos

    • ¿Dónde y cómo aprender Ruby on Rails?
    • ¿Cómo domino la programación de Ruby on Rails?

    Para principiantes: comience con TryRuby.org

    El siguiente paso es instalar Ruby en su máquina para que pueda usarlo localmente. Pruebe RubyInstaller (si está usando Windows) o siga adelante con un administrador de versiones de Ruby como rbenv y ruby-build (si está en una Mac o Linux).

    Los screencasts son populares tanto en las comunidades de Ruby como en Rails, y puedes encontrar excelentes screencasts en Ruby Tapas

    Documentando el lenguaje Ruby

    RubyCorner.com | Lenguaje de programación Ruby

    RubyFlow

    Aprende Ruby de la manera difícil

    Una vez que comenzaste a entender a Ruby. Ahora explora rieles

    Guías de Rails: aquí puede encontrar todo sobre Rails y también un tutorial para agregar Rails a su instalación existente de Ruby

    Intente familiarizarse con Git y GitHub, ya que le ayudará a implementar sus aplicaciones, rastrear los cambios que ha realizado y permitir que otros colaboren.

    Recursos: –

    1. Codecademy,
    2. Aprender a programar,
    3. Javascirpt y jQuery,
    4. Desbordamiento de pila
    5. Tutorial de Ruby on Rails,
    6. Rieles 4 en acción,
    7. The Rails 4 Way,
    8. GoRails primeros 20 episodios,
    9. Conviértete en un Heroku Rails Ninja,
    10. El proyecto Odin
    11. Guías de rieles,
    12. Rieles
    13. GoRails,
    14. El rubí bien arraigado
    15. Carriles Antipatterns,
    16. Aplicaciones de rieles en crecimiento,
    17. Prueba diaria de rieles con RSpec,
    18. Rails 4 Prescripciones de prueba
    19. La guía completa de rendimiento de rieles
    20. Reconstruyendo rieles

    Los siguientes son los mejores cursos en línea sobre rubí para principiantes:

    Aprende Ruby on Rails desde cero : este curso te permitirá conocer la increíble y poderosa tecnología de Ruby on Rails que te ayudará a formar el final de increíbles nuevos sitios web y aplicaciones web.

    El curso completo para desarrolladores de Ruby on Rails : este curso está especialmente diseñado para llevar a los estudiantes que no tienen experiencia en programación / desarrollo web a desarrolladores de Ruby on Rails logrados, mientras que es igual de útil para los estudiantes que tienen experiencia en la codificación en Rails.

    Programación avanzada de Ruby: 10 pasos para dominar : si ya tiene algún conocimiento sobre la programación de Ruby, este curso lo ayudará a llevar su codificación al siguiente nivel con la guía simple de Huw Collingbourne para la codificación avanzada de Ruby y explica algunas características avanzadas de Ruby, que incluyen bloques y procs, hilos, expresiones regulares, manejo de excepciones, singletons y meta programación.

    One-stop Ruby on Rails: cree aplicaciones web desde cero : este curso lo ayuda a dominar la programación de Ruby on Rails, HTML, CSS, API y otras tecnologías web mediante la creación de Etsy, Yelp y Craigslist desde cero.

    8 hermosas aplicaciones de Ruby on Rails en 30 días y TDD – Inmersivo – Este curso te enseña cómo construir tu portafolio de Rails con 8 aplicaciones web súper geniales en Ruby on Rails. Tiene 381 calificaciones y 5,501 estudiantes matriculados.

    ¡Espero que encuentres estos cursos en línea muy útiles!

    Feliz aprendizaje