RUBY ON RAILS. Aprende a crear aplicaciones web desde cero

RUBY ON RAILS. Aprende a crear aplicaciones web desde cero

RUBY ON RAILS. Aprende a crear aplicaciones web desde cero
Información adicional
Dimensiones 17 × 23 cm
Autor Daniel Martínez, Javier Vázquez
ISBN 9788494897290
Nº Páginas 704

La creación de aplicaciones web ha traído nuevos retos para los desarrolladores de la actualidad. Tecnologías muy variadas y lenguajes de programación se posicionan para ofrecernos alternativas. Por eso, Ruby y su framework Rails destacan sobre los demás por su facilidad de uso y productividad.

Ruby es un lenguaje sumamente amigable, fácil de aprender, con el que podemos crear desde un simple archivo hasta simuladores tridimensionales.

Rails es un framework que se ejecuta “sobre” Ruby y está estructurado para utilizar la arquitectura MVC en la construcción de sistemas web. Contiene muchísimas herramientas potentes para que el desarrollo web sea agradable y sumamente productivo. Empresas como AirBnb, Github, SoundCloud, etc., han elegido Ruby on Rails para construir sus productos.

El contenido del libro está dividido en dos grandes secciones. La primera nos enseña el lenguaje Ruby desde cero, sin asumir prácticamente ningún conocimiento previo por parte del lector: POO, iteradores y módulos son algunos de los temas tratados. La segunda comienza con los fundamentos del desarrollo web y el trabajo con Ruby on Rails y continúa hasta adentrarse en temas cada vez más avanzados. Finaliza con un proyecto en el que aprenderás cómo construir un sistema web desde cero hasta desplegarlo en un servidor en la nube.

Este libro ha sido escrito de la manera más coloquial posible para que su lectura sea fresca y no saturar al lector con demasiados tecnicismos, pero, al mismo tiempo, aborda los temas con la profundidad necesaria para su aprendizaje.

PARTE I RUBY
MI PRIMER ENCUENTRO ......................................................................................... 1
CAPÍTULO 1. ACERCA DE RUBY ................................................................................ 3
Sobre el lenguaje y su creador ....................................................................................... 3
Características y comparación ....................................................................................... 4
CAPÍTULO 2. PREPARACIÓN DEL ENTORNO DE TRABAJO ......................................... 7
Instalación de Ruby y Ruby on Rails .............................................................................. 7
Instalación en Windows ............................................................................................ 8
Instalación en GNU/Linux ....................................................................................... 11
Instalación en OS X .................................................................................................. 17
Entornos de desarrollo ................................................................................................ 20
Editores de código ................................................................................................... 20
IDEs .......................................................................................................................... 21
CAPÍTULO 3. MIS PRIMEROS PROGRAMAS EN RUBY ............................................. 23
EL IRB de Ruby ............................................................................................................. 23
Ejecución de un script desde la terminal ..................................................................... 25
Antes de continuar considera lo siguiente .................................................................. 27
CAPÍTULO 4. INTRODUCCIÓN A LA POO ................................................................ 31
La POO en palabras simples ......................................................................................... 31
CAPÍTULO 5. UTILIZANDO OBJETOS EN RUBY ........................................................ 35
Los objetos de Ruby ..................................................................................................... 35
Creación de un objeto en Ruby ............................................................................... 36
Trabajando con los métodos de Ruby ..................................................................... 37
Valores de retorno y paso de argumentos en los métodos ................................ 38
ÍNDICE

RUBY ON RAILS: Aprende a crear aplicaciones web desde cero

VI © RC Libros
Paso de argumentos a los métodos .................................................................... 39
La biblioteca de clases de Ruby ................................................................................... 42
VARIABLES Y OBJETOS ........................................................................................ 47
CAPÍTULO 6. LAS VARIABLES ................................................................................. 49
Asignación de objetos a las variables .......................................................................... 49
Un nombre correcto para mi variable ......................................................................... 50
¿Qué es el tipado dinámico? ....................................................................................... 51
Asignaciones abreviadas ............................................................................................. 52
Asignación del valor de una variable a otra ................................................................ 53
CAPÍTULO 7. LOS NÚMEROS .................................................................................. 57
¿Qué son los números y de dónde provienen? ........................................................... 57
Números enteros ........................................................................................................ 58
Sistemas numéricos ................................................................................................ 59
Algunos métodos de la clase Integer ...................................................................... 60
Números flotantes ...................................................................................................... 62
Truncamiento y redondeo ...................................................................................... 62
Algunos métodos heredados de Numeric ................................................................... 64
Operaciones con números .......................................................................................... 64
Operadores aritméticos y algunos ejemplos sencillos ............................................ 64
Evaluación de expresiones con varios operadores involucrados ............................ 67
comparaciones de números ........................................................................................ 69
Operadores relacionales o de comparación ........................................................... 69
Aplicación de los operadores relacionales .............................................................. 70
Números aleatorios y rangos ...................................................................................... 70
CAPÍTULO 8. CADENAS DE CARACTERES ................................................................ 75
Generalidades de las cadenas ..................................................................................... 75
Algunos métodos para empezar ............................................................................. 76
Transformación de los caracteres alfabéticos ........................................................ 78
Comparación de cadenas ........................................................................................ 79
Concatenación ........................................................................................................ 80
Búsqueda de caracteres .......................................................................................... 82
Obtención de caracteres y subcadenas .................................................................. 82
Inserción en una cadena ......................................................................................... 83
Reemplazo de caracteres ........................................................................................ 84
Eliminación de fragmentos de una cadena ............................................................. 85
Las particularidades de cada comilla ........................................................................... 87
Comillas dobles ....................................................................................................... 87
Las secuencias de escape .................................................................................... 87
La interpolación .................................................................................................. 89
Comillas simples ...................................................................................................... 90
Los únicos caracteres especiales ........................................................................ 91
Percent strings (%Q y %q) ........................................................................................... 91
here documents o heredocs ....................................................................................... 92

