definicion de conceptos sobre ruby on rail

14
1. QUE ES RUBY? Ruby es una dinámica, reflexiva, de uso general del lenguaje de programación orientado a objetos, que combina la sintaxis inspirada en Perl con Smalltalk como características. Ruby se originó en Japón a mediados de la década de 1990 y fue desarrollado y diseñado por Yukihiro "Matz" Matsumoto. Fue influenciado principalmente por Perl, Smalltalk, Eiffel, y Lisp. Ruby soporta múltiples paradigmas de programación, incluyendo funcional, orientado a objetos, imperativo y reflexivo. También cuenta con un tipo dinámico del sistema y automáticamente la gestión de memoria, por lo que es similar en varios aspectos a Python, Perl, Lisp, Dylan, Pike, y CLU. 2. QUE ES RAILS? Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración. El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Rails se distribuye a través de RubyGems, que es el formato oficial de paquete y canal de distribución de bibliotecas y aplicaciones Ruby. 3. ARQUITECTURA MVC: Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón de llamada y retorno MVC (según CMU), se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página. El modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio, y el controlador es el responsable de recibir los eventos de entrada desde la vista. Modelo: Esta es la representación específica de la información con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema también puede operar con más datos no relativos a la presentación, haciendo uso integrado de otras lógicas de negocio y de datos afines con el sistema modelado. Vista: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario. Controlador: Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista.

Upload: leyuta

Post on 03-Jul-2015

604 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Definicion de Conceptos Sobre Ruby on Rail

1. QUE ES RUBY?

Ruby es una dinámica, reflexiva, de uso general del lenguaje de programación

orientado a objetos, que combina la sintaxis inspirada en Perl con Smalltalk como

características. Ruby se originó en Japón a mediados de la década de 1990 y fue

desarrollado y diseñado por Yukihiro "Matz" Matsumoto. Fue influenciado

principalmente por Perl, Smalltalk, Eiffel, y Lisp.

Ruby soporta múltiples paradigmas de programación, incluyendo funcional, orientado

a objetos, imperativo y reflexivo. También cuenta con un tipo dinámico del sistema y

automáticamente la gestión de memoria, por lo que es similar en varios aspectos a

Python, Perl, Lisp, Dylan, Pike, y CLU.

2. QUE ES RAILS?

Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones

web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el

paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la

simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo

menos código que con otros frameworks y con un mínimo de configuración. El

lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace

uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy

legible. Rails se distribuye a través de RubyGems, que es el formato oficial de paquete

y canal de distribución de bibliotecas y aplicaciones Ruby.

3. ARQUITECTURA MVC:

Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa

los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres

componentes distintos. El patrón de llamada y retorno MVC (según CMU), se ve

frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que

provee de datos dinámicos a la página. El modelo es el Sistema de Gestión de Base de

Datos y la Lógica de negocio, y el controlador es el responsable de recibir los eventos

de entrada desde la vista.

Modelo: Esta es la representación específica de la información con la cual el

sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su

controlador facilitando las presentaciones visuales complejas. El sistema

también puede operar con más datos no relativos a la presentación, haciendo

uso integrado de otras lógicas de negocio y de datos afines con el sistema

modelado.

Vista: Este presenta el modelo en un formato adecuado para interactuar,

usualmente la interfaz de usuario.

Controlador: Este responde a eventos, usualmente acciones del usuario, e

invoca peticiones al modelo y, probablemente, a la vista.

Page 2: Definicion de Conceptos Sobre Ruby on Rail

Un diagrama sencillo que muestra la relación entre el modelo, la vista y el controlador.

Nota: las líneas sólidas indican una asociación directa, y las punteadas una indirecta

(por ejemplo, patrón Observer).

4. QUE ES UN IDE (PROGRAMACION)

Un entorno de desarrollo integrado (en inglés integrated development environment)

es un programa informático compuesto por un conjunto de herramientas de

programación.

Puede dedicarse en exclusiva a un sólo lenguaje de programación o bien, poder

utilizarse para varios.

Un IDE es un entorno de programación que ha sido empaquetado como un programa

de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y

un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o

pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo,

puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible

escribir sentencias Visual Basic en forma de macros para Microsoft Word.

Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de

programación tales como C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos

lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde

se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de

trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.

Es posible que un mismo IDE pueda funcionar con varios lenguajes de programación.

