Day01

419 views

Published on

Día uno del curso Ruby on Rails - Outside In

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
419
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Day01

  1. 1. Ruby On Rails Outside-In Pedro Visintin contact@pedrovisintin.com
  2. 2. Presentaciones
  3. 3. hablemos del curso • el entorno de desarrollo • el horario • el break • el feedback • el curso es ágil
  4. 4. html css web developer ? javascript un malabarista SQL http://www.flickr.com/photos/extranjerochapin/
  5. 5. MVC. Una buena idea
  6. 6. Porqué elegimos Ruby y Rails • es un lenguaje orientado al programador no a la máquina • motiva al programador por la productividad (más con menos) • reduce la cantidad de código (el mejor código es el no código) • permite hacer metaprogramming relativamente simple
  7. 7. Agile Web Development • convention over configuration • DRY (do not repeat yourself) • best practices included
  8. 8. Ruby class Ruby < Programming Language attr_accessor :features def initialize @features = [] end end ruby = Ruby.new ruby.features << “Fully Object Oriented” ruby.features << “Inheritance and Mixins” ruby.features << “Dinamyc Typed Language” ruby.features << “Open Classes” ruby.features << “Dynamic reflection and alteration of objects”
  9. 9. non human human presentation api controller business logic (model)
  10. 10. non human human experiencepresentation api controller business logic (model)
  11. 11. El concepto detrás de Ruby "I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That's why I decided to design my own language" Yukihiro Matsumoto
  12. 12. que la busquen y la sigan buscando esto no es mainstream
  13. 13. http://www.flickr.com/photos/alverson/ explorar nuevos caminos
  14. 14. porqué programamos? • nos gusta • generalmente necesitamos $$$ • generalmente somos unas personas particulares • generalmente nos relacionamos de forma especial con los que no son programadores
  15. 15. contexto { • Software libre • Web 2.0 (compartir+/tener-) • Software Colaborativo (muchas veces, no siempre) • Internet crece exponencialmente } http://www.flickr.com/photos/4everyoung/313308360/
  16. 16. Desarrollo Web • en general trabaja más de una persona • los proyectos muchas veces no tienen fecha de fin (permanent beta) • necesitamos código mantenible para poder continuar mejorando
  17. 17. Los mercados son conversaciones.
  18. 18. no es lo mismo trabajar solo que trabajar en equipo
  19. 19. http://www.flickr.com/photos/teamtraveller/3745126618/ Cuando hablamos de Lenguaje estamos hablando de comunicación?
  20. 20. Complejidad Complejo, describe las interacciones entre un múmero de entidades. Si el número de entidades aumenta, el número de interacciones se incrementa, el número de interacciones entre ellas se incrementa exponencialmente y se puede llegar a un punto donde podría ser imposible conocer y http://www.flickr.com/photos/brewbooks/223616349/ entender todas ellas.
  21. 21. • gente • software • negocios
  22. 22. The Agile Manifesto • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan
  23. 23. Porqué Extreme Programing es una buena opción?
  24. 24. XP Values • comunicación • simplicidad (en contexto y YAGNI) • feedback (acerca al objetivo perfectible) • coraje (miedo yo? sí) • respeto (por el equipo y el proyecto)
  25. 25. Prácticas que usaremos (es un curso de rails no de XP) • Test first Programming (BDD) • Incremental design • Pair programming
  26. 26. http://www.flickr.com/photos/hryckowian/2029393648/ quién se anima a meter mano en 10000 líneas de código que no conoce?
  27. 27. predicibilidad
  28. 28. TDD BDD con Unit Test con Shoulda Todos los caminos conducen AGILE DEVELOPMENT a Roma varias formas de hacer lo mismo pero el mismo concepto detrás BDD BDD con Context BDD con Rspec con Contest
  29. 29. • No escribir código si no falla ningún test • El mejor código es el no código (YAGNI)
  30. 30. ser parte del equipo • nosotros pertenecemos • estamos juntos en esto • nosotros nos ayudamos entre nosotros a trabajar, crecer y aprender
  31. 31. references • http://en.wikipedia.org/wiki/Ruby_on_Rails • http://en.wikipedia.org/wiki/Ruby_ %28programming_language%29 • http://www.extremeprogramming.org/ • http://agilemanifesto.org/ • http://www.tremendo.com/cluetrain/

×