ÍNDICE

© RC Libros VII
CAPÍTULO 9. FECHAS Y HORAS .............................................................................. 95
La clase Time ................................................................................................................ 95
La clase Date ................................................................................................................ 98
DateTime, una subclase de Date ............................................................................. 99
Formateo de fechas y horas ...................................................................................... 100
Comparación de fechas y horas ................................................................................. 102
CAPÍTULO 10. COLECCIONES DE OBJETOS ............................................................ 105
Los arreglos ................................................................................................................ 105
Creación de un arreglo .......................................................................................... 105
Una miscelánea de métodos básicos .................................................................... 107
¿Cómo extraer elementos de un arreglo? ............................................................ 110
Diversas maneras de agregar más elementos a un arreglo .................................. 112
Reducción de un arreglo ....................................................................................... 114
Operaciones de arreglos ....................................................................................... 116
Operación resta ................................................................................................. 118
Operación unión ................................................................................................ 119
Operación intersección ..................................................................................... 120
Concatenación de arreglos ................................................................................ 120
Los Hashes ................................................................................................................. 121
Creación de un hash .............................................................................................. 121
¿Qué son los símbolos? ......................................................................................... 122
Algunos métodos similares a los de las cadenas ............................................... 123
Pregúntale al hash acerca de... .............................................................................. 124
Obtención de claves y valores ............................................................................... 126
Obtención de una sola clave o valor ................................................................. 127
Obtención de varias claves o valores ................................................................ 127
Modificación de los hashes ................................................................................... 128
Inserciones de clave-valor y sustitución de valores .......................................... 128
Combinación de hashes .................................................................................... 129
Eliminación a través de las claves ..................................................................... 130
CAPÍTULO 11. CONVERSIONES DE DATOS ............................................................ 131
Conversiones frecuentes ........................................................................................... 131
Conversiones de números sin dejar de ser números ............................................ 131
De texto a números ............................................................................................... 132
Entre colecciones de objetos ................................................................................ 133
Cualquier otro objeto a texto ................................................................................ 134
ESTRUCTURAS DE CONTROL ............................................................................. 135
CAPÍTULO 12. CONDICIONES ............................................................................... 137
Expresiones ................................................................................................................ 137
Expresión if ............................................................................................................ 137
Expresión if - else .............................................................................................. 138
expresión elsif ................................................................................................... 141
Expresión case ....................................................................................................... 143
case como un if-elsif .......................................................................................... 144

RUBY ON RAILS: Aprende a crear aplicaciones web desde cero