Este es el caso de Eclipse, al que mediante plugins se le puede añadir soporte de

lenguajes adicionales.

5. FRAMEWORK:

En el desarrollo de software, un framework es una estructura conceptual y tecnológica

de soporte definida, normalmente con artefactos o módulos de software concretos,

con base en la cual otro proyecto de software puede ser organizado y desarrollado.

Típicamente, puede incluir soporte de programas, bibliotecas y un lenguaje

Page 3: Definicion de Conceptos Sobre Ruby on Rail

interpretado entre otros programas para ayudar a desarrollar y unir los diferentes

componentes de un proyecto.

Representa una arquitectura de software que modela las relaciones generales de las

entidades del dominio. Provee una estructura y una metodología de trabajo la cual

extiende o utiliza las aplicaciones del dominio.

6. GEM:

Graphics Execution Manager (GEM, en español: administrador de ejecución de

gráficos) es una unidad de manejo de memoria moderna, especializada para uso en

controladores de dispositivo para chipsets gráficos. Este gestiona la memoria de

gráficos, controla el contexto de ejecución, y administra el entorno Non-Uniform

Memory Access (NUMA) en los chipsets gráficos modernos. Múltiples procesos pueden

compartir recursos de dispositivos gráficos sin la necesidad de almacenar y restaurar el

estado completo de la tarjeta gráfica entre cambios. El GEM se asegura de que no

existan conflictos en la compartición de datos entre aplicaciones, administrando la

sincronización de la memoria. Este utiliza muchos subsistemas del kernel existentes

para su operación, y por lo tanto el tamaño de su código es muy modesto.

Está incluido en el kernel Linux desde la versión 2.6.28. También está diseñado para

ser compatible con los kernels de los principales sistemas BSD activos.

El anuncio original de GEM incluyó documentación sobre su API

7. CLASE:

En la programación orientada a objetos, una clase es una construcción que se utiliza

como un modelo (o plantilla) para crear objetos de ese tipo. El modelo describe el

estado y el comportamiento que todos los objetos de la clase comparten. Un objeto de

una determinada clase se denomina una instancia de la clase. La clase que contiene (y

se utilizó para crear) esa instancia se puede considerar como del tipo de ese objeto,

por ejemplo, una instancia del objeto de la clase "Personas" sería del tipo "Personas".

Una clase por lo general representa un sustantivo, como una persona, lugar o

(posiblemente bastante abstracta) cosa - es el modelo de un concepto dentro de un

programa de computadora. Fundamentalmente, encapsula el estado y el

comportamiento del concepto que representa. Encapsula el estado a través de

marcadores de datos llamados atributos (o variables miembro o variables de

instancia), encapsula el comportamiento a través de secciones de código reutilizables

llamados métodos.

Más técnicamente, una clase es un conjunto coherente que consiste en un tipo

particular de metadatos. Una clase tiene tanto una interfaz y una estructura. La

interfaz describe cómo interactuar con la clase y sus instancias con métodos, mientras

que la estructura describe cómo los datos se dividen en atributos dentro de una

instancia. Una clase también puede tener una representación (metaobjeto) en tiempo

de ejecución, que proporciona apoyo en tiempo de ejecución para la manipulación de

los metadatos relacionados con la clase. En el diseño orientado a objetos, una clase es

el tipo más específico de un objeto en relación con una capa específica.

Page 4: Definicion de Conceptos Sobre Ruby on Rail

Los lenguajes de programación que soportan clases difieren sutilmente en su soporte

para diversas características relacionadas con clases. La mayoría soportan diversas

formas de herencia. Muchos lenguajes también soportan características para

proporcionar encapsulación, como especificadores de acceso.

8. ESTRUCTURA DE UN PROYECTO RAILS (VERSION 3) La característica más destacable de un proyecto Rails es la división física de los

archivos, para fortalecer la división de sus funciones siguiendo el patrón Modelo-Vista-

Controlador. Veamos los directorios más empleados de los que componen esta

estructura.

app

Esta carpeta contiene los archivos que forman el sitio, repartidos según sus

características en los subdirectorios controllers, helpers, models y views.

Models: la función principal de los modelos es la obtención de datos, almacenados en

una base de datos, un fichero, etc., y de controlar la integridad de estos datos.

