Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Taller RoR LCC

Taller RoR LCC

Transcript

  1. DESARROLLO DE APLICACIONES WEB CON RUBY ON RAILS TALLER ROR

    LCC ’17 - V1.0
  2. SOBRE MI @juanpintoduran cabargas.com gitlab.com/cabargas •Desarrollador de Software (2009*-) •Usuario

    de RoR (2010-) •Estudiante LCC (2015**-) *empece profesionalmente el 2009 - **tristemente, no empece academicamente el 2015
  3. CONTENIDOS Y OBJETIVOS

  4. TALLER ROR LCC ’17 - V1.0 CONTENIDOS ▸ Desarrollo de

    Aplicaciones Web con Rails ▸ MVC ▸ Scaffolding ▸ Rutas ▸ Autenticación de Usuarios ▸ Roles de Usuario* ▸ Modelos ▸ Migraciones ▸ Relaciones ▸ Controladores ▸ Métodos de Controlador ▸ Validaciones ▸ Vistas ▸ Principios de Experiencia de Usuario ▸ Principios de Usabilidad ▸ Principios de Diseño Web Responsive ▸ Mobile-First/Desktop-First/Mobile-Only ▸ Versionamiento con GIT ▸ Minimizando el error humano ▸ Principios de TDD/BDD ▸ Mockups* ▸ Ejemplos de Testing con RSpec ▸ Code-Policy Enforcing (git-hooks) ▸ Testeo de Vistas con Selenium* ▸ Continuous Integration (CI)* ▸ Desarrollo de APIs con Rails ▸ REST ▸ Routing y versionamiento de APIs ▸ Autenticación de Usuarios con Token, Control de Sesiones* ▸ Comunicación Real-Time con ActionCable* ▸ WebSockets* ▸ Continuous Deployment (CD)* ▸ Otros*
  5. TALLER ROR LCC ’17 - V1.0 OBJETIVOS ▸ Que los

    asistentes puedan desarrollar aplicaciones web modernas que cumplan con los requerimientos de la industria. ▸ Que los asistentes aprendan metodologías agiles zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz ▸ Que los asistentes aprendan las bases de las herramientas y metodologías utilizadas. ▸ Que todos puedan desarrollar una aplicación web o una API relacionada con sus gustos y que puedan seguir desarrollándola una vez terminadas las sesiones.
  6. Depende de cada uno de nosotros aprender lo que se

    contempla durante la realización de este taller. Los contenidos no son mas que la base para aprender un framework con cientos de opciones. Las dependencias y plataformas a utilizar no son las únicas disponibles en el mercado y siempre se recomienda investigar tus opciones antes de utilizarlas en un proyecto de software.
  7. RUBY?

  8. ruby != rails

  9. None
  10. RUBY IS DESIGNED TO MAKE PROGRAMMERS HAPPY ~ MATZ

  11. TALLER ROR LCC ’17 - V1.0 RUBY? ▸ NO fuertemente

    tipado. ▸ O.O.P. ▸ Principio de la menor sorpresa. ▸ Soluciones aburridas. ▸ M.I.N.S.W.A.N.: Matz is Nice So We Are Nice
  12. YA PERO… RUBY?

  13. foo este_es_un_identificador

  14. $variable_global

  15. @variable_de_instancia

  16. CONSTANTE

  17. # este es un comentario

  18. =begin esto es documentación multilínea =end

  19. “este es un string”

  20. “así se reemplazan #{variables}"

  21. puts “String”

  22. self nil true false

  23. array = [1, 2, 3]

  24. hash = {key_1: value_1, key_2: value_2}

  25. && #operador logico ‘y’ || #operador logico ‘o’

  26. 1..20 #esto es un rango

  27. CICLOS EN RUBY

  28. if condiciones then #ordenes elsif #ordenes else #ordenes end

  29. unless condiciones #ordenes else #ordenes end

  30. case variable when rango/valor #ordenes when rango/valor #ordenes else #ordenes

    end
  31. while condiciones #ordenes end

  32. until condiciones #ordenes end

  33. for variable in rango #ordenes end

  34. (1..20).each do |variable| #ordenes end

  35. def nombre_funcion argumentos_requeridos #ordenes end nombre_funcion(argumentos_a_utilizar)

  36. AHORA, COSAS “CHÉVERES”

  37. foo, bar = [1, 2] asignación múltiple

  38. if true then true else false end instrucciones de 1-línea

  39. condicion ? si_se_cumple : si_no_se_cumple instrucciones de 1-línea

  40. INSTALACION Y CONFIGURACION DEL ENTORNO DE DESARROLLO • Ruby y

    Rails: • UNIX-based OS: http://rubyonrails.org.es/instala.html (Gratis/FLOSS) • Windows: http://rubyonwindowsguides.github.io/ (Ingles/Gratis/FLOSS) • Editores de Texto (solo 1): • Atom: https://atom.io/ (Gratis/OSS) • Vim: http://www.vim.org/download.php (Gratis/FLOSS) • Versionamiento (Git): • UNIX-based OS: Abrir terminal y ejecutar git -v • Windows: http://msysgit.github.com/ (Gratis/OSS) • Almacenamiento de Versiones: • GitLab: https://www.gitlab.com/ (Gratis en proyectos públicos o privados/OSS) • GitHub: https://www.github.com/ (Gratis para repositorios públicos/Propietario) • Emulador de Terminal (Rails requiere el uso de consola de comandos para muchas de las tareas básicas, no se utilizara ninguna interfaz gráfica para versionamiento o desarrollo tampoco durante este taller) • Mac: iTerm 2 https://iterm2.com/ (Free/OSS) • Linux: Terminator https://launchpad.net/terminator (Free/FLOSS) • Windows: PowerShell https://msdn.microsoft.com/en-us/powershell (Free/OSS)