meetup training taller ror

Post on 17-Jun-2015

726 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Primera Reunión para realizar Workshop RailsBridge en Español, San Francisco CA

TRANSCRIPT

Reunión de Voluntarios

Taller RoR en Español

5 - Mayo -2011 San Francisco, CA

Preparado por Carmen Diaz Echauri.

Agenda• Goal of this worshop

– Cuál es el objetivo de este Workshop?– Sarah’s words

• Presenting the actual curriculum Rails 3 in Spanish– Presentar el actual curriculum Rails 3 traducido al español.

• Vocabulary / Concepts– Ruby & RoR Conceptos.– Presentar un potencial Glosario de Vocabularios necesarios en el taller. – Cucumber en Español

• Demo• Logistic

– Actual Logística– Feedback / Mas ideas?

• What’s missing? / Qué falta?

5/5/11

Preparado por Carmen Diaz Echauri.

Goal / Objetivo

Diversidad en la Comunidad. mas ideas?... Tomo nota

5/5/11

Preparado por Carmen Diaz Echauri.

Ruby => {:conceptos => “ …”}

“ Ruby es un lenguaje de programación interpretado y orientado a objetos inventado por Yukihiro Matsumoto a comienzos de los 90’s. “

Open source DRY (No repitas) Sintaxis. Lenguaje flexible e intuitivo, interpretado por

humanos y maquinas. Patrones Comunes

5/5/11

Preparado por Carmen Diaz Echauri.

Conceptos Orientado a Objetos:

Object ObjectoClass ClaseAttribute Atributo / campoMethod MétodoInheritance / Extends Hereda ExtiendeInstanciate Instanciar (la acción de instanciar)

user1 = User.new()Instance Instancia (user1 es la instancia de User)

Ruby => {:conceptos => “ …”}

5/5/11

Preparado por Carmen Diaz Echauri.

“Rails es un Framework o un conjunto de librerias diseñado para crear aplicaciones web escrito en Ruby.”

DRY (ya que esta basado en Ruby) Basado en convenciones y anotaciones, en vez de

configuraciones. Desarrollo Agil Un completo set de pruebas

RoR => {:conceptos => “ …”}

5/5/11

Preparado por Carmen Diaz Echauri.

Framework Conjunto de Librerias (Para hacer nuestra vida mas fácil!)

Un framework facilita al programador clases que implementan funcionalidades comunes en las aplicaciones web, incluyendo: abstraciones en las base de datos (queries, independientemente de cual BD se este utilizando), plantillas, url amigables, etc.

RoR => {:conceptos => “ …”}

5/5/11

Preparado por Carmen Diaz Echauri.

Rails utiliza el patrón: Model Vista Controlador

RoR => {:conceptos => “ …”}

ControladorVista

Modelo

Model Modelo: Datos y Reglas del NegocioView Vista: Muestra la informacion al UsuarioController Controlador:

Responde a eventos, generalmente gestiona las entradas de los usuarios

e invoca peticiones al modelo.5/5/11

Preparado por Carmen Diaz Echauri.

File/Directorio Proposito

README Breve instruccion de tu aplicacion.

Rakefile Este file contiene batch jobs que pueden ser corridos desde la terminal.

app/ Contiene los controladores, modelos y vistas de la aplicacion.

config/ Configuracion de la aplicacion como base de datos, ruteadores, etc.

db/ Muestra la actual estructura de la base de datos, asi como las migraciones.

doc/ Documentacion de tu aplicacion.

lib/ Modules extendidos de la aplicacion.

log/ Log files

public/ Directorio que es publico para todos. Aqui van las imagenes, JavaScript, stylesheets (CSS), y otras paginas estaticas.

script/ Scripts otorgado por Rails para ciertos tasks.

spec/ Unit tests, fixtures, y otros test.

tmp/ Archivos temporales

vendor/ Codigos externos.

Estructura

5/5/11

Preparado por Carmen Diaz Echauri.

La separación de los diferentes entornos se refleja en la configuración de la BD. config/database.ymlRails usa SQLite como default. Cada entorno tiene su propia DB

RoR => {:conceptos => “ …”}

Environments Entornos

5/5/11

Preparado por Carmen Diaz Echauri.

Routes Rutas / Mapeo or Ruteo

