Meetup training Taller RoR
-
Upload
cdechauri -
Category
Technology
-
view
727 -
download
0
description
Transcript of Meetup training Taller RoR
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