Taller Ruby on Rails

  • View
    787

  • Download
    0

Embed Size (px)

Text of Taller Ruby on Rails

TALLER RUBY ON RAILS

1. Que es Ruby Ruby es un lenguaje de programacin interpretado, reflexivo y orientado a objetos, creado por el programador japons Yukihiro "Matz" Matsumoto, quien comenz a trabajar en Ruby en 1993, y lo present pblicamente en 1995. Combina una sintaxis inspirada en Python y Perl con caractersticas de programacin orientada a objetos similares a Smalltalk. Comparte tambin funcionalidad con otros lenguajes de programacin como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programacin interpretado en una sola pasada y su implementacin oficial es distribuida bajo una licencia de software libre. 2. que es rails Rails es un framework para el desarrollo de aplicaciones web, software libre por naturaleza, est basado en el patrn de diseo Modelo Vista Controlador (MVC). Fue creado por David Heinemeier Hansson, empleado de la empresa 37signals. Fue liberado por primera vez al pblico en julio del 2004, y lo implemento en una aplicacin orientada a la administracin de proyectos llamada Basecamp. Actualmente se unieron ms personas al desarrollo de Rails podemos visualizar aqu a los integrantes. Rails est basado en estos principios de desarrollo: 3. Defina la arquitectura MVC, aydese con una grfica y explique sus componentes Modelo/Vista/Controlador

Definicin de las partes: El Modelo: Es el objeto que representa los datos del programa. Maneja los datos y controla todas sus transformaciones. El Modelo no tiene conocimiento especfico de los Controladores o de las Vistas, ni siquiera contiene referencias a ellos. Es el propio sistema el que tiene encomendada la responsabilidad de mantener enlaces entre el Modelo y sus Vistas, y notificar a las Vistas cuando cambia el Modelo.

La Vista: Es el objeto que maneja la presentacin visual de los datos representados por el Modelo. Genera una representacin visual del Modelo y muestra los datos al usuario. Interacta con el Modelo a travs de una referencia al propio Modelo. El Controlador: Es el objeto que proporciona significado a las rdenes del usuario, actuando sobre los datos representados por el Modelo. Cuando se realiza algn cambio, entra en accin, bien sea por cambios en la informacin del Modelo o por alteraciones de la Vista. Interacta con el Modelo a travs de una referencia al propio Modelo.

4. Que es un IDE (programacin) Un IDE es un entorno de programacin que ha sido empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo, un compilador, un depurador y un constructor de interfaz grfica (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 mayora de los lenguajes de programacin tales como C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecucin, en donde se permite utilizar el lenguaje de programacin 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 programacin. Este es el caso de Eclipse, al que mediante plugins se le puede aadir soporte de lenguajes adicionales. 5. Framework Un framework es una estructura conceptual y tecnolgica de soporte definida, normalmente con artefactos o mdulos de software concretos, con base en la cual otro proyecto de software puede ser organizado y desarrollado. Tpicamente, puede incluir soporte de programas, bibliotecas y un lenguaje 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 metodologa de trabajo la cual extiende o utiliza las aplicaciones del dominio. 6. GEM

7. Clase Una clase es una construccin 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" sera 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 travs de marcadores de datos llamados atributos (o variable miembro o variables de instancia), encapsula el comportamiento a travs de secciones de cdigo reutilizables llamados mtodos. 8. Defina la estructura de un proyecto rails (versin 3), construya una imagen

La caracterstica ms destacable de un proyecto Rails es la divisin fsica de los archivos, para fortalecer la divisin de sus funciones siguiendo el patrn Modelo-Vista-Controlador. Veamos los directorios ms empleados de los que componen esta estructura.

AppEsta carpeta contiene los archivos que forman el sitio, repartidos segn sus caractersticas en los subdirectorios controllers, helpers, models y views.

Models: la funcin principal de los modelos es la obtencin de datos, almacenados en una basede datos, un fichero, etc., y de controlar la integridad de estos datos.

Views: en una pgina web, las vistas son las distintas interfaces del usuario. A su vez, contieneuna carpeta denominada Layout. Aqu, estn unos ficheros que incluyen, bsicamente, el apartado head de un archivo html. Despus, por medio de bloques Ruby, se aade el cuerpo de las vistas para conformar el fichero completo.

Controllers: guarda los archivos correspondientes a los controladores del sistema. Su trabajoconsiste en recibir eventos del usuario (envo de formulario, pulsacin 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 mtodos, tras su ejecucin, se muestra automticamente la vista correspondiente al mtodo ejecutado. A su vez, si es necesario, se puede crear un modelo para el controlador.

configEn esta carpeta, se almacenan los archivos de configuracin del proyecto. Los archivos que nosotros solemos modificar son routes.rb y database.yml. En el primero, es posible modificar el controlador y su accin que se ejecutarn al acceder al sitio. En el otro, podemos modificar el nombre de la base de datos asociada al proyecto.

dbPrincipalmente, esta carpeta incluye las migraciones, es decir, los archivos de creacion y edicin de la base de datos relacionada con el proyecto.

docAqu se almacena la documentacin del proyecto. Los log archivos guardados en este directorio son registros de la ejecucin del sitio.

public Este directorio tiene las imgenes 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 arquitectura Cliente Servidor QUE ES UNA ARQUITECTURA Una arquitectura es un entramado de componentes funcionales que aprovechando diferentes estndares, convenciones, reglas y procesos, permite integrar una amplia gama de productos y servicios informticos, de manera que pueden ser utilizados eficazmente dentro de la organizacin. Debemos sealar que para seleccionar el modelo de una arquitectura, hay que partir del contexto tecnolgico y organizativo del momento y, que la arquitectura Cliente/Servidor requiere una determinada especializacin de cada uno de los diferentes componentes que la integran. QUE ES UN CLIENTE Es el que inicia un requerimiento de servicio. El requerimiento inicial puede convertirse en mltiples requerimientos de trabajo a travs de redes LAN o WAN. La ubicacin de los datos o de las aplicaciones es totalmente transparente para el cliente. QUE ES UN SERVIDOR Es cualquier recurso de cmputo dedicado a responder a los requerimientos del cliente. Los servidores pueden estar conectados a los clientes a travs de redes LANs o WANs, para proveer de

mltiples servicios a los clientes y ciudadanos tales como impresin, acceso a bases de datos, fax, procesamiento de imgenes, etc. 10. Como se llama el archivo de configuracin de la base de datos en rails Para configurar la conexin a la base de datos, rails pone a nuestra disposicin el archivo database.yml ubicado en config -> database.yml. Este archivo nos permite configurar la conexin a tres bases de datos. Tres bases de datos para tres entornos: development (desarrollo), test (prueba) y production (produccin). 11. Haga una conexin de base de datos en sqlite3 y rails 12. Haga una conexin de base de datos en mysql y rails 13. Que es scaffold La palabra Scaffold est en ingls y en espaol significa Andamio, pero en programacin el scaffolding es un mtodo para construir aplicaciones basadas en bases de datos, esta tcnica est soportada por algunos frameworks del tipo MVC en el cul el programador escribe una especificacin que describe cmo debe ser usada la base de datos. Luego el compilador utiliza esa especificacin para generar el cdigo que la aplicacin usar para crear, leer, actualizar y eliminar registros de la base de datos, esto es conocido como CRUD (create, read, update, delete).El Scaffolding fue popularizado por el framework Ruby on Rails y ahora es utilizado por otros frameworks tambin cmo CakePHP, Symfony. 14. Que son las rutas REST en rails Es un paradigma para definir rutas en aplicaciones web. En base a R