VIII © RC Libros
Case con un argumento .................................................................................... 145
Expresión unless ................................................................................................... 148
if y unless como modificadores ................................................................................. 149
Condicionales y operadores lógicos .......................................................................... 150
Operadores lógicos ............................................................................................... 150
Operador ! ........................................................................................................ 151
Operador && .................................................................................................... 152
Operador || ...................................................................................................... 153
Más de un operador lógico en una expresión ...................................................... 154
Ahora todo junto .................................................................................................. 155
Un último ejemplo y tarea para la casa ..................................................................... 156
CAPÍTULO 13. CICLOS E ITERADORES ................................................................... 159
Ciclos ......................................................................................................................... 159
Ciclo for ................................................................................................................. 159
Ciclo while ............................................................................................................. 162
Ciclo until .............................................................................................................. 163
Usando while y until como modificadores ............................................................ 164
Hacer al menos una repetición con while o until se cumpla o no la condición 164
Declaraciones break, next y redo .......................................................................... 168
Iteradores .................................................................................................................. 170
Sobre los iteradores en general ............................................................................ 170
Iteradores times, upto y downto .......................................................................... 171
Las cadenas también se iteran con estilo ............................................................. 173
Iteración de un arreglo ......................................................................................... 173
Iteración de un hash ............................................................................................. 178
LA POO A DETALLE ............................................................................................ 181
CAPÍTULO 14. LOS MÉTODOS .............................................................................. 183
Sobre los métodos en general ................................................................................... 183
Métodos con argumentos ......................................................................................... 185
Argumentos posicionales con valores por defecto ............................................... 187
Argumentos de palabras clave (no posicionales) .................................................. 188
Argumentos Array/Hash ....................................................................................... 190
Los métodos y los bloques de código ........................................................................ 193
Algunos aspectos de los bloques .......................................................................... 193
De bloques a objetos Proc y viceversa .................................................................. 196
Recursividad .............................................................................................................. 199
CAPÍTULO 15. CLASES Y OBJETOS ........................................................................ 203
Diseño de clases ........................................................................................................ 203
Acciones (métodos) que realizarán los objetos .................................................... 204
Las características (atributos) que tendrán los objetos ........................................ 205
Inicialización de atributos ................................................................................. 207
Todo junto ............................................................................................................. 210
Herencia de clases ..................................................................................................... 212
Sobrescritura de métodos .................................................................................... 213

ÍNDICE

© RC Libros IX
De lo general a lo específico .................................................................................. 214
La herencia con las clases de Ruby ........................................................................ 217
La visibilidad de los métodos ..................................................................................... 217
La clase Singleton, los métodos de clase y las variables de clase .............................. 222
CAPÍTULO 16. LOS MÓDULOS .............................................................................. 227
¿Qué es un módulo, para qué sirve y cómo se define? ............................................. 227
Los módulos como namespaces ................................................................................ 228
Los mixins .................................................................................................................. 231
Módulos en diferentes archivos ............................................................................ 233
Explicación del scope de las constantes en módulos / clases ................................... 234
CUENTAME MÁS SOBRE RUBY .......................................................................... 237
CAPÍTULO 17. LAS EXPRESIONES REGULARES ...................................................... 239
Perdiéndole el miedo a las expresiones regulares .................................................... 239
Construcción de Regex para números telefónicos con 10 dÍgitos (paso a paso) ....... 242
¿Dónde más se usan los regex? ................................................................................. 245
Tablas de ayuda ......................................................................................................... 245
CAPÍTULO 18. ARCHIVOS Y CARPETAS ................................................................. 247
Archivos ..................................................................................................................... 247
Permisos en archivos de texto plano .................................................................... 247
Permiso de solo lectura ..................................................................................... 248
Permiso de solo escritura .................................................................................. 250
Permiso de lectura y escritura .......................................................................... 251
Directorios ................................................................................................................. 252
Creación de directorios ......................................................................................... 252
Obtención de la ruta, nombre y extensión de un archivo ..................................... 255
Verificación y búsqueda ........................................................................................ 256
CAPÍTULO 19. EXCEPCIONES ................................................................................ 259
¿Qué es una excepción en Ruby? .............................................................................. 259
Otros tipos de excepciones que ocurren frecuentemente ................................... 261
Manejo de excepciones ............................................................................................. 263
¿Cómo evitar que un programa termine antes? ................................................... 263
El método raise: Lanzar excepciones intencionadamente .................................... 264
Dos elementos más en el bloque: else y ensure ................................................... 266
PARTE II RUBY ON RAILS
FUNDAMENTOS ............................................................................................... 267
CAPÍTULO 20. INTRODUCCIÓN A RUBY ON RAILS ................................................ 269
¿Qué es Ruby on Rails? .............................................................................................. 269
La fIlosofía Rails ......................................................................................................... 270
CAPÍTULO 21. FUNDAMENTOS DEL DESARROLLO WEB ........................................ 269
¿Cómo funciona una aplicación web? ....................................................................... 273
¿Qué es un servidor web? ......................................................................................... 275
El protocolo de comunicación http .......................................................................... 276
Peticiones y respuestas http ................................................................................ 277

RUBY ON RAILS: Aprende a crear aplicaciones web desde cero