Views: en una página web, las vistas son las distintas interfaces del usuario. A su vez,

contiene una carpeta denominada Layout. Aquí, están unos ficheros que incluyen,

básicamente, el apartado head de un archivo html. Después, por medio de bloques

Ruby, se añade el cuerpo de las vistas para conformar el fichero completo.

Controllers guarda los archivos correspondientes a los controladores del sistema. Su

trabajo consiste en recibir eventos del usuario (envío de formulario, pulsación de un

enlace), invocar al modelo para recuperar los datos que necesita, y trasladarlos a la

vista, para que los muestre.

Cuando se definen las acciones de un controlador, se debe crear una vista para cada

una de estas acciones. Cuando se invocan estos métodos, tras su ejecución, se muestra

automáticamente la vista correspondiente al método ejecutado. A su vez, si es

necesario, se puede crear un modelo para el controlador.

config

En esta carpeta, se almacenan los archivos de configuración del proyecto. Los archivos

que nosotros solemos modificar son routes.rb y database.yml. En el primero, es

posible modificar el controlador y su acción que se ejecutarán al acceder al sitio. En el

otro, podemos modificar el nombre de la base de datos asociada al proyecto.

db

Principalmente, esta carpeta incluye las migraciones, es decir, los archivos de creacion

y edición de la base de datos relacionada con el proyecto.

doc

Aquí se almacena la documentación del proyecto.

Page 5: Definicion de Conceptos Sobre Ruby on Rail

log

Los archivos guardados en este directorio son registros de la ejecución del sitio.

public

Este directorio tiene las imágenes que se muestran en las distintas vistas del proyecto,

así como las hojas de estilo empleadas.DEFINICION DE CONCEPTOS SOBRE RUBY ON

RAIL

9.DEFINA LA ERQUITECTURA CLIENTE SERVIDOR:

Este es el ejemplo grafico de la arquitectura cliente servidor.

ELEMENTOS DE LA ARQUITECTURA CLIENTE/SERVIDOR

Page 6: Definicion de Conceptos Sobre Ruby on Rail

En esta aproximación, y con el objetivo de definir y delimitar el modelo de referencia

de una arquitectura Cliente/Servidor, debemos identificar los componentes que

permitan articular dicha arquitectura, considerando que toda aplicación de un sistema

de información está caracterizada por tres componentes básicos:

• Presentación/Captación de Información

• Procesos

• Almacenamiento de la Información

Los cuales se suelen distribuir tal como se presenta en la figura:

Aplicaciones Cliente/Servidor

Y se integran en una arquitectura Cliente/Servidor en base a los elementos que

caracterizan dicha arquitectura, es decir:

• Puestos de Trabajo

• Comunicaciones

• Servidores

Tal como se presenta en la figura:

Arquitectura Cliente/Servidor

Page 7: Definicion de Conceptos Sobre Ruby on Rail

De estos elementos debemos destacar:

El Puesto de Trabajo o Cliente

Una Estación de trabajo o microcomputador (PC: Computador Personal) conectado a

una red, que le permite acceder y gestionar una serie de recursos» el cual se perfila

como un puesto de trabajo universal. Nos referimos a un microcomputador conectado

al sistema de información y en el que se realiza una parte mayoritaria de los procesos.

Se trata de un fenómeno en el sector informático. Aquellos responsables informáticos

que se oponen a la utilización de los terminales no programables, acaban siendo

marginados por la presión de los usuarios.

Debemos destacar que el puesto de trabajo basado en un microcomputador

conectado a una red, favorece la flexibilidad y el dinamismo en las organizaciones.

Entre otras razones, porque permite modificar la ubicación de los puestos de trabajo,

dadas las ventajas de la red.

Los Servidores o Back-end

Una máquina que suministra una serie de servicios como Bases de Datos, Archivos,

Comunicaciones,...).

Los Servidores, según la especialización y los requerimientos de los servicios que debe

suministrar pueden ser:

• Mainframes

• Miniordenadores

Page 8: Definicion de Conceptos Sobre Ruby on Rail

• Especializados (Dispositivos de Red, Imagen, etc.)

Una característica a considerar es que los diferentes servicios, según el caso, pueden

ser suministrados por un único Servidor o por varios Servidores especializados.

Las Comunicaciones

En sus dos vertientes:

• Infraestructura de redes

