Redcar

Aquí les dejo un excelente editor de texto que lee perfectamente la sintaxis de ruby y ruby on rails, para los las tres plataformas escrito en jruby. (esta re-fácil la instalación)

NOTAS: La computadora donde sera instalado redcar debe contar con java.
             Una vez terminado el proceso de instalación solo debemos ejecutar "redcar" (sin las comillas) desde el cmd(consola) en mi caso :P.
             Enjoy.

Algunos comandos para la Terminal (OSX)

ls – Lista la información sobre los archivos, por defecto en el directorio actual.
mkdir – Crear una carpeta
cp – Copiar archivos
mv – Mover archivos y/o carpetas.
ditto – Copiar archivos y carpetas
touch – Cambia marcas de tiempo del archivo. Si el archivo no existe, se crea con los permisos determinados.

Ejemplo de uso en la terminal:

Acción: Crear un respaldo del escritorio en una carpeta nombrada con la fecha con 2 líneas en la terminal:

Código:
mkdir ~/`date “+%Y%m%d”`
ditto ~/Desktop/* ~/`date “+%Y%m%d”`

Componentes de Ruby on Rails

@ Action Controller es el componente que se encarga de controlar las aplicaciones de Ruby on Rails. El framework del Action Controller procesa los datos que son pedidos a las aplicaciones de Ruby on Rails, extrae los parámetros y los manda a la acción prevista. Los servicios incluyen manejo de sesión, procesamiento de plantillas y manejo de redireccionamiento.

@ Action View se encarga de manejar las vistas de tus aplicaciones de Rails. Puede crear por defecto código de salida en HTML y XML. Te permite el uso de plantillas, incluyendo las anidadas y parciales, también incluye soporte a la tecnología llamada AJAX.

@ Active Record es la base para los modelos en una aplicación de Rails. Proporciona independencia en las bases de datos, funcionalidad básica CRUD (crear, leer, actualizar y borrar), capacidades avanzadas de búsqueda y la habilidad de relacionar unos modelos con otros, entre otros servicios.

@ Action Mailer es un framework para la creación de servicios de correo electrónico. Puedes utilizar el Action Mailer para enviar mensajes basados en plantillas flexibles, o para recibir y procesar el correo entrante.

@ Active Resource proporciona un framework para gestionar la conexión entre los objetos de negocio y servicios web REST. Implementa una forma de distribuir recursos Web a objetos locales con la semántica CRUD.

@ Railties es el núcleo del código Rails que construye nuevas aplicaciones Rails y junta los diversos frameworks en cualquier aplicación Rails.

@ Active Support es una amplia colección de clases de utilidad y extensiones de la biblioteca estándar de Ruby que se utilizan en Rails, tanto por el código núcleo como tus aplicaciones.

@ REST Transferencia de Estado Representacional (Representational State Transfer) o REST es una técnica de arquitectura software para web.

Paradigma MVC

Mvc

 

Modelo

El modelo representa:
@ Las Tablas de la Base de Datos.
@ Migraciones (Expresan Cambios en las BD)
@ Observadores

En las aplicaciones web orientadas a objetos sobre base de datos, el modelo consiste en las clases que representan a las tablas de las bases de datos. En Ruby on Rails, las clases del Modelo son gestionadas por ActiveRecord. 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.


Vista

Vista es la lógica de visualización, o cómo se muestran los datos de las clases del Controlador. Con frecuencia en las aplicaciones web la vista consiste en una cantidad mínima de código incluido en HTML. Existen en la actualidad muchas maneras de gestionar las vistas. El método que se emplea en Rails por defecto es usar Ruby Embebido (archivos.rhtml, desde la versión 2.x en adelante de RoR archivos.html.erb), que son básicamente fragmentos de código HTML con algo de código en Ruby.


Controlador

Las clases del Controlador responden a la interacción del usuario e invocan a la lógica de la aplicación, que a su vez manipula los datos de las clases del Modelo y muestra los resultados usando las Vistas. En las aplicaciones web basadas en MVC, los métodos del controlador son invocados por el usuario usando el navegador web.

La implementación del Controlador es manejada por el ActionPack de Rails, que contiene la clase Application Controller. Una aplicación Rails simplemente hereda de esta clase y define las acciones necesarias como métodos, que pueden ser invocados desde la web, por lo general en la forma http://aplicacion/ejemplo/metodo, que invoca a “EjemploController#metodo”, y presenta los datos usando el archivo de plantilla /app/views/ejemplo/metodo.html.erb, a no ser que el método redirija a algún otro lugar.

Filosofía de Ruby on Rails.

78050658

¿Por qué trabajar el doble cuando solo se necesita hacer una vez?

Ruby on Rails está estructurado de manera que los componentes están integrados así, que no se tiene que estar especificando cada vez que se necesiten.

Por Ejemplo: En ActiveRecords, las definiciones de las clases no necesitan especificar los nombres de las columnas; Ruby puede averiguarlos a partir de la propia base de datos, de forma que definirlos tanto en el código como en el programa sería redundante.

 

Convención sobre configuración

Esto significa que solo se necesita definir aquella configuración que no es convencional (ósea que no exista en la base de datos). Por ejemplo, si hay una clase “Historia” en el modelo, la tabla correspondiente de la base de datos es “historias” pero si la tabla no sigue la convención esta debe de ser especificada manualmente.

Ejemplo:

“blogpost” Que no existe en la base de datos.

set_table_name_“blogspot” Asi es como se da de alta en la base de datos.

Esto es esencial cuando se diseña una aplicación desde cero sin una base de datos preexistentes, pero seguir las convenciones de Ruby on Rails significa usar menos código. El comportamiento puede ser modificado en caso de necesitar compatibilidad con un sistema heredado anterior.

Terminal

 

Es un programa o emulador cuya función es de una Terminal o ordenador central que esta comunicado en un red de telecomunicaciones que sirve para ejecutar acciones.

 

Al ingresar las órdenes, un intérprete de comandos analiza la secuencia de caracteres ingresada y, si la sintaxis de la orden es correcta, la ejecuta, recurriendo para ello a las funciones que ofrece el sistema operativo o el programa que representa, bien sea un gestor de banco de datos, una sesión de FTP, etc. 

 

La respuesta al usuario se representa en el monitor, Es una forma de trabajo interactiva, es decir, usuario y máquina se comunican en forma sucesiva.

 

Antes de todo es necesario distinguir entre el shell y el emulador de terminal.

El shell es un traductor entre el usuario y ordenador. Un Sistema Operativo es un conjunto de procesos que, entre otras muchas cosas, controla el hardware para que el usuario pueda utilizarlo. Ahora bien, para poder utilizarlo el usuario necesita comunicarle al kernel (núcleo del Sistema Operativo) lo que quiere que haga. La forma de comunicación es mediante el uso de varios dispositivos de entrada y salida como el teclado, el ratón.

Por tanto, si quiero que SO me abra un programa, puedo utilizar el ratón y hacer doble click en el icono, o puedo teclear en una Terminaal. El shell es el programa que recoge las órdenes del usuario en forma de texto (la segunda forma en el ejemplo anterior) y se las traduce al kernel para que haga lo que tenga que hacer y me pernita utilizar programa.