X © RC Libros
Métodos de peticiones http ................................................................................ 279
Código del lado del cliente vs código del lado del servidor ...................................... 281
CAPÍTULO 22. PRIMER PROYECTO EN RUBY ON RAILS ......................................... 285
Creación de un proyecto en Ruby on Rails ................................................................ 285
Ejecución del servidor local .................................................................................. 291
Arquitectura MVC en Ruby on Rails .......................................................................... 292
Solución al bug con usuarios de Windows ................................................................ 294
FUNDAMENTOS DEL TRABAJO EN ROR ............................................................. 297
CAPÍTULO 23.PRIMEROS PASOS EN RUBY ON RAILS ............................................ 299
Creación de un controlador ...................................................................................... 299
¿Qué acabo de crear? ........................................................................................... 301
Proceso de una petición en Ruby on Rails ............................................................ 303
Comunicación entre la vista y el controlador ....................................................... 310
Expresiones y scriptlets en las vistas ................................................................ 311
Incluyamos un modelo .......................................................................................... 314
SQLite ................................................................................................................ 315
Configuración de la base de datos .................................................................... 318
Creación de un módelo en Ruby on Rails ......................................................... 320
Ejecutando la migración ................................................................................... 323
Uso de la consola de Rails ................................................................................. 327
Juntemos todo ...................................................................................................... 335
Estructura de un proyecto Ruby on Rails .................................................................. 338
El archivo Gemfile ................................................................................................. 341
MODELOS EN PROFUNDIDAD ........................................................................... 345
CAPÍTULO 24. CREACIÓN DE MODELOS EN RUBY ON RAILS ................................. 347
Introducción .............................................................................................................. 347
Generación de modelos ............................................................................................ 348
Usos avanzados del generador de modelos ......................................................... 350
Preparación de un nuevo proyecto en Rails .............................................................. 352
CAPÍTULO 25. ACCIONES CON MODELOS ............................................................. 355
Acciones CRUD: Crear ............................................................................................... 355
El archivo seeds.rb ................................................................................................ 357
Acciones CRUD: Actualizar ........................................................................................ 358
Acciones CRUD: Eliminar ........................................................................................... 359
Acciones CRUD: Leer ................................................................................................. 360
Métodos para obtener una instancia de modelo ................................................. 360
Métodos de búsqueda dinámicos ......................................................................... 363
Métodos para obtener colecciones de instancias de modelo
y otros métodos más ........................................................................................... 364
Utilizando not y or ............................................................................................ 368
Ordenamiento de datos .................................................................................... 368
Selección específica de campos ........................................................................ 369
Buscar o construir un nuevo objeto .................................................................. 371
Realizar búsquedas mediante SQL nativo ......................................................... 372

ÍNDICE

© RC Libros XI
Obtener datos específicos de una consulta ...................................................... 373
Los cálculos en Active Record ............................................................................... 374
Contar registros ................................................................................................. 375
Agregando columna edad a los usuarios .......................................................... 377
Estableciendo valores aleatorios al campo edad .............................................. 380
Obtener el mínimo, máximo, la suma y el promedio ........................................ 381
CAPÍTULO 26. ASOCIACIÓN DE MODELOS ........................................................... 383
Asociaciones en Active Record .................................................................................. 383
Creando los modelos Book y Borrowing ............................................................... 383
Tipos de relaciones en los modelos....................................................................... 388
Asociación belongs_to ...................................................................................... 391
Asociación has_one ........................................................................................... 392
Asociación has_many ........................................................................................ 393
Asociación has_many :through ......................................................................... 393
Asociación has_one :through ............................................................................ 395
Asociación has_and_belongs_to_many ............................................................ 395
Métodos añadidos a los modelos para manipulación de asociaciones ................ 398
Métodos automáticamente añadidos en asociaciones has_many, has_many
:through y has_and_belongs_to_many .......................................................... 399
Métodos añadidos en asociaciones has_one y belongs_to .............................. 401
Operaciones con relaciones .................................................................................. 403
Crear asociaciones entre instancias de modelos .............................................. 403
Operaciones de selección en asociaciones ....................................................... 414
Crear métodos para manipular asociaciones has_many .................................. 418
CAPÍTULO 27. JOINS ............................................................................................ 427
Uniones de tablas ...................................................................................................... 427
Uniones mediante el método joins ....................................................................... 429
Uniones mediante el método left_outer_join ...................................................... 433
El uso de includes .................................................................................................. 435
VISTAS Y CONTROLADORES .............................................................................. 439
CAPÍTULO 28. LOS CONTROLADORES DE RAILS .................................................... 441
Generalidades sobre los controladores ..................................................................... 441
Creación de controladores ........................................................................................ 442
Convenciones en los controladores ........................................................................... 448
Conceptos importantes sobres los controladores ..................................................... 449
Las vistas y ActionView .........

Novedades en Editoriales Libro%

Motivos

Motivos es el único libro en prosa de José María Eguren. Es una recopilación...

Cuadernos de Vorónezh

Este libro es un milagro, y también el último escrito por Ósip Mandelstam, uno de los...

Nomadismo por mi país

Nomadismo por mi país es el diario de los talleres de poesía de Cecilia Pavón...

Presentación de Rodolfo Fogwill. Una monografía

Presentación de Rodolfo Fogwill. Una monografía es un enorme trabajo crítico...