• Infraestructura de comunicaciones

Infraestructura de redes

Componentes Hardware y Software que garantizan la conexión física y la transferencia

de datos entre los distintos equipos de la red.

Infraestructura de comunicaciones

Componentes Hardware y Software que permiten la comunicación y su gestión, entre

los clientes y los servidores.

La arquitectura Cliente/Servidor es el resultado de la integración de dos culturas. Por

un lado, la del Mainframe que aporta capacidad de almacenamiento, integridad y

acceso a la información y, por el otro, la del computador que aporta facilidad de uso

(cultura de PC), bajo costo, presentación atractiva (aspecto lúdico) y una amplia oferta

en productos y aplicaciones.

10. COMO SE LLAMA EL ARCHIVO DE CONFIGURACION DE LA BASE DE DATOS EN RAILS

Para configurar la conexión a la base de datos, rails pone a nuestra disposición el

archivo “database.yml” ubicado en config -> database.yml. Este archivo nos permite

configurar la conexión a tres bases de datos. Tres bases de datos para tres entornos:

development (desarrollo), test (prueba) y production (producción).

13. QUE ES SCAFFOLD

La palabra Scaffold está en inglés y en español significa Andamio, pero en programación el scaffolding es un método para contruir aplicaciones basadas en bases de datos, esta técnica está soportada por algunos frameworks del tipo MVC en el cuál el programador escribe una especificación que describe cómo debe ser usada la base de datos. Luego el compilador utiliza esa especificación para generar el código que la aplicación usará para crear, leer, actualizar y eliminar registros de la base de datos, esto es conocido cómo CRUD (create, read, update, delete).El Scaffolding fue popularizado por el framework Ruby on Rails y ahora es utilizado por otros frameworks también cómo CakePHP, Symfony.

14. QUE SON LAS RUTAS REST EN RAILS

Es un paradigma para definir rutas en aplicaciones web. En base a REST, las aplicaciones de Rails determinan qué parte de aplicación mostrar y cómo responder a las solicitudes del usuario.

Page 9: Definicion de Conceptos Sobre Ruby on Rail

15. QUE VA EN LA CAPA MODEL

El nivel de enlace de datos (en inglés data link level) o capa de enlace de datos es la segunda capa del modelo OSI, el cual es responsable de la transferencia fiable de información a través de un circuito de transmisión de datos. Recibe peticiones de la capa de red y utiliza los servicios de la capa física. El objetivo de la capa de enlace es conseguir que la información fluya, libre de errores, entre dos máquinas que estén conectadas directamente (servicio orientado a conexión). Para lograr este objetivo tiene que montar bloques de información (llamados tramas en esta capa), dotarles de una dirección de capa de enlace, gestionar la detección o corrección de errores, y ocuparse del control de flujo entre equipos (para evitar que un equipo más rápido desborde a uno más lento).

16. QUE ES ORM El mapeo objeto-relacional es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y el utilizado en una base de datos relacional, utilizando un motor de persistencia. En la práctica esto crea una base de datos orientada a objetos virtual, sobre la base de datos relacional. Esto posibilita el uso de las características propias de la orientación a objetos (básicamente herencia y polimorfismo). Hay paquetes comerciales y de uso libre disponibles que desarrollan el mapeo relacional de objetos, aunque algunos programadores prefieren crear sus propias herramientas ORM.

17. QUE ES ACTIVERECORD Es un objeto que representa una fila en una tabla de una base de datos, encapsula su acceso a la base de datos y añade lógica de negocio. Es la aproximación más obvia, poniendo el acceso a la base datos en el propio objeto de negocio. De este modo es evidente como manipular la persistencia a través del mismo. Es un patrón de diseño el cual permite crear un objeto que "envuelve" una tabla SQL, agregándole la lógica del modelo y el control de acceso. Este patrón de diseño permite unir el mundo de la programación orientada a objetos (POO).

18. QUE ES CSS Y EN QUE CAPA DEL MODELO MVC SE USA

CSS, es una tecnología que nos permite crear páginas web de una manera más exacta. Gracias a las CSS somos mucho más dueños de los resultados finales de la página, pudiendo hacer muchas cosas que no se podía hacer utilizando solamente HTML, como incluir márgenes, tipos de letra, fondos, colores... CSS son las siglas de Cascading Style Sheets, en español Hojas de estilo en Cascada. En este reportaje vamos a ver algunos de los efectos que se pueden crear con las CSS sin necesidad de conocer la tecnología entera.

