Rails för systemvetare

495 views

Published on

En presentation jag höll om HTML, Ruby och Ruby on Rails för medstudenter på IT-universitetet i Göteborg under våren 2

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
495
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Rails för systemvetare

  1. 1. ...
  2. 2. ...
  3. 3. Ruby on Rails ...en introduktion
  4. 4. Ruby on Rails ...en introduktion
  5. 5. Vem är jag?
  6. 6. Victor Sollerhed @MPV3
  7. 7. Ruby Java HTML CSS PHP C++ ASPVBscript Javascript C#
  8. 8. Varför?
  9. 9. Bra verktyg
  10. 10. ”Ringar på vattnet” riviera2008 på Flickr
  11. 11. 3
  12. 12. Agenda 1 Imponerad? 2 HTML 3 Ruby ... Paus 4 Rails 5 Installation 6 Utveckling 7 Demo 8 Skarpt läge 9 Labb 10 Fortsätt själv
  13. 13. 1 Imponerad? 2 Vad är HTML? 3 Vad är Ruby? ... Paus 4 Vad är Rails? 5 Hur installerar man? 6 Hur gör man? 7 Demo 8 Hur driftsätter man? 9 Labb 10 Hur fortsätter man? Agenda
  14. 14. Ruby on Rails }} Språk Ramverk
  15. 15. Programmerings- språk Webb- ramverk
  16. 16. Impress me! brent_nashville on Flickr
  17. 17. ”Man skall hålla reda på alla uppgifter om medlemmarna och klubbens schemalagda aktiviteter”
  18. 18. Demo
  19. 19. Vem använder Rails?
  20. 20. Twitter MTV style Shopify Zendesk Urban Dictionary Geni A List Apart Hulu Basecamp Blinksale Github 43 ThingsKongregate Get Satisfaction Yellow PagesFunny or Die
  21. 21. Vad har jag gjort i Rails?
  22. 22. HTML Do you speak it?
  23. 23. Text med ett fett ord.
  24. 24. Text med ett fett ord.
  25. 25. Text med ett fett ord. fetstil
  26. 26. Text med ett <fetstil>fett</fetstil> ord.
  27. 27. Taggar Text med ett <fetstil>fett</fetstil> ord.
  28. 28. <strong> Fetstil <em> Kursivt <a> Länk <h1> Rubrik (h1-h6)
  29. 29. Text med ett <strong>fett</strong> ord.
  30. 30. Webbläsare
  31. 31. Webbläsare Webbserver www.example.com
  32. 32. Webbläsare Webbserver index.htm www.example.com
  33. 33. <html>
  34. 34. <html> </html>
  35. 35. <html> <head> </head> </html>
  36. 36. <html> <head> </head> <body> </body> </html>
  37. 37. <html> <head> <title>Min hemsida</title> </head> <body> </body> </html>
  38. 38. <html> <head> <title>Min hemsida</title> </head> <body> <h1>En rubrik</h1> </body> </html>
  39. 39. <html> <head> <title>Min hemsida</title> </head> <body> <h1>En rubrik</h1> <p>Lite text...</p> </body> </html>
  40. 40. http://www.example.com/index.html
  41. 41. <a>Annan sida</a>
  42. 42. <a >Annan sida</a>
  43. 43. <a href=” ”>Annan sida</a>
  44. 44. <a href=”anotherpage.htm”>Annan sida</a>
  45. 45. Annan sida
  46. 46. Dagens sidotips:
  47. 47. Vad är Ruby?
  48. 48. Japan 1994
  49. 49. ...designade för datorer, inte för människor.
  50. 50. Låt datorn göra jobbet åt dig
  51. 51. Med språk och bibliotek designade för människor...
  52. 52. ...kan vi låta någon annan bry sig om prestandan.
  53. 53. Hello world!
  54. 54. Java public class MyClass{ public static void main(String args[]){ System.out.println(”Hello world!”); } } public class MyClass{ public static void main(String args[]){ System.out.println(”Hello world!”); } }
  55. 55. Ruby puts ”Hello world!” Java public class MyClass{ public static void main(String args[]){ System.out.println(”Hello world!”); } }
  56. 56. Vända på en sträng då?
  57. 57. 2.hours.ago
  58. 58. 2.hours.ago 5.times { print ”Hello” }
  59. 59. Allt är objekt (inga primitiva typer som Java har)
  60. 60. new Date Date.new
  61. 61. Tolkat (du slipper kompilera)
  62. 62. Dynamiskt typat
  63. 63. Java int age = 23; age = ”tjugotre”;
  64. 64. Java Ruby int age = 23; age = ”tjugotre”; age = 23 age = ”tjugotre”
  65. 65. int age = 23; Java Ruby age = ”tjugotre”; age = 23 age = ”tjugotre”
  66. 66. Duck-typing Ser det ut som en anka? Låter det som en anka? Då är det nog en anka!
  67. 67. är frivilliga ( ) ;och}{
  68. 68. puts ”Hello world!” puts(”Hello world!”); eller
  69. 69. class Duck def initialize puts ”Quack!” end end
  70. 70. class Duck def initialize puts ”Quack!” end end d = Duck.new
  71. 71. class Duck def initialize puts ”Quack!” end end d = Duck.new Quack!
  72. 72. gogri on Flickr
  73. 73. Vad är Ruby on Rails?
  74. 74. Ruby on Rails är ett öppet källkods- webbramverk som är optimerat för programmerar-glädje och hållbar produktivitet. Det låter dig skriva vacker kod genom att favorisera konventioner över konfiguration.
  75. 75. Ruby on Rails är ett öppet källkods- webbramverk som är optimerat för programmerar-glädje och hållbar produktivitet. Det låter dig skriva vacker kod genom att favorisera konventioner över konfiguration.
  76. 76. Ramverk
  77. 77. Ta emot inkommande anslutningar
  78. 78. Ta emot inkommande anslutningar Läs/skriv till databas
  79. 79. Ta emot inkommande anslutningar Läs/skriv till databas Skicka svar i HTML, e-post, XML m.m
  80. 80. Ta emot inkommande anslutningar Läs/skriv till databas Skicka svar i HTML, e-post, XML m.m Validering
  81. 81. Ta emot inkommande anslutningar Läs/skriv till databas Skicka svar i HTML, e-post, XML m.m Validering Tester
  82. 82. David Heinemeier Hansen
  83. 83. David Heinemeier Hansen
  84. 84. Basecamp David Heinemeier Hansen
  85. 85. Basecamp Backpack Highrise Campfire David Heinemeier Hansen
  86. 86. Basecamp Backpack Highrise Campfire David Heinemeier Hansen 3 miljoner kunder
  87. 87. Convention over Configuration
  88. 88. Konventioner över Konfiguration
  89. 89. Clarity over Cleverness
  90. 90. Tydlighet över Fyndighet
  91. 91. DRY
  92. 92. DRYDon’t RepeatYourself
  93. 93. MVC
  94. 94. MVCModel View Controller
  95. 95. Model View Controller Riktiga saker Webbsidor Vilken vy hämtas? Databas-åtkomst E-post Hämta rätt modeller Validering XML Vilken layout ska hämtas?
  96. 96. Model View Controller Riktiga saker Webbsidor Vilken vy hämtas? Databas-åtkomst E-post Hämta rätt modeller Validering XML Vilken layout ska hämtas?
  97. 97. Model View Controller Riktiga saker Webbsidor Vilken vy hämtas? Databas-åtkomst E-post Hämta rätt modeller Validering XML Vilken layout ska hämtas?
  98. 98. Model View Controller Member.rb index.html.erb MembersController.rb show.html.erb edit.html.erb new.html.erb
  99. 99. Hur fungerar MVC i Rails?
  100. 100. Klient
  101. 101. Klient
  102. 102. Controller Klient
  103. 103. Controller Klient
  104. 104. Controller Model Klient
  105. 105. Controller Model Klient
  106. 106. Controller Model DB Klient
  107. 107. Controller Model DB Klient
  108. 108. Controller View Model DB Klient
  109. 109. Controller View Model DB Klient
  110. 110. Controller View Model DB Klient
  111. 111. REST SOAP
  112. 112. SOAP
  113. 113. SOAP REST vs
  114. 114. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  115. 115. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  116. 116. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  117. 117. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  118. 118. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  119. 119. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  120. 120. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  121. 121. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  122. 122. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  123. 123. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  124. 124. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  125. 125. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  126. 126. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  127. 127. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  128. 128. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/{ID} GET Hämtar en specifik medlem /Members/{ID} DELETE Tar bort en medlem
  129. 129. URI Verb Funktion /Members GET Hämtar alla medlemmar /Members POST Skapar en medlem /Members/1 GET Hämtar medlem 1 /Members/1 DELETE Tar bort medlem 1
  130. 130. Installera +
  131. 131. I’m a Mac. I’m a PC. I’m Linux.
  132. 132. http://bit.ly/installera-rails
  133. 133. 1. Installera Ruby 2. Installera SQLite3 3. Installera Rails [sudo] gem install rails
  134. 134. Men hur använder man det?
  135. 135. Låt oss skapa vår första Rails-app!
  136. 136. Öppna ett terminal-fönster C:> _ Alice:~ vs$ _ eller
  137. 137. (Gå dit du vill ha din app) cd minaponnyhästar
  138. 138. Skapa din första Rails-app: rails min_forsta_app
  139. 139. Kliv in i din app: cd min_forsta_app
  140. 140. Skapa stommen (scaffold) för en modell: script/generate scaffold Modell attribut:typ
  141. 141. Skapa stommen (scaffold) för en medlem: script/generate scaffold Member name:string joined_at:datetime
  142. 142. Skapa stommen (scaffold) för en medlem: script/generate scaffold Member name:string joined_at:datetime Modell
  143. 143. Skapa stommen (scaffold) för en medlem: script/generate scaffold Member name:string joined_at:datetime Modell Attribut
  144. 144. Skapa stommen (scaffold) för en medlem: script/generate scaffold Member name:string joined_at:datetime Modell Attribut Typ
  145. 145. Skapa en databas: rake db:migrate
  146. 146. Starta din app! script/server
  147. 147. Testa! Surfa till: http://localhost:3000
  148. 148. Demo
  149. 149. rails min_forsta_app cd min_forsta_app script/generate scaffold Member name:string joined_at:datetime rake db:migrate script/server http://localhost:3000 1. Skapa din app: 2. Kliv in: 3. Skapa stommen för medlemmar: 4. Skapa databasen: 5. Starta webbservern: 6. Besök sidan:
  150. 150. Labb littlebitmanky on Flickr
  151. 151. Lokal
  152. 152. Lokal Aktivitet
  153. 153. Lokal Aktivitet *1
  154. 154. Facility Activity *1
  155. 155. Facility Activity *1
  156. 156. 1. Installera Rails m.m. 2. Skapa en rails-app 3. Skapa grundstommen för Facility och Activity 4. Länka ihop anläggningar med aktiviteter Facility Activity *1
  157. 157. Skarpt läge
  158. 158. Installera
  159. 159. -gem+
  160. 160. Versionshantering git-scm.com
  161. 161. [sudo] gem install heroku -gem
  162. 162. Skapa ett ”repository”: git init
  163. 163. Skapa ett ”repository”: git init git add . Lägg till alla filer:
  164. 164. Skapa ett ”repository”: git init git add . Lägg till alla filer: Spara ändringarna: git commit -m ”Beskrivning av ändring”
  165. 165. Skapa din Heroku-app: heroku create
  166. 166. Skapa din Heroku-app: heroku create Ladda upp dina filer: git push heroku master
  167. 167. Skapa din Heroku-app: heroku create Ladda upp dina filer: git push heroku master Uppdatera databasen på Heroku: heroku rake db:migrate
  168. 168. Öppna din app! heroku open
  169. 169. Fortsätt lära dig och
  170. 170. Fortsätt lära dig och
  171. 171. railscasts.com
  172. 172. API API API API
  173. 173. API API API API api.rubyonrails.org
  174. 174. Fortsätt lära dig och
  175. 175. Fortsätt lära dig och
  176. 176. tryruby.org
  177. 177. Why the lucky stiff
  178. 178. från ”Why's (poignant) Guide to Ruby”
  179. 179. mislav.uniqpath.com/poignant-guide
  180. 180. API API API API
  181. 181. API API API API ruby-doc.org/core
  182. 182. www.ruby-doc.org/docs/ProgrammingRuby Gratis på:
  183. 183. ?

×