2. Agenda Goalofthisworshop Cuál es el objetivo de este Workshop? Sarah’swords Presentingthe 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’smissing? / Qué falta? Preparado por Carmen Diaz Echauri. 5/5/11
3.
4. mas ideas?... Tomo nota Preparado por Carmen Diaz Echauri. 5/5/11
9. Preparado por Carmen Diaz Echauri. Ruby => {:conceptos => “ …”} Conceptos Orientado a Objetos: ObjectObjecto Class Clase Attribute Atributo / campo Method Método Inheritance / Extends HeredaExtiende InstanciateInstanciar (la acción de instanciar) user1 = User.new() InstanceInstancia (user1 es la instancia de User) 5/5/11
10.
11. Basado en convenciones y anotaciones, en vez de configuraciones.
14. Preparado por Carmen Diaz Echauri. RoR => {:conceptos => “ …”} Framework Conjunto de Librerias (Para hacernuestravidamasfácil!) Un framework facilita al programadorclasesqueimplementanfuncionalidadescomunes en lasaplicaciones web, incluyendo: abstraciones en las base de datos (queries, independientemente de cual BD se esteutilizando), plantillas, urlamigables, etc. 5/5/11
15. Preparado por Carmen Diaz Echauri. RoR => {:conceptos => “ …”} Rails utiliza el patrón: Model Vista Controlador Controlador Modelo Vista ModelModelo: Datos y Reglas del Negocio ViewVista: Muestra la informacion al Usuario ControllerControlador: Responde a eventos, generalmente gestiona las entradas de los usuarios e invoca peticiones al modelo. 5/5/11
17. RoR => {:conceptos => “ …”} EnvironmentsEntornos La separación de los diferentes entornos se refleja en la configuración de la BD. config/database.yml Rails usa SQLite como default. Cada entorno tiene su propia DB Preparado por Carmen Diaz Echauri. 5/5/11
18. RoR => {:conceptos => “ …”} RoutesRutas / Mapeo or Ruteo Config/routes.rb HTTP Request Controller.action TopicosController.show GET /topicos /:id Preparado por Carmen Diaz Echauri. 5/5/11
19. RoR => {:conceptos => “ …”} MigrationMigraciones Principios DRY yConvenciónsobreconfiguración se hacepatente con el patrónActiveRecord Active. (uno de los tantos) class User < ActiveRecord::Base end DSL paraescribir los scripts de creaciónyactualización entre distintasversiones de la estructura de la base de datos. Helpers Helpers (usamos los mismo) Métodosparainteractuar con las vistas. Preparado por Carmen Diaz Echauri. 5/5/11
20. *Glosario Application aplicación. Commit comprometer Comprometer or perpetrar el codigo. Peroutilizaremos la palabra commit cadavezqueestamossegurosacerca de los cambioshacer 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áginaestática Preparado por Carmen Diaz Echauri. * Palabras técnicas encontradas al traducir el curriculum 5/5/11
21. Consola / Terminal cd => same thing! cambiardirectorio ls –a => listararchivos Preparado por Carmen Diaz Echauri. 5/5/11
22. Construyendo Mafala!!! Usaremos el Curriculum traducido de: Devchix– Rails3 Curriculum in Spanish Preparado por Carmen Diaz Echauri. 5/5/11
23. Rails Web en 5 Pasos básicos 1) $ rails new mafalda Explicar el manifiestoGemFile Explicarquehace “rails generate rspec:install Explicarquehace “rails generate cucumber:install - - rspec –capybara Preparado por Carmen Diaz Echauri. 5/5/11
24. Rails Web en 5 Pasos básicos rake cucumber FEATURE=features/1_topicos.feature Preparado por Carmen Diaz Echauri. 2) Pruebaprimero, implementacióndespués. Escribir la pruebayverlafallar 5/5/11
25. Rails Web en 5 Pasos básicos 3) Implementar la solución Utilizaremos en estecaso el programa “Scaffold” rails generate scaffold topicotitulo:stringdescripcion:text rakedb:migrate Preparado por Carmen Diaz Echauri. 5/5/11
26. Rails Web en 5 Pasos básicos 4) Guardar los cambioslocalmente ( y/oponerlo a la vista del mundo) git add . git commit –m “Agregar el modelotopico” git push origin master 5) Repetir el proceso Preparado por Carmen Diaz Echauri. 5/5/11 Prueba Codigo Commit Deploy
27. Cucumber en Rails features/ directorio de cucumber features/*.feature características 1_topicos.feature features/step_definitions/*.rbimplementacion de los steps features/support/env.rb conf de cucumber features/support/path.rbtraduction de rutas Preparado por Carmen Diaz Echauri. 5/5/11
28. Cucumber en Español FeatureCaracterística Scenario Escenario Given-When-Then Dado-Cuando-Entonces And/But Y/Pero Preparado por Carmen Diaz Echauri. 5/5/11
29. Steps Web en Español Preparado por Carmen Diaz Echauri. 5/5/11
30. Cucumber en Español Definir el idioma Preparado por Carmen Diaz Echauri. 5/5/11
32. What’smissing? Que falta ? Translationof / Traducción de: Ruby para novatos Installfest/ Notas de Instalación Notas para tutores. (Migrateeverythingusinggemshowoff) Cualquier consejo, sugerencias o feedback Preparado por Carmen Diaz Echauri. 5/5/11
33. Gracias!! A ustedes –super Voluntarios!!! Preparado por Carmen Diaz Echauri. 5/5/11
Notes de l'éditeur
La filosofía de Ruby es (DRY)- no terepitas. La idea de ruby esque no se necesitarepetir lo queya ha definido en otrolugar.El Lenguaje flexible eintuitivo, la idea esquepodamosescribircodigoquepueda ser interpretadoporhumanosymaquinas.
Framework Es el cimiento de una aplicación web. Se encarga de los detalles a bajo nivel que pueden ser repetitivos y aburridos de codificar. Permite al desarrollador enfocarse en desarrollar la funcionalidad de la aplicación.
Scaffold es un programa que genera plantillas basado en el patrón MVC. En general, los programadores mas avanzados no utilizan este programa. Es recomendable utilizarlo solo cuando el desarrollador es novato en Rails.