RoR => {:conceptos => “ …”}

HTTP Request Controller.actionGET /topicos /:id TopicosController.show

Config/routes.rb

HTTP request url Accion Proposito

GET /topicos/:id Show Mostrar un topico específico

5/5/11

Preparado por Carmen Diaz Echauri.

Migration MigracionesPrincipios DRY y Convención sobre configuración

se hace patente con el patrón ActiveRecord Active. (uno de los tantos)

class User < ActiveRecord::Baseend

RoR => {:conceptos => “ …”}

DSL para escribir los scripts de creación y actualización entre distintas versiones de la estructura de la base de datos.

Helpers Helpers (usamos los mismo)

Métodos para interactuar con las vistas.

5/5/11

Preparado por Carmen Diaz Echauri.

*Glosario • Application aplicación.• Commit comprometer

– Comprometer or perpetrar el codigo. Pero utilizaremos la palabra commit cada vez que estamos seguros acerca de los cambios hacer

• Default Por defecto– En este contexto significa “naturalmente”. Pero se utiliza “default” en Español

• Deploy Puesta a producción / staging.• Directory Directorio / Carpeta • Features Caracteristicas desadas / funcionalidad• File Archivo• Folder Carpeta (sinónimo de directorio)• Framework esqueleto

– Conjunto de librerías comunes.• Reload refrescar• Route rutas / mapeos• Steps pasos (pero todos usan steps)• Template plantilla• Track seguimiento• Web Web • Static page Página estática

* Palabras técnicas encontradas al traducir el curriculum5/5/11

Preparado por Carmen Diaz Echauri.

Consola / Terminal• cd => same thing! cambiar directorio• ls –a => listar archivos

5/5/11

Preparado por Carmen Diaz Echauri.

Construyendo Mafala!!!Usaremos el Curriculum traducido de:Devchix – Rails3 Curriculum in Spanish

5/5/11

Preparado por Carmen Diaz Echauri.

Rails Web en 5 Pasos básicos

1) $ rails new mafalda– Explicar el manifiesto GemFile– Explicar que hace “rails generate rspec:install– Explicar que hace “rails generate cucumber:install

- - rspec –capybara

5/5/11

Preparado por Carmen Diaz Echauri.

rake cucumber FEATURE=features/1_topicos.feature

Rails Web en 5 Pasos básicos2) Prueba primero, implementación después. Escribir la prueba y verla fallar

5/5/11

Preparado por Carmen Diaz Echauri.

Rails Web en 5 Pasos básicos

3) Implementar la solución Utilizaremos en este caso el programa “Scaffold”

rails generate scaffold topico titulo:string descripcion:textrake db:migrate

5/5/11

Preparado por Carmen Diaz Echauri.

Rails Web en 5 Pasos básicos4) Guardar los cambios localmente ( y/o ponerlo a la vista del

mundo) git add .git commit –m “Agregar el modelo topico”git push origin master

5) Repetir el proceso

5/5/11

Prueba Codigo Commit Deploy

Preparado por Carmen Diaz Echauri.

Cucumber en Rails

features/ directorio de cucumberfeatures/*.feature características 1_topicos.featurefeatures/step_definitions/*.rb

implementacion de los steps features/support/env.rb conf de cucumberfeatures/support/path.rb traduction de rutas

5/5/11

Preparado por Carmen Diaz Echauri.

Cucumber en Español

Feature CaracterísticaScenario EscenarioGiven-When-Then Dado-Cuando-

EntoncesAnd/But Y/Pero

5/5/11

Preparado por Carmen Diaz Echauri.

Steps Web en Español

5/5/11

Preparado por Carmen Diaz Echauri.

Cucumber en Español

Definir el idioma

5/5/11

Preparado por Carmen Diaz Echauri.

Ejecutando el escenario

5/5/11

Preparado por Carmen Diaz Echauri.

What’s missing? Que falta ?

• Translation of / Traducción de: – Ruby para novatos – Installfest / Notas de Instalación– Notas para tutores.(Migrate everything using gem showoff)

• Cualquier consejo, sugerencias o feedback

5/5/11

Preparado por Carmen Diaz Echauri.

Gracias!!

A ustedes – super Voluntarios!!!

5/5/11

top related