Page 10: Definicion de Conceptos Sobre Ruby on Rail

19. QUE ES JQUERY Y PARA QUE SIRVE Para simplificar, podríamos decir que jQuery es un framework Javascript, pero quizás muchos de los lectores se preguntarán qué es un framework. Pues es un producto que sirve como base para la programación avanzada de aplicaciones, que aporta una serie de funciones o códigos para realizar tareas habituales. Por decirlo de otra manera, framework son unas librerías de código que contienen procesos o rutinas ya listos para usar. jQuery es un framework para el lenguaje Javascript, luego será un producto que nos simplificará la vida para programar en este lenguaje. Implementa una serie de clases (de programación orientada a objetos) que nos permiten programar sin preocuparnos del navegador con el que nos está visitando el usuario, ya que funcionan de exacta forma en todas las plataformas más habituales.

20. DEFINA LOS 3 ENTORNOS RAILS Y PARA QUE SE USA CADA UNO El entorno de desarrollo: (development) optimiza la productividad del

desarrollador. Las caches apenas operan, así que los cambios en el código de la aplicación se aprecian rápidamente, sin tener que recompilar o volver a desplegar nada. Sólo hay que recargar la página del navegador. Por esta razón Ruby on Rails es más rápido en el desarrollo que, por ejemplo, la plataforma Java 2.

El entorno de pruebas: (test) está optimizado para ejecutar pruebas unitarias, de integración y funcionales. Cada vez que se ejecuta una prueba, la base de datos se limpia de todos sus datos. Ruby on Rails se encarga de poblar la base de datos con datos de prueba antes de cada test, a través de las fixtures.

El entorno de producción: (production) es donde se despliega la aplicación final. Este entorno está optmizado para rendimiento, lo que significa, por ejemplo, que las clases están en cache.

Page 11: Definicion de Conceptos Sobre Ruby on Rail

21. COMO SE LLAMA EL ARCHIVO DONDE SE VISUALIZAN LOS ERRORES: Un log es un registro oficial de eventos durante un rango de tiempo en particular. Para los profesionales en seguridad informática es usado para registrar datos o información sobre quién, qué, cuándo, dónde y por qué (who, what, when, where y why) un evento ocurre para un dispositivo en particular o aplicación. La mayoría de los logs son almacenados o desplegados en el formato estándar, el cual es un conjunto de caracteres para dispositivos comunes y aplicaciones. De esta forma cada log generado por un dispositivo en particular puede ser leído y desplegado en otro diferente. También se le considera como aquel mensaje que genera el programador de un sistema operativo, alguna aplicación o algún proceso, en virtud del cual se muestra un evento del sistema.

22. QUE ES MIGRACION Y EN QUE CARPETA VAN DENTRO DE UN PROYECTO RAILS Para los no iniciados en Ruby on rails, las migraciones permiten establecer el esqueleto de una base de datos, tablas y campos, al igual que hacemos con sentencias de SQL, sin utilizar directamente SQL. Además Ruby on rails, nos permite tener un control de las versiones de migraciones a ejecutar. Una vez que hemos hecho rails proyecto (siendo proyecto el nombre del proyecto rails) y cd proyecto (para colocarnos dentro del proyecto de rails recién creado) creamos nuestras migraciones. Comentar para recordar, un proyecto rails tiene tres tipos de entornos: desarrollo, pruebas y producción. El entorno Rails llamado “desarrollo” vuelve a cargar las clases cada vez que llame a una nueva acción, por lo que siempre tiene una copia actualizada de las clases incluyendo los cambios más recientes. Mientras que en el entorno de producción carga las clases una vez. Cuando se crea un nuevo proyecto rails, se crea un archivo database.yml, con los tres entornos desarrollo, pruebas y producción, dicho archivo se encuentra dentro de la carpeta config. development: adapter: mysql encoding: utf8 database: proyecto_development username: root password: socket: /var/run/mysqld/mysqld.sock

23. EN QUE CAPA SE ACOSTUMBRA HACER LAS VALIDACIONES EN RAILS (VALIDATES) modelo 24. QUE ES EL LAYOUT

