meetup training taller ror

26
Reunión de Voluntarios Taller RoR en Español 5 - Mayo -2011 San Francisco, CA

Upload: cdechauri

Post on 17-Jun-2015

726 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Meetup training Taller RoR

Reunión de Voluntarios

Taller RoR en Español

5 - Mayo -2011 San Francisco, CA

Page 2: Meetup training Taller RoR

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

Page 3: Meetup training Taller RoR

Preparado por Carmen Diaz Echauri.

Goal / Objetivo

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

5/5/11

Page 4: Meetup training Taller RoR

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

Page 5: Meetup training Taller RoR

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

Page 6: Meetup training Taller RoR

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

Page 7: Meetup training Taller RoR

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

Page 8: Meetup training Taller RoR

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

Page 9: Meetup training Taller RoR

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

Page 10: Meetup training Taller RoR

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

Page 11: Meetup training Taller RoR

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

Page 12: Meetup training Taller RoR

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

Page 13: Meetup training Taller RoR

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

Page 14: Meetup training Taller RoR

Preparado por Carmen Diaz Echauri.

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

5/5/11

Page 15: Meetup training Taller RoR

Preparado por Carmen Diaz Echauri.

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

5/5/11

Page 16: Meetup training Taller RoR

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

Page 17: Meetup training Taller RoR

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

Page 18: Meetup training Taller RoR

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

Page 19: Meetup training Taller RoR

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

Page 20: Meetup training Taller RoR

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

Page 21: Meetup training Taller RoR

Preparado por Carmen Diaz Echauri.

Cucumber en Español

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

EntoncesAnd/But Y/Pero

5/5/11

Page 22: Meetup training Taller RoR

Preparado por Carmen Diaz Echauri.

Steps Web en Español

5/5/11

Page 23: Meetup training Taller RoR

Preparado por Carmen Diaz Echauri.

Cucumber en Español

Definir el idioma

5/5/11

Page 24: Meetup training Taller RoR

Preparado por Carmen Diaz Echauri.

Ejecutando el escenario

5/5/11

Page 25: Meetup training Taller RoR

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

Page 26: Meetup training Taller RoR

Preparado por Carmen Diaz Echauri.

Gracias!!

A ustedes – super Voluntarios!!!

5/5/11