If you can't read please download the document
Upload
novelys
View
1.039
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
2. Prsentation
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
9. Gnralits sur Ruby on Rails 10. Dmo 11. Perspectives 12. Ruby
13. Yukihiro Matz Matsumoto 14. Ruby
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
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
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
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)
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
53. Rake : make en Ruby 54. Ruby on Rails
55. David DHH Heinemeier Hansson 56. Ruby on Rails
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
66. Ruby MRI 1.9.3 67. JRuby 68. Rubinius 69. (Maglev) 70. (IronRuby) 71. Rub ies
72. rbenv / rvm 73. Full stack
74. Apache Serveur applicatif
Base de donnes
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