Término inglés con el que se conocen en diseño los bocetos o maquetas bien acabados que sirven para presentar una campaña publicitaria. Es la ordenación y colocación de todos los elementos que componen una página web, es decir textos, imágenes, tablas, gráficos, etcétera. También son elementos del layout los colores y el tipo de letra. A la hora de realizar los diseños hay que tener en cuenta que un layout claro permitirá una navegación mucho más fácil eficiente.

25. QUE SON LOS PARTIALS La utilización de la palabra clave partial indica que otras partes de la clase, estructura o interfaz se pueden definir dentro del espacio de nombres. Todas las partes deben utilizar la palabra clave partial. Todas las partes deben estar disponibles en tiempo de

Page 12: Definicion de Conceptos Sobre Ruby on Rail

compilación para formar el tipo final. Todas las partes deben tener la misma accesibilidad, ya sea public, private, etc. Si alguna de las partes se declara abstracta, todo el tipo se considera abstracto. Si alguna de las partes se declara sellada, todo el tipo se considera sellado. Si alguna de las partes declara un tipo base, todo el tipo hereda esa clase. Todas las partes que especifican una clase base deben concordar, pero las partes que omiten una clase base heredan igualmente el tipo base. Las partes pueden especificar diferentes interfaces base, pero el tipo final implementa todas las interfaces mostradas por todas las declaraciones parciales. Cualquier miembro de clase, estructura o interfaz declarados en una definición parcial está disponible para todas las demás partes. El tipo final es la combinación de todas las partes en tiempo de compilación.

26. EN QUE CAPA SE MAPEAN LAS RELACIONES ENTRE LAS TABLAS

Capa de enlace de datos 27. EXPLIQUE LOS TIPOS DE RELACIONES ENTRE MODELOS RAILS.

En las aplicaciones web orientadas a objetos sobre bases de datos, el Modelo consiste en las clases que representan a las tablas de la base de datos. En Ruby on Rails, las clases del Modelo son gestionadas por ActiveRecord. Por lo general, lo único que tiene que hacer el programador es heredar de la clase ActiveRecord::Base, y el programa averiguará automáticamente qué tabla usar y qué columnas tiene. Las definiciones de las clases también detallan las relaciones entre clases con sentencias de mapeo objeto relacional. Por ejemplo, si la clase Imagen tiene una definición has_many:comentarios, y existe una instancia de Imagen llamada a, entonces a.comentarios devolverá un array con todos los objetos Comentario cuya columna imagen_id (en la tabla comentarios) sea igual a a.id. Las rutinas de validación de datos (p.e. validates_uniqueness_of:checksum) y las rutinas relacionadas con la actualización (p.e. after_destroy:borrar_archivo, before_update:actualizar_detalles) también se especifican e implementan en la clase del modelo

28. DEFINA LOS TÉRMINOS FRONT-END Y BACK-END En diseño de software el front-end es la parte del software que interactúa con el o los usuarios y el back-end es la parte que procesa la entrada desde el front-end. La separación del sistema en "front ends" y "back ends" es un tipo de abstracción que ayuda a mantener las diferentes partes del sistema separadas.

29. ENUNCIE Y EXPLIQUE BREVEMENTE METODOLOGIAS DE DESARROLLO UNA ÁGIL Y OTRA TRADICIONAL

Modelo en cascada Es un proceso secuencial de desarrollo en el que los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a través de las fases de análisis de las necesidades, el diseño, implementación, pruebas (validación), la integración, y mantenimiento. La primera descripción formal del modelo de cascada se cita a menudo a un artículo publicado por Winston Royce W.2 en 1970, aunque Royce no utiliza el término "cascada" de este artículo. Los principios básicos del modelo de cascada son los siguientes:1 El proyecto está dividido en fases secuenciales, con cierta superposición y splashback aceptable entre fases. Se hace hincapié en la planificación, los horarios, fechas, presupuestos y ejecución de todo un sistema de una sola vez.

Page 13: Definicion de Conceptos Sobre Ruby on Rail

Un estricto control se mantiene durante la vida del proyecto a través de la utilización de una amplia documentación escrita, así como a través de comentarios y aprobación / signoff por el usuario y la tecnología de la información de gestión al final de la mayoría de las fases antes de comenzar la próxima fase. Algunos métodos ágiles de desarrollo de software: Adaptive Software Development (ASD). Agile Unified Process (AUP). Crystal Clear. Essential Unified Process (EssUP). Feature Driven Development (FDD). Lean Software Development (LSD). Kanban. Open Unified Process (OpenUP). Programación Extrema (XP). Método de desarrollo de sistemas dinámicos (DSDM). Scrum.

