Introduction à Ruby on Rails

  • Upload
    novelys

  • View
    1.035

  • Download
    2

Embed Size (px)

DESCRIPTION

Introduction à Ruby on Rails donnée durant la réunion mensuelle de décembre 2011 du ElsassJUG (Java User Group alsacien). C'était leur cadeau de noël en somme.

Citation preview

  • 1. Yann Klis, ElsassJUG, 14 dcembre 2011 Introduction Ruby on Rails

2. Prsentation

  • Yann Klis

3. Etudes Strasbourg (IUP+DESS) 4. Grandes entreprises, start'up, SSII 5. Fondateur de Novelys (Strasbourg) en 2005 6. Spcialise dans le dveloppement d'applications web 7. Utilise Ruby et Rails depuis mars 2005 8. Plan

  • Gnralits sur Ruby

9. Gnralits sur Ruby on Rails 10. Dmo 11. Perspectives 12. Ruby

  • 1995

13. Yukihiro Matz Matsumoto 14. Ruby

  • Interprt

15. Multiplate-forme 16. Orient Objet P ur (introspection) 17. Bas sur des messages 18. Duck Typing 19. Ruby class Klass def hello(*args) "Hello " + args.join(' ') end end k = Klass.new k.hello(["gentle", "readers"]) ->"Hello gentle readers" k.hello("gentle", "readers") ->"Hello gentle readers" k.hello "gentle", "readers" ->"Hello gentle readers" k.send :hello, "gentle", "readers"->"Hello gentle readers" Un langage bas sur des messages 20. Ruby

  • Interprt

21. Multiplate-forme 22. Orient Objet P ur (introspection) 23. Bas sur des messages 24. Duck Typing 25. Dynamique 26. Ruby class Printing def method_missing(m, *args) if (name = /^test_(.+)$/.match(m.id2name)) print name[1] end end end print = Printing.new print.test_hello() print.test_haha() Un langage dynamique 27. Ruby

  • Interprt

28. Multiplate-forme 29. Orient Objet P ur (introspection) 30. Bas sur des messages 31. Duck Typing 32. Dynamique 33. Blocks (Closures) 34. Ruby ['pim', 'pam', 'poum'].each { |perso| print perso.capitalize } ['pim', 'pam', 'poum'].each { |perso| print perso.capitalize } %w(pim pam poum).each { |perso| print perso.capitalize } Block et itrateur 35. Ruby

  • Interprt

36. Multiplate-forme 37. Orient Objet P ur (introspection) 38. Bas sur des messages 39. Duck Typing 40. Dynamique 41. Blocks (Closures) 42. Esthtique et expressif 43. Ruby 5.times { print "Odelay!" } Exit unless "restaurant".include? "aura" ['toast', 'cheese', 'wine'].each { |food| print food.capitalize } Un langage esthtique et expressif 44. Ruby } Mta-programmation et Langages de domaine (DSL)

  • Interprt

45. Multiplate-forme 46. Orient Objet P ur (introspection) 47. Bas sur des messages 48. Duck Typing 49. Dynamique 50. Blocks (Closures) 51. Esthtique et expressif 52. Rack et Rake

  • Rack : middleware de jonction entre serveurs web et framework Ruby

53. Rake : make en Ruby 54. Ruby on Rails

  • 2004

55. David DHH Heinemeier Hansson 56. Ruby on Rails

  • Ruby on Rails, Rails, RoR : framework web

57. Design Pattern: MVC (Model View Controller), ORM (Object Relational Mapping), etc. 58. "Don't Repeat Yourself" (DRY) 59. Convention over Configuration 60. Plusieurs composantsdbrayables: ActiveRecord, Action Pack, Action Mailer, jQuery/CoffeeScript 61. Serveur web intgr 62. RESTful 63. Opiniated 64. It's dmo time... 65. Rub ies

  • Ruby MRI 1.8.7

66. Ruby MRI 1.9.3 67. JRuby 68. Rubinius 69. (Maglev) 70. (IronRuby) 71. Rub ies

  • Grer ses versions de Ruby
  • ruby-build

72. rbenv / rvm 73. Full stack

  • Serveur web
  • nginx

74. Apache Serveur applicatif

  • passenger, thin, unicorn

Base de donnes

  • MySQL, PostgreSQL, Oracle, MongoDB, Redis, etc

75. Avantages et inconvnients... 76. La Communaut les gems, les confrences, les articles de blog, les bonnes pratiques (tests), toujours la pointe, Github/Heroku, etc. 77. La Documentation http://api.rubyonrails.org,http://guides.rubyonrails.org , les livres, les screencasts, les articles de blog, etc. 78. Le monde Ruby/Rails bouge vite Le monde Ruby/Rails esttrsvaste Veille included, Rails 3.1.X, connexions avec Javascript, etc 79. Les kikoololers (1) Rails sai tro jainial 80. Les kikoololers (2) On est 3 personnes avec 15 ans d'exprience dans le marketing de haut vol avec une super ide gnialissime dont tout le monde dit que a va arracher et on cherche un dveloppeur pour nous dvelopper tout a. Il aura des parts et il encadrera une quipe de stagiaires. 81. 82. 83. Merci de votre attention ! [email_address] @yannski