30. QUE METODOLOGIA DE DESARROLLO DE SOFTWARE EMPLEARIA PARA RAILS? JUSTIFIQUELO

incremental por: El concepto inicial de software, análisis de las necesidades, y el diseño de la arquitectura y colectiva básicas se definen utilizando el enfoque de cascada, seguida por iterativo de prototipos, que culmina en la instalación del prototipo final.

31. QUE ES UN PLUGINS RAILS

(Plug-in) Programa que puede anexarse a otro para aumentar sus funcionalidades (generalmente sin afectar otras funciones ni afectar la aplicación principal). No se trata de un parche ni de una actualización, es un módulo aparte que se incluye opcionalmente en una aplicación. El plugin crea una lista de tareas, notas, ideas, etc. desde el código de nuestra aplicación. Lee todos los archivos .rb de nuestro proyecto buscando por las etiquetas aceptadas por el plugin y crea las listas correspondientes. Para esto se basa en un formato en los comentarios del código. Formato soportado #TODO: es una tarea #IDEA: es una idea #NOTE: es una nota #REMOVE: código pendiente de eliminar #DEBUG: código para revisar #TEST: código para probar #DEF: descripción de un método #CHANGE: código que se debe cambiar #QUESTION: preguntas pendientes #FIXME: código con errores conocidos Instalación ./script/plugin install http://todo-list-rails-plugin.googlecode.com/svn/trunk/todo_list/ Como se utiliza En la vista que quiero insertar el menú que me lleva a las listas coloco: <%= todo_list %> El plugin necesita Rails 1.2.0 o posterior para funcionar, si no lo tenemos instalado vamos a necesitar el plugin engines.

36. EXPLIQUE LOS FUNDAMENTOS DE LA WEB

Page 14: Definicion de Conceptos Sobre Ruby on Rail

El protocolo HTTP El protocolo HTTP (Hypertext Tranfer Protocol) es el protocolo principal de la World Wide Web. Es un protocolo simple, orientado a conexión y sin estado. Está orientado a conexión proque emplea para su funcionamiento un protocolo de comunicaciones (TCP, o Transport Control Protocol) de modo conectado, que establece un canal de comunicaciones entre el cliente y el servidor, por el cual pasan los bytes que constituyen los datos de la transferencia, en contraposición a los protocolos denominados de datagrama (o no orientados a conexión) que dividen la serie de datos en pequeños paquetes (o datagramas) antes de enviarlos, pudiendo llegar por diversas vías del servidor al cliente. Este protocolo no mantiene estado o, dicho de otro modo, cada transferencia de datos es una conexión diferente a la anterior, sin relación entre ellas. Por ejemplo, para transferir una página web debemos enviar el código HTML del texto, por un lado, y las imágenes que la componen por otro, pues en la especificación inicial 1.0 del protocolo HTTP se abrían y utilizaban tantas conexiones como componentes tenía la página, trasfiriéndo cada componente por conexiones diferentes . El lenguaje HTML El otro factor principal del éxito del World Wide Web ha sido el lenguaje HTML ("Hypertext Mark-up Language", o "Lenguaje de Marcado de Hipertexto"), que es un lenguaje de marcas (se insertan marcas o etiquetas en el texto) que permite representar de forma rica el contenido y referenciar otros recursos (por ejemplo, imágenes), o enlaces a otros documentos (que es, precisamente, la característica más destacada de la web), mostrar formularios para su posterior procesamiento, etc.

37. DEFINA LA ESTRUCTURA DE UN DOCUMENTO HTML

Head, title, meta, base, body, comentarios

TITLE: para dar nombre al documento;

META: para forzar a la página activa a ser cargada cada cierto tiempo.

BASE: para prefijar la dirección base de los documentos referenciados mediante un

URL relativo.

BODY: Esta es la estructura mínima que debe poseer todo documento HTML

COMENTARIOS: En el código fuente de una página HTML, los comentarios se

introducirán entre las marcas: <!-- y -->. Todo texto situado entre dichas marcas será

ignorado por el browser, y por tanto no será visible.