1 00:00:00,000 --> 00:00:03,968 >> [Speel van musiek] 2 00:00:03,968 --> 00:00:10,744 3 00:00:10,744 --> 00:00:14,040 >> STEPHEN tulband: So ek is Stephen Tulband. 4 00:00:14,040 --> 00:00:16,990 Oor aan die kant hier, miskien kan ons kan kry 'n paar mense om te duik in. 5 00:00:16,990 --> 00:00:20,150 6 00:00:20,150 --> 00:00:23,854 Ons het Gabriel en Zack. 7 00:00:23,854 --> 00:00:26,270 So vir 'n kort draaiboek oor wat dit gaan lyk, 8 00:00:26,270 --> 00:00:31,580 Ek gaan om te doen 'n paar uiters hoë-vlak kyk na wat MVC is. 9 00:00:31,580 --> 00:00:32,285 Gabe? 10 00:00:32,285 --> 00:00:35,080 >> GABRIEL Guimarães: Ek gaan praat oor Ruby en 'n bietjie 11 00:00:35,080 --> 00:00:39,100 hoe relings werk en hoe dit kan help om web-toepassings te bou. 12 00:00:39,100 --> 00:00:42,070 >> ZACK CHAUVIN: En ek gaan wys jou 'n spesifieke voorbeeld van hoe 13 00:00:42,070 --> 00:00:45,112 Rails te gebruik om te bou 'n super asemrowende app. 14 00:00:45,112 --> 00:00:46,112 STEPHEN tulband: Awesome. 15 00:00:46,112 --> 00:00:46,350 Soet. 16 00:00:46,350 --> 00:00:46,850 Alle regte. 17 00:00:46,850 --> 00:00:49,510 So laat ons praat oor MVC. 18 00:00:49,510 --> 00:00:54,970 So laat ons gaan na die volgende skyfie, wat Ek sal doen deur te druk die knoppie. 19 00:00:54,970 --> 00:01:12,640 En laat ons gaan na die next-- ontwikkeling, Ek wil om te dink oor gaan na CVS, 20 00:01:12,640 --> 00:01:17,240 omdat CVS is 'n winkel en het ook 'n V in die sentrum. 21 00:01:17,240 --> 00:01:21,460 >> En so laat dink aan 'n winkel. 22 00:01:21,460 --> 00:01:25,380 En laat ons die winkel net een ding te verkoop. 23 00:01:25,380 --> 00:01:31,380 So ons gaan om dit te hê stoor verkoop slegs hierdie rooi koppies. 24 00:01:31,380 --> 00:01:40,410 En dink jy loop in, en jy gaan aan die voorkant van die winkel, en die persoon. 25 00:01:40,410 --> 00:01:43,440 En sy naam is Vince. 26 00:01:43,440 --> 00:01:48,370 >> En Vince golwe hallo by jou, sê hi. 27 00:01:48,370 --> 00:01:50,860 En jy sien een ding oor Vince. 28 00:01:50,860 --> 00:01:56,880 So wanneer ons dink oor Vince, ons het sowat twee sleutel adjektiewe te dink. 29 00:01:56,880 --> 00:02:00,600 Vince is mooi, maar hy is dom. 30 00:02:00,600 --> 00:02:01,320 OK. 31 00:02:01,320 --> 00:02:06,810 So jy weet, geen skuld van sy eie, helaas, hy is mooi. 32 00:02:06,810 --> 00:02:08,009 Hy is ons siening. 33 00:02:08,009 --> 00:02:10,539 So ons eerste cast lid te word is daar. 34 00:02:10,539 --> 00:02:12,340 Hou dit in gedagte. 35 00:02:12,340 --> 00:02:17,230 >> Nou vra jy Vince, jy gaan, hey Vince. 36 00:02:17,230 --> 00:02:18,110 Ek is 'n kliënt. 37 00:02:18,110 --> 00:02:19,130 Hy sê hi. 38 00:02:19,130 --> 00:02:23,610 Ek wil regtig een van jou rooi koppies. 39 00:02:23,610 --> 00:02:24,760 En wat beteken Vince sê? 40 00:02:24,760 --> 00:02:26,510 Is daar iemand enige idee wat Vince sê? 41 00:02:26,510 --> 00:02:30,340 42 00:02:30,340 --> 00:02:31,452 Ek gaan koue roep. 43 00:02:31,452 --> 00:02:32,660 Wat dink jy Vince sê? 44 00:02:32,660 --> 00:02:36,139 >> GEHOOR: Hy sê, ek kan jou wys waar dit is nie, maar ek kan nie vir jou een gee. 45 00:02:36,139 --> 00:02:41,330 >> STEPHEN tulband: Hy sê, ek kan jou wys waar dit is nie, maar ek kan nie vir jou een gee. 46 00:02:41,330 --> 00:02:42,295 Selfs erger. 47 00:02:42,295 --> 00:02:44,420 Iemand anders het 'n ander idee wat Vince kan sê? 48 00:02:44,420 --> 00:02:46,957 >> GEHOOR: Hy het tjek te gaan indien hulle enige rooi koppies. 49 00:02:46,957 --> 00:02:49,290 STEPHEN tulband: Vince nie eens weet hy het om te gaan. 50 00:02:49,290 --> 00:02:50,070 Enigiets anders? 51 00:02:50,070 --> 00:02:52,360 So jy sê, moet kyk of hy het rooi koppies. 52 00:02:52,360 --> 00:02:52,895 Gaan voort. 53 00:02:52,895 --> 00:02:54,020 GEHOOR: Wat is 'n rooi beker? 54 00:02:54,020 --> 00:02:56,072 STEPHEN tulband: Wat is 'n rooi beker? 55 00:02:56,072 --> 00:02:58,090 Wat is 'n rooi beker? 56 00:02:58,090 --> 00:02:59,410 Vince is verward. 57 00:02:59,410 --> 00:03:05,141 So Vince gaan praat ons volgende cast lid, Carl. 58 00:03:05,141 --> 00:03:10,252 En wanneer ons dink oor Carl, ons gotta dink oor twee groot adjectives-- 59 00:03:10,252 --> 00:03:15,110 hy is beheer, maar hy is nie in staat. 60 00:03:15,110 --> 00:03:17,840 >> So Vince goes-- hy gaan, wat is 'n rooi beker? 61 00:03:17,840 --> 00:03:19,800 Ek weet nie wat 'n rooi beker is. 62 00:03:19,800 --> 00:03:23,080 Hy draai om, en hy vra Carl. 63 00:03:23,080 --> 00:03:28,890 Hy sê, Carl, iemand gevra vir 'n rooi koppie. 64 00:03:28,890 --> 00:03:30,722 Kan jy dit doen? 65 00:03:30,722 --> 00:03:31,680 En wat beteken Carl sê? 66 00:03:31,680 --> 00:03:32,513 Kom ons vind dit uit. 67 00:03:32,513 --> 00:03:34,330 Het enige iemand enige idee wat Carl sê? 68 00:03:34,330 --> 00:03:37,260 En ek sal net herhaal dit terug na jou. 69 00:03:37,260 --> 00:03:39,280 Ek het 'n hand beweging. 70 00:03:39,280 --> 00:03:41,760 >> GEHOOR: Hy vertel iemand anders sal die rooi koppies te kry. 71 00:03:41,760 --> 00:03:44,430 >> STEPHEN tulband: Hy vertel iemand anders die rooi koppie te kry. 72 00:03:44,430 --> 00:03:46,270 Presies. 73 00:03:46,270 --> 00:03:49,010 En ons het 'n idee wat daardie persoon kan wees? 74 00:03:49,010 --> 00:03:52,590 75 00:03:52,590 --> 00:03:53,090 Dit is 'n wenk. 76 00:03:53,090 --> 00:03:56,960 Dit gaan om te begin met 'n M. Mob? 77 00:03:56,960 --> 00:04:00,225 >> GEHOOR: Model. 78 00:04:00,225 --> 00:04:02,720 >> STEPHEN tulband: Die model, ja. 79 00:04:02,720 --> 00:04:06,920 Sy naam is nie-model, ongelukkig, want dit is 'n dom naam. 80 00:04:06,920 --> 00:04:09,310 Ons het Mitt. 81 00:04:09,310 --> 00:04:12,970 En wanneer ons dink oor Mitt-- nee, dit is nie 'n foto van Zack. 82 00:04:12,970 --> 00:04:15,590 83 00:04:15,590 --> 00:04:21,759 Ons het om te dink aan twee sleutel adjektiewe met Mitt. 84 00:04:21,759 --> 00:04:25,040 Hy is in staat om, maar hy is onderdanig. 85 00:04:25,040 --> 00:04:29,950 So Mitt weet wat hy moet doen, maar hy kan regtig nie doen nie. 86 00:04:29,950 --> 00:04:32,340 Of hy kan regtig nie op sy eie besluit. 87 00:04:32,340 --> 00:04:33,256 >> So ons het Carl. 88 00:04:33,256 --> 00:04:34,705 Carl skree op Mitt. 89 00:04:34,705 --> 00:04:39,990 En hy sê, hey Mitt, moet ons rooi koppies. 90 00:04:39,990 --> 00:04:46,410 En Mitt gaan na sy rooi koppie krediteer. 91 00:04:46,410 --> 00:04:48,960 Hy gryp 'n koppie, en hy gee dit terug. 92 00:04:48,960 --> 00:04:51,360 Het enige iemand enige idee wat gebeur dan? 93 00:04:51,360 --> 00:04:54,070 94 00:04:54,070 --> 00:04:55,120 Gee die beker. 95 00:04:55,120 --> 00:05:01,740 So ver Mitt het afgeloop na sy rooi beker bewaarplek, geneem om dit uit, 96 00:05:01,740 --> 00:05:03,550 nagegaan dit af, het gesê: Ek het 'n rooi koppie. 97 00:05:03,550 --> 00:05:06,717 En hy gee dit aan Carl. 98 00:05:06,717 --> 00:05:07,550 Jy 'n idee nie? 99 00:05:07,550 --> 00:05:08,980 Wat dink jy Carl doen? 100 00:05:08,980 --> 00:05:10,926 >> GEHOOR: Carl gee dit aan Vince. 101 00:05:10,926 --> 00:05:13,550 >> STEPHEN tulband: Carl gee dit aan Vince. 102 00:05:13,550 --> 00:05:14,165 Vince. 103 00:05:14,165 --> 00:05:15,999 >> GEHOOR: En Vince toon om dit te [onhoorbaar]. 104 00:05:15,999 --> 00:05:16,998 STEPHEN tulband: Presies. 105 00:05:16,998 --> 00:05:18,080 So dit is presies dit. 106 00:05:18,080 --> 00:05:21,040 So Vince neem die beker, nie eens weet wat dit is, 107 00:05:21,040 --> 00:05:23,840 maar hy wys dit vir die gebruiker. 108 00:05:23,840 --> 00:05:27,140 So laat ons probeer om te herskep dit werklik kortliks. 109 00:05:27,140 --> 00:05:31,380 En ons gaan nodig drie stil vrywilligers, 110 00:05:31,380 --> 00:05:35,260 as julle nie gaan in staat wees om te praat. 111 00:05:35,260 --> 00:05:36,470 So kon ek gryp drie? 112 00:05:36,470 --> 00:05:37,040 OK. 113 00:05:37,040 --> 00:05:38,248 En wie sou jy graag wou wees? 114 00:05:38,248 --> 00:05:42,310 115 00:05:42,310 --> 00:05:43,750 >> GEHOOR: Ek sal Vince. 116 00:05:43,750 --> 00:05:44,960 >> STEPHEN tulband: Vince, OK. 117 00:05:44,960 --> 00:05:46,190 Mooi, maar dom. 118 00:05:46,190 --> 00:05:47,510 Groot. 119 00:05:47,510 --> 00:05:48,570 Iemand anders? 120 00:05:48,570 --> 00:05:53,520 Ons is op soek na 'n bekwaam maar onderdanig. 121 00:05:53,520 --> 00:05:55,760 Enigiemand anders wil in staat wees om? 122 00:05:55,760 --> 00:05:56,944 >> GEHOOR: Ek kan Carl. 123 00:05:56,944 --> 00:05:57,860 STEPHEN tulband: Sweet. 124 00:05:57,860 --> 00:05:59,102 Ons het Carl. 125 00:05:59,102 --> 00:05:59,866 >> GEHOOR: Mitt. 126 00:05:59,866 --> 00:06:01,050 >> STEPHEN tulband: Mitt, OK. 127 00:06:01,050 --> 00:06:05,070 En ons gaan nodig a-- Ek sal die kliënt wees. 128 00:06:05,070 --> 00:06:07,460 So kom op, kom op op. 129 00:06:07,460 --> 00:06:10,470 En is almal in die lig? 130 00:06:10,470 --> 00:06:15,440 So ek gaan Vince te vra om staan ​​in die voorkant, net glimlag, 131 00:06:15,440 --> 00:06:18,230 net glimlag so helder as moontlik. 132 00:06:18,230 --> 00:06:21,520 En ons gaan Carl vra, reg is, hoekom doen jy nie, soos, 133 00:06:21,520 --> 00:06:24,050 staan ​​reg agter haar? 134 00:06:24,050 --> 00:06:26,660 En Mitt, waarom doen jy nie net af te gaan in die rug, 135 00:06:26,660 --> 00:06:31,410 en dan sal ek gee jou 'n groep koppies uit te hang met. 136 00:06:31,410 --> 00:06:34,170 >> So ek is 'n kliënt. 137 00:06:34,170 --> 00:06:35,610 Ek kom. 138 00:06:35,610 --> 00:06:40,490 En ek maak [onhoorbaar] Ek sê hi, ek wil graag 'n koppie. 139 00:06:40,490 --> 00:06:43,214 140 00:06:43,214 --> 00:06:44,580 Volmaak. 141 00:06:44,580 --> 00:06:45,580 So Vince het geen idee nie. 142 00:06:45,580 --> 00:06:46,915 So wat beteken Vince volgende doen? 143 00:06:46,915 --> 00:06:50,770 144 00:06:50,770 --> 00:06:52,860 Vince-- OK, so ek gaan te wees narrating nou. 145 00:06:52,860 --> 00:06:55,390 >> Vince skree op Carl, koppie! 146 00:06:55,390 --> 00:06:58,840 147 00:06:58,840 --> 00:07:00,790 Wat beteken Carl doen? 148 00:07:00,790 --> 00:07:03,910 Carl skree op Mitt. 149 00:07:03,910 --> 00:07:06,710 Mitt gryp 'n koppie. 150 00:07:06,710 --> 00:07:08,220 Mitt dit gee aan Carl. 151 00:07:08,220 --> 00:07:10,870 Carl terugkeer om dit te Vince. 152 00:07:10,870 --> 00:07:12,640 En Vince wys dit aan die gebruiker. 153 00:07:12,640 --> 00:07:17,960 >> En dit is 'n hoë, hoë, hoog, so hoog blik op MVC. 154 00:07:17,960 --> 00:07:22,460 Ons deel dit deur 'n oog, wat sien die gebruiker, 'n kontroleerder, iemand 155 00:07:22,460 --> 00:07:25,760 wat alles in die agtergrond maar regtig nie iets kan werk 156 00:07:25,760 --> 00:07:29,960 of kan niks van enige belang nie behalwe die roeping van die oog en die model. 157 00:07:29,960 --> 00:07:35,280 En dan het ons Mitt, die model, wat updates wat data wat ons het. 158 00:07:35,280 --> 00:07:42,660 So baie dankie vir ons pragtige, beheer, en in staat is vrywilligers. 159 00:07:42,660 --> 00:07:43,730 En ek dink dit was dit. 160 00:07:43,730 --> 00:07:45,040 >> [Applous] 161 00:07:45,040 --> 00:07:48,745 >> Ek dink Gabe gaan nou praat op 'n hopelik minder hoë vlak. 162 00:07:48,745 --> 00:07:51,600 >> GABRIEL Guimarães: OK, guys. 163 00:07:51,600 --> 00:07:56,790 Kom ons praat nou 'n bietjie meer oor kode en oor Ruby on Rails self, 164 00:07:56,790 --> 00:08:00,750 en oor hoe dit verband hou aan al hierdie MVC storie. 165 00:08:00,750 --> 00:08:03,190 Basies, Ruby on Rails is 'n raamwerk. 166 00:08:03,190 --> 00:08:04,640 Meer oor wat in 'n tweede. 167 00:08:04,640 --> 00:08:07,760 >> Maar net om jou 'n gevoel van wie dit te gebruik, 168 00:08:07,760 --> 00:08:12,240 soos al hierdie groot companies-- so GitHub, Groupon, Twitter-- 169 00:08:12,240 --> 00:08:15,300 hulle is almal met behulp van Ruby on Relings as hul hoof raamwerk 170 00:08:15,300 --> 00:08:16,510 hul webwerf te implementeer. 171 00:08:16,510 --> 00:08:19,130 So ek is seker 'n klomp mense hier hierdie webtuistes gebruik. 172 00:08:19,130 --> 00:08:24,470 En dit is alles Ruby on Rails te implementeer die model, die oog, en die beheerder 173 00:08:24,470 --> 00:08:26,890 op al hierdie webtuistes, en nog baie meer. 174 00:08:26,890 --> 00:08:27,830 OK? 175 00:08:27,830 --> 00:08:32,090 >> So as ek gesê het, Ruby on Relings is 'n raamwerk. 176 00:08:32,090 --> 00:08:37,237 En jy kan soort van dink van 'n raamwerk in die sin van soos die bou van 'n huis. 177 00:08:37,237 --> 00:08:39,570 So as jy gaan om te bou 'n house-- en jy kan altyd 178 00:08:39,570 --> 00:08:40,653 begin van nuuts af, reg? 179 00:08:40,653 --> 00:08:46,440 Jy kan probeer om te kom met 'n manier om die hout te sien, 180 00:08:46,440 --> 00:08:49,760 en die hout na die plek te bring, en die klippe in die regte vorm te kry, 181 00:08:49,760 --> 00:08:51,250 en dan sal al van daardie. 182 00:08:51,250 --> 00:08:54,020 Maar dit gaan neem waarskynlik baie jare 183 00:08:54,020 --> 00:08:56,910 totdat jy al die materiaal, en jy alles saam, 184 00:08:56,910 --> 00:08:58,790 en jy eintlik begin jou huis te bou. 185 00:08:58,790 --> 00:09:01,748 >> So dit blyk as jy begin met 'n raamwerk met iets wat 186 00:09:01,748 --> 00:09:04,260 reeds soort in plek vir enige tipe van die huis 187 00:09:04,260 --> 00:09:07,750 dat jy iets wil build-- dit is baie generiese, maar jy kan 188 00:09:07,750 --> 00:09:12,850 dan model teenoor jou eie goals-- dan kan jy hefboom 189 00:09:12,850 --> 00:09:16,800 hierdie krag van die raamwerke te bou hulle iets baie, baie vinniger. 190 00:09:16,800 --> 00:09:17,300 OK. 191 00:09:17,300 --> 00:09:21,110 So, dit is dieselfde idee in 'n raamwerk vir 'n web-program 192 00:09:21,110 --> 00:09:23,755 of vir enige tipe aansoek, wat vir die saak. 193 00:09:23,755 --> 00:09:26,560 >> Jy begin eintlik uit met die helfte van 'n aansoek 194 00:09:26,560 --> 00:09:28,400 reeds daar in die plek vir jou. 195 00:09:28,400 --> 00:09:32,230 En deur daardie, ek bedoel jy baie van die lêers wat reeds funksies, 196 00:09:32,230 --> 00:09:36,830 soos biblioteke, soos funksies, en beveel dat jy kan hardloop om 197 00:09:36,830 --> 00:09:40,500 jou lewe baie te maak eenvoudiger en makliker. 198 00:09:40,500 --> 00:09:41,180 OK. 199 00:09:41,180 --> 00:09:43,555 >> So in hierdie geval, ons gaan om te praat oor Ruby on Rails. 200 00:09:43,555 --> 00:09:45,920 Daar is baie van die verskillende raamwerke daar buite. 201 00:09:45,920 --> 00:09:47,550 Daar is Django vir Python. 202 00:09:47,550 --> 00:09:50,990 Daar is Zend Framework of Laravel vir PHP. 203 00:09:50,990 --> 00:09:52,390 Daar is baie van die verskillende kinders. 204 00:09:52,390 --> 00:09:56,830 Ruby on Rails is 'n mooi mooi nuwe een. 205 00:09:56,830 --> 00:10:01,600 Baie van die mense gebruik wat in startups en hierdie soort van die omgewing. 206 00:10:01,600 --> 00:10:04,250 En 'n paar van hierdie baie groot maatskappye wat ek hier het voor 207 00:10:04,250 --> 00:10:06,050 word ook met behulp Ruby on Rails. 208 00:10:06,050 --> 00:10:10,070 >> Dus net 'n te gee sin van wat Ruby is 209 00:10:10,070 --> 00:10:13,030 soos, aangesien julle ouens is meer gewoond te, soos, C en 'n bietjie van PHP 210 00:10:13,030 --> 00:10:17,560 nou, so Ruby gaan die wees ekwivalent van jou PHP in hierdie sin. 211 00:10:17,560 --> 00:10:18,380 Dit is nie Ruby. 212 00:10:18,380 --> 00:10:19,830 Dit is C. OK? 213 00:10:19,830 --> 00:10:22,660 Maar dit is soos die DJBHash funksie wat ek 214 00:10:22,660 --> 00:10:27,170 weet baie mense gebruik vir PSET spelfoute. 215 00:10:27,170 --> 00:10:29,670 >> En in Ruby, mooi baie soos in PHP, jy 216 00:10:29,670 --> 00:10:32,745 dit kan implementeer met slegs 'n paar reëls van die kode. 217 00:10:32,745 --> 00:10:34,870 In plaas van om te bekommer oor die hash funksie, 218 00:10:34,870 --> 00:10:37,950 om te bekommer oor die emmers, en al wat jy kan net sê, 219 00:10:37,950 --> 00:10:40,160 woordeboek = Hash.net. 220 00:10:40,160 --> 00:10:44,560 En dan moet jy gebruik soort van soos dieselfde idee dat PHP gehad. 221 00:10:44,560 --> 00:10:45,970 En so is dit te waar. 222 00:10:45,970 --> 00:10:48,080 En dan as jy wil kyk, so check funksie 223 00:10:48,080 --> 00:10:51,560 sou wees as woordeboek "cat" gelyk gelyk ware, terugkeer waar. 224 00:10:51,560 --> 00:10:52,580 En dit is al, OK? 225 00:10:52,580 --> 00:10:54,030 >> So jy sien 'n paar verskille. 226 00:10:54,030 --> 00:10:57,940 Daar is geen semi-dubbelpunte hier, want daar was in C. 227 00:10:57,940 --> 00:11:00,710 Maar die algemene idee is baie soortgelyk. 228 00:11:00,710 --> 00:11:02,030 OK? 229 00:11:02,030 --> 00:11:08,010 >> Ook, in Ruby, daar is juwele, wat is soort van die Ruby biblioteke. 230 00:11:08,010 --> 00:11:12,460 En Rails hanteer hulle in 'n baie mooi manier vir jou. 231 00:11:12,460 --> 00:11:15,480 So as jy wil om te sit in sommige biblioteek wat 232 00:11:15,480 --> 00:11:18,670 doen e-pos, of dat doen sms, 233 00:11:18,670 --> 00:11:22,170 of wat nie die integrasie met Facebook, of enige soort van ding 234 00:11:22,170 --> 00:11:24,374 soos wat vir jou inligting, dit is baie, baie maklik. 235 00:11:24,374 --> 00:11:26,790 Kans is kan jy iets vind soos wat op die internet. 236 00:11:26,790 --> 00:11:30,300 En hulle net doen iets soos put wat 237 00:11:30,300 --> 00:11:32,290 juweel wat jy wil gebruik in die steen lêer. 238 00:11:32,290 --> 00:11:33,749 En dan Rails installeer alles. 239 00:11:33,749 --> 00:11:36,456 Jy hoef nie te bekommer oor enige van daardie, so dit is regtig cool. 240 00:11:36,456 --> 00:11:38,500 Ook, daar is baie, baie van die hulp aanlyn. 241 00:11:38,500 --> 00:11:40,485 So kan jy baie dinge vind. 242 00:11:40,485 --> 00:11:42,360 As jy 'n fout, jy kan net google dit, 243 00:11:42,360 --> 00:11:45,090 en dit gaan wees baie maklik om hulp te kry. 244 00:11:45,090 --> 00:11:47,200 >> En dit is 'n baie fun-- exactly-- omdat jy 245 00:11:47,200 --> 00:11:51,420 nie hoef te bekommer oor die lae-vlak besonderhede, implementering van hash tabelle 246 00:11:51,420 --> 00:11:58,080 en met met al vorendag te kom die HTTP-hoofde, en baie van die dinge, 247 00:11:58,080 --> 00:12:00,197 en selfs 'n paar meer hoër vlak dinge. 248 00:12:00,197 --> 00:12:02,030 Jy hoef nie bekommerd te wees oor wat in Rails. 249 00:12:02,030 --> 00:12:04,010 Dit doen dit baie, baie mooi vir jou. 250 00:12:04,010 --> 00:12:07,490 En ons gaan om te wys dat meer konkreet baie gou. 251 00:12:07,490 --> 00:12:08,130 OK. 252 00:12:08,130 --> 00:12:09,750 >> So 'n bietjie oor Ruby weer. 253 00:12:09,750 --> 00:12:11,420 So dit is net soos C, soos ek gesê het. 254 00:12:11,420 --> 00:12:14,170 In plaas van printf, sê ons "Sit", wat "sit string." 255 00:12:14,170 --> 00:12:18,100 Dit plaas 'n string na die konsole. 256 00:12:18,100 --> 00:12:20,601 En in hierdie geval, ons is net druk "Hello World". 257 00:12:20,601 --> 00:12:23,100 Ons nie die hakies moet nie, maar dit is nogal baie soortgelyk. 258 00:12:23,100 --> 00:12:26,190 >> En dan as jy wil hier iets om te doen, 259 00:12:26,190 --> 00:12:30,450 soos druk van 'n klomp van die "kniebroek" en 'n klomp van die "Bigs" in 'n while lus, 260 00:12:30,450 --> 00:12:32,060 dit is soort van soos in C, reg? 261 00:12:32,060 --> 00:12:35,090 Jy het nie die params, maar dit is pretty much dieselfde. 262 00:12:35,090 --> 00:12:37,300 Die inkeping hier tel, so x is gelyk aan 1. 263 00:12:37,300 --> 00:12:41,250 En dan Terwyl x is kleiner as 50-- dit is 'n As, dit is 'n ander nie. 264 00:12:41,250 --> 00:12:42,810 Dit is nogal baie soos wat jy gesien het. 265 00:12:42,810 --> 00:12:47,150 >> En dan x + = 1 is net die verhoog, soort van soos die doen van die ++ wat jy kan 266 00:12:47,150 --> 00:12:50,213 doen in C. Maar dit is redelik veel wat jy in C. gesien 267 00:12:50,213 --> 00:12:52,380 Dit moet nie te ingewikkeld. 268 00:12:52,380 --> 00:12:54,320 Maar dit is meer kragtig. 269 00:12:54,320 --> 00:13:00,100 So is daar 'n paar opdragte hier wat beslis 'n bietjie hoër. 270 00:13:00,100 --> 00:13:05,110 >> So byvoorbeeld, "wan." 271 00:13:05,110 --> 00:13:08,680 Jy kan dit hashtag notasie gebruik hier net druk something-- 272 00:13:08,680 --> 00:13:13,490 pretty much soos wat jy sou doen as die% D of% C of iets soos dit. 273 00:13:13,490 --> 00:13:17,600 En jy kan eintlik sit 'n As reg na die verklaring. 274 00:13:17,600 --> 00:13:21,180 So ek wil net this-- te doen As x is groter as 3. 275 00:13:21,180 --> 00:13:24,129 So hoekom sou ek maak 'n hele As blok? 276 00:13:24,129 --> 00:13:24,670 Ek weet nie. 277 00:13:24,670 --> 00:13:28,880 Ek kan net druk dit slegs As x is gelyk aan meer as 3. 278 00:13:28,880 --> 00:13:32,740 So, dit is 'n een lyn manier van hierdie doen in Ruby. 279 00:13:32,740 --> 00:13:35,570 >> 'N Lys in Ruby is iets baie veelsydig. 280 00:13:35,570 --> 00:13:38,110 Sodat jy nie regtig nodig het net een soort te hê. 281 00:13:38,110 --> 00:13:40,674 Jy kan 'n string het, en dan paar nommers, en wat ook al. 282 00:13:40,674 --> 00:13:42,590 En as jy wil om by te voeg iets aan 'n lys, 283 00:13:42,590 --> 00:13:46,860 jy kan net gebruik om hierdie notasie hier. 284 00:13:46,860 --> 00:13:48,310 >> En as jy wil Itereer. 285 00:13:48,310 --> 00:13:56,200 Pretty much die 4each in PHP, hier, jy het 'n lys en jy doen "List.each doen." 286 00:13:56,200 --> 00:13:59,464 En dit "ELEM," dit is soos die naam van elke element 287 00:13:59,464 --> 00:14:00,880 ek gaan in my lys te hê. 288 00:14:00,880 --> 00:14:03,890 En dan kan ek net "sit ELEM." 289 00:14:03,890 --> 00:14:07,130 En "sit" pretty much handvatsels om dit vir jou, druk dit. 290 00:14:07,130 --> 00:14:09,920 Dit maak nie saak of dit is 'n tou of 'n int. 291 00:14:09,920 --> 00:14:12,790 Dit gaan om dit uit te werk vir jou. 292 00:14:12,790 --> 00:14:14,270 Reg? 293 00:14:14,270 --> 00:14:14,790 Cool. 294 00:14:14,790 --> 00:14:19,980 >> En net soos PHP, Ruby en HTML integreer ook baie, baie mooi. 295 00:14:19,980 --> 00:14:23,340 En hier, daar is 'n paar HTML met Ruby in dit. 296 00:14:23,340 --> 00:14:25,860 So het ons 'n liggaam tag soos in HTML. 297 00:14:25,860 --> 00:14:28,270 En as ons wil om te kyk dat 'n gebruiker is, byvoorbeeld, 298 00:14:28,270 --> 00:14:35,730 aangeteken het, kan ons net sê, begin Ruby, as user.logged_in ?, einde van Ruby. 299 00:14:35,730 --> 00:14:39,240 Druk hierdie hele ding, wat het 'n paar Ruby in dit, wat net 300 00:14:39,240 --> 00:14:42,230 soort van soos wat sintaksis vir PHP dat druk uit 'n veranderlike. 301 00:14:42,230 --> 00:14:43,380 Kom ons druk die user.name. 302 00:14:43,380 --> 00:14:48,870 >> So welkom, Stephen, binnekant van 'n HTML div. 303 00:14:48,870 --> 00:14:53,760 En aan die einde, ons het 'n "einde" en Ruby kode, wat beteken dit is my 304 00:14:53,760 --> 00:14:54,470 As blok. 305 00:14:54,470 --> 00:14:55,060 OK? 306 00:14:55,060 --> 00:14:57,684 So dit is net soos 'n naatlose integrasie tussen Ruby en HTML. 307 00:14:57,684 --> 00:15:00,056 308 00:15:00,056 --> 00:15:01,430 Daar is ook baie van die hulpbronne. 309 00:15:01,430 --> 00:15:06,290 Maar voordat ons beweeg, Het enige iemand enige vrae oor Ruby, enigiets? 310 00:15:06,290 --> 00:15:08,960 OK. 311 00:15:08,960 --> 00:15:12,250 >> Daar is baie van die hulpbronne aanlyn te tryruby.org, Kode Akademie, 312 00:15:12,250 --> 00:15:18,740 ruby-lang.org, waar jy kan probeer om dit op jou browser voordat jy eintlik 313 00:15:18,740 --> 00:15:22,310 sê, o, OK, ek gaan om te gebruik Ruby vir my finale projek. 314 00:15:22,310 --> 00:15:24,020 En so beslis gee diegene probeer. 315 00:15:24,020 --> 00:15:26,510 Al hierdie skyfies gaan aanlyn beskikbaar wees, 316 00:15:26,510 --> 00:15:28,950 sodat jy kan net aflaai. 317 00:15:28,950 --> 00:15:30,115 En ja? 318 00:15:30,115 --> 00:15:31,889 >> GEHOOR: [onhoorbaar] wat jy nou net gewys 319 00:15:31,889 --> 00:15:36,851 is HTML en die kode is ingesluit in dit tot die konsep van Model View 320 00:15:36,851 --> 00:15:37,350 Beheerder? 321 00:15:37,350 --> 00:15:37,610 >> GABRIEL Guimarães: Ja. 322 00:15:37,610 --> 00:15:40,290 Ons sal dit doen in 'n tweede wanneer ons ons voorbeeld, OK? 323 00:15:40,290 --> 00:15:41,290 Dankie vir die vraag. 324 00:15:41,290 --> 00:15:44,760 So die vraag is basies as ons kan hierdie integrasie van Ruby wys 325 00:15:44,760 --> 00:15:49,230 in HTML binne die Model Kyk Controller raamwerk. 326 00:15:49,230 --> 00:15:51,710 >> Dus is die idee van die Model View Controller raamwerk 327 00:15:51,710 --> 00:15:55,740 is dit is basies 'n filosofie, net soos Stephen hier gewys. 328 00:15:55,740 --> 00:15:58,177 En dit is nie iets wat jy hoef te doen, 329 00:15:58,177 --> 00:16:00,510 maar dit is iets wat maak jou lewe soveel makliker. 330 00:16:00,510 --> 00:16:04,170 En Ruby on Rails is gebou rondom hierdie filosofie van die kode. 331 00:16:04,170 --> 00:16:06,320 So ons gaan om te wys 'n voorbeeld baie gou. 332 00:16:06,320 --> 00:16:07,340 >> So Rails is liefde. 333 00:16:07,340 --> 00:16:09,140 Baie van die mense is wat dit gebruik, soos ek gesê het. 334 00:16:09,140 --> 00:16:10,510 En dit is regtig pret. 335 00:16:10,510 --> 00:16:12,360 Julle moet beslis gee dit 'n probeer. 336 00:16:12,360 --> 00:16:15,120 MVC maak alles makliker. 337 00:16:15,120 --> 00:16:18,110 So het die Model View Controller, die skeiding van dinge 338 00:16:18,110 --> 00:16:21,450 en om een ​​persoon, per se, of 'n deel van jou aansoek 339 00:16:21,450 --> 00:16:24,850 elk van die verskillende bane te doen dat jy aansoek te doen. 340 00:16:24,850 --> 00:16:26,676 En minder tyd spandeer op 'n lae-vlak probleme. 341 00:16:26,676 --> 00:16:27,800 En baie gewild op die oomblik. 342 00:16:27,800 --> 00:16:29,917 Ons het Rails 4.0, wat is 'n nuwe weergawe. 343 00:16:29,917 --> 00:16:31,500 En dit kom met 'n baie cool stuff. 344 00:16:31,500 --> 00:16:32,562 Nog 'n vraag. 345 00:16:32,562 --> 00:16:34,490 >> GEHOOR: Nog 'n vraag. 346 00:16:34,490 --> 00:16:39,310 Ruby on Rails versus Ruby on Rails Grails. 347 00:16:39,310 --> 00:16:40,230 >> GABRIEL Guimarães: OK. 348 00:16:40,230 --> 00:16:42,252 Die vraag was, Ruby on Rails versus Ruby-- 349 00:16:42,252 --> 00:16:42,960 GEHOOR: Grails. 350 00:16:42,960 --> 00:16:43,490 Ruby? 351 00:16:43,490 --> 00:16:44,490 >> GABRIEL Guimarães: Ja. 352 00:16:44,490 --> 00:16:45,955 So Ruby is die taal. 353 00:16:45,955 --> 00:16:46,745 >> GEHOOR: No. 354 00:16:46,745 --> 00:16:50,360 Ek vra jou 'n taal te vergelyk en 'n raamwerk, Ruby on Rails, 355 00:16:50,360 --> 00:16:52,975 met 'n ander gewilde taal framework-- Grails-- met Ruby 356 00:16:52,975 --> 00:16:53,310 on Rails. 357 00:16:53,310 --> 00:16:53,720 >> GABRIEL Guimarães: OK. 358 00:16:53,720 --> 00:16:54,480 Jammer. 359 00:16:54,480 --> 00:16:57,390 Die vraag is, te vergelyk Ruby en Ruby on Rails 360 00:16:57,390 --> 00:16:59,750 na 'n ander raamwerk en another-- 361 00:16:59,750 --> 00:17:01,022 >> GEHOOR: Ruby. 362 00:17:01,022 --> 00:17:01,954 Dit is OK. 363 00:17:01,954 --> 00:17:03,820 As jy nie weet nie oor dit, is dit goed. 364 00:17:03,820 --> 00:17:05,359 >> GABRIEL Guimarães: Soos, wat ek verstaan ​​is that-- 365 00:17:05,359 --> 00:17:07,080 >> GEHOOR: Daar is 'n ander raamwerk genoem Grails. 366 00:17:07,080 --> 00:17:07,700 >> GABRIEL Guimarães: Ag, Grails. 367 00:17:07,700 --> 00:17:08,650 Ek het nog nooit gehoor van dit. 368 00:17:08,650 --> 00:17:09,640 Jammer. 369 00:17:09,640 --> 00:17:11,690 Ek het nog nooit gehoor het van Groovy on Rails. 370 00:17:11,690 --> 00:17:12,744 Jammer. 371 00:17:12,744 --> 00:17:14,869 >> GEHOOR: Dis baie beter geïntegreer met Java. 372 00:17:14,869 --> 00:17:15,450 >> GABRIEL Guimarães: Ek sien. 373 00:17:15,450 --> 00:17:17,555 >> GEHOOR: Ek is net nuuskierig oor 'n paar mense wat ek ken like-- 374 00:17:17,555 --> 00:17:20,240 >> GABRIEL Guimarães: Nee, ek het nooit gehoor van die een, ongelukkig. 375 00:17:20,240 --> 00:17:20,700 Grails. 376 00:17:20,700 --> 00:17:21,410 >> GEHOOR: En sommige mense natuurlik soos Ruby on Rails. 377 00:17:21,410 --> 00:17:22,640 >> GABRIEL Guimarães: Ek het gebruik Ruby on Rails 'n baie. 378 00:17:22,640 --> 00:17:24,790 Ek het gewoonlik 'n paar Django met Python, soos ek gesê het. 379 00:17:24,790 --> 00:17:26,329 Ek het gewoonlik 'n paar Laravel. 380 00:17:26,329 --> 00:17:29,490 Maar ek het nie gebruik Groovy on Rails. 381 00:17:29,490 --> 00:17:31,630 Jammer. 382 00:17:31,630 --> 00:17:34,040 En dit is baie gewild nou met Rails 4.0. 383 00:17:34,040 --> 00:17:38,180 Soos sommige van die dinge wat relings doen vir jou, byvoorbeeld, is jy 384 00:17:38,180 --> 00:17:43,650 het baie van die CSS-lêers en baie van die JavaScript-lêers. 385 00:17:43,650 --> 00:17:45,790 En jy kan hulle as behandel afsonderlike en alles. 386 00:17:45,790 --> 00:17:50,010 >> Maar dan is dit automatically-- wanneer jy stuur jou kode te produksie, 387 00:17:50,010 --> 00:17:52,770 dit outomaties stel hulle almal in een enkele lêer 388 00:17:52,770 --> 00:17:55,150 dit is minified sonder enige ruimtes, sodat dit neem 389 00:17:55,150 --> 00:17:59,400 minder ruimte in jou aansoek, so dat jy regtig kan skaal dinge baie. 390 00:17:59,400 --> 00:18:04,380 Dit is waarom sulke groot maatskappye soos Twitter en GitHub 391 00:18:04,380 --> 00:18:10,220 gebruik Rails, omdat dit nie al wat vir jou, wat is regtig cool. 392 00:18:10,220 --> 00:18:12,840 >> Een ding wat baie, baie, baie ontmoedigend 393 00:18:12,840 --> 00:18:18,450 vir mense, insluitend my, wat probeer om te werk 394 00:18:18,450 --> 00:18:22,430 'n raamwerk aan die begin, is dat wanneer jy begin 'n aansoek, 395 00:18:22,430 --> 00:18:24,440 jy gaan 'n klomp van die lêers om te sien. 396 00:18:24,440 --> 00:18:28,460 Soos, wanneer jy ' Relings New, my aansoek 397 00:18:28,460 --> 00:18:31,710 jy gaan al hierdie te sien folders-- app, bin, config, DB, lib, 398 00:18:31,710 --> 00:18:32,482 log, publiek. 399 00:18:32,482 --> 00:18:33,690 Soos baie, baie goed. 400 00:18:33,690 --> 00:18:35,030 >> En die eerste keer dat ek sien dat, ek was soos, 401 00:18:35,030 --> 00:18:36,570 OK, ek het geen idee wat aangaan. 402 00:18:36,570 --> 00:18:38,890 Ek wil net 'n te skep webwerf met "Hello, world," 403 00:18:38,890 --> 00:18:41,730 en dit gee my, soos, 100.000.000.000 verskillende bladsye. 404 00:18:41,730 --> 00:18:43,070 Ek weet nie wat gaan aan. 405 00:18:43,070 --> 00:18:47,460 So moet asseblief nie te afgeskrik deur daardie. 406 00:18:47,460 --> 00:18:53,699 >> Die idee is dat dit eintlik 'n half van 'n huis is daar vir jou reeds. 407 00:18:53,699 --> 00:18:55,490 Dit het 'n hele raamwerk vir jou reeds. 408 00:18:55,490 --> 00:18:56,948 Dit is hoekom daar so baie lêers. 409 00:18:56,948 --> 00:19:00,150 Maar die lekker ding is dat dit skei almal van hulle baie mooi. 410 00:19:00,150 --> 00:19:03,370 Kans is jy nie hoef te bekommer oor die meeste van hierdie dopgehou. 411 00:19:03,370 --> 00:19:05,820 >> Die belangrikste een, ek sou sê, is die app gids, 412 00:19:05,820 --> 00:19:07,147 waar jou app eintlik woon. 413 00:19:07,147 --> 00:19:09,730 So het die config, gaan jy het 'n paar dinge te instel, 414 00:19:09,730 --> 00:19:12,840 soos jou databasis en dinge soos watter soort databasis wat jy gebruik. 415 00:19:12,840 --> 00:19:17,430 Maar anders as dit, soos die meeste van jou werk gaan in app gedoen word. 416 00:19:17,430 --> 00:19:21,620 So in die app, jy het bates, leiers, helpers, mailers, modelle, sienings. 417 00:19:21,620 --> 00:19:24,460 So hier, jy begin sien dat leiers, modelle, en sienings kom 418 00:19:24,460 --> 00:19:25,410 in die spel. 419 00:19:25,410 --> 00:19:27,270 >> Mailers is net as jy wil e-pos te stuur. 420 00:19:27,270 --> 00:19:29,400 Helpers as jy wil skep 'n paar funksies 421 00:19:29,400 --> 00:19:32,050 wat jy gebruik 'n baie in die oog. 422 00:19:32,050 --> 00:19:34,490 So jy sit hulle in helpers. 423 00:19:34,490 --> 00:19:39,000 En bates is basies al jou beelde, al jou CSS, 424 00:19:39,000 --> 00:19:41,200 al jou JavaScript, en soos dié soorte 425 00:19:41,200 --> 00:19:43,110 van die dinge wat gestuur moet raak aan die kliënt. 426 00:19:43,110 --> 00:19:45,500 En alles wat in die bates, dat ek gesê het, kry minified. 427 00:19:45,500 --> 00:19:45,940 Dit is saamgestel. 428 00:19:45,940 --> 00:19:49,189 En jy regtig nie hoef te bekommer oor dat wanneer dit gaan om die produksie-kode. 429 00:19:49,189 --> 00:19:49,770 Cool. 430 00:19:49,770 --> 00:19:54,205 >> Nou Zack gaan om in te kom, en hy is gaan 'n voorbeeld van Twitter50 te doen. 431 00:19:54,205 --> 00:19:54,970 >> GEHOOR: Woo-hoo! 432 00:19:54,970 --> 00:19:56,726 >> ZACK CHAUVIN: Awesome. 433 00:19:56,726 --> 00:20:00,180 So ek het die kans om te werk met Ruby on Rails hierdie somer. 434 00:20:00,180 --> 00:20:01,580 Dit is 'n ongelooflike raamwerk. 435 00:20:01,580 --> 00:20:03,580 Ek is baie gedeeltelike om dit te. 436 00:20:03,580 --> 00:20:09,770 En ek sal net wys jou 'n bietjie van die 'n voorbeeld van wat dit kan lyk. 437 00:20:09,770 --> 00:20:11,020 Spring oor te Chrome. 438 00:20:11,020 --> 00:20:16,350 So, dit is 'n voorbeeld van 'n baie eenvoudige Ruby on Rails application-- iets 439 00:20:16,350 --> 00:20:19,690 soos hierdie is iets dat Ruby regtig uitblink 440 00:20:19,690 --> 00:20:24,070 that-- net waar jou modelle is baie goed-gedefinieerde. 441 00:20:24,070 --> 00:20:27,150 >> In hierdie voorbeeld, sal jy sien twee verskillende modelle, wat 442 00:20:27,150 --> 00:20:30,380 is dat ons gebruikers en ons het tweets. 443 00:20:30,380 --> 00:20:33,480 So, dit is Twitter50, Harvard se eie Twitter. 444 00:20:33,480 --> 00:20:36,820 Soos jy kan sien, is ek aangemeld aszack. 445 00:20:36,820 --> 00:20:38,860 En ek is in staat om nuwe tweets te maak. 446 00:20:38,860 --> 00:20:42,266 So ek think-- "Dit is 'n" - jammer? 447 00:20:42,266 --> 00:20:43,182 GEHOOR: [onhoorbaar]. 448 00:20:43,182 --> 00:20:44,061 ZACK CHAUVIN: O, OK. 449 00:20:44,061 --> 00:20:45,060 Nodig het om die bediener te stop. 450 00:20:45,060 --> 00:20:47,480 Uitstekend. 451 00:20:47,480 --> 00:20:49,630 So hier is ons. 452 00:20:49,630 --> 00:20:52,520 Soos jy kan sien, ons het ons Twitter aansoek reg hier. 453 00:20:52,520 --> 00:20:55,020 En dit is super maklik om die bediener te begin. 454 00:20:55,020 --> 00:20:57,991 Ons sal net doen "relings bediener." 455 00:20:57,991 --> 00:20:58,490 Groot. 456 00:20:58,490 --> 00:20:58,990 OK. 457 00:20:58,990 --> 00:21:00,830 Dankie vir dit. 458 00:21:00,830 --> 00:21:02,200 So nou is ons hardloop. 459 00:21:02,200 --> 00:21:06,120 >> En ons sal sê, "Dit is 'n awesome seminaar. " 460 00:21:06,120 --> 00:21:08,870 En laat ons sien wat gebeur. 461 00:21:08,870 --> 00:21:10,020 So ons sal tweet oor dit. 462 00:21:10,020 --> 00:21:13,390 Af aan die onderkant, kan jy sien nou is daar meer as drie tweets. 463 00:21:13,390 --> 00:21:15,980 So het ons 'n bietjie van pagination aangaan. 464 00:21:15,980 --> 00:21:19,640 En ons het dit tweet. 465 00:21:19,640 --> 00:21:24,010 En ek kan ook soek deur my tweets-- soek vir hierdie en die twee 466 00:21:24,010 --> 00:21:27,960 diegene wat die woord "Hierdie" in hulle opdaag. 467 00:21:27,960 --> 00:21:30,860 Ons kan ook tweets verwyder deur kliek op die klein Uitvee knoppie. 468 00:21:30,860 --> 00:21:36,440 En natuurlik, kan ek net verwyder die pos wat aan my behoort. 469 00:21:36,440 --> 00:21:39,030 >> Reeds, ons het byna die funksionaliteit van Twitter. 470 00:21:39,030 --> 00:21:42,000 Soos, wanneer jy dink oor dit, Twitter regtig nie alles doen wat veel. 471 00:21:42,000 --> 00:21:44,280 Dit het gebruikers, dit het tweets. 472 00:21:44,280 --> 00:21:47,690 Daar is 'n paar meer komplekse funksies. 473 00:21:47,690 --> 00:21:52,960 Maar wanneer jy regtig dit af, dit is nogal 'n eenvoudige Ruby on Rails app. 474 00:21:52,960 --> 00:21:57,560 En iets soos hierdie, met 'n goeie begrip van Ruby on Rails, 475 00:21:57,560 --> 00:22:00,680 Jy kan waarskynlik maak in 'n uur of twee. 476 00:22:00,680 --> 00:22:04,210 >> En wat werklik kom terug na die Ruby mantra, 477 00:22:04,210 --> 00:22:07,540 wat konvensie oor opset. 478 00:22:07,540 --> 00:22:10,965 So terug in die dag, mense, enige tyd hulle wou die webwerf te maak, 479 00:22:10,965 --> 00:22:12,340 sou hê om te begin van nuuts af. 480 00:22:12,340 --> 00:22:13,740 OK, ek wil 'n webwerf te maak. 481 00:22:13,740 --> 00:22:15,970 Kom ons maak hierdie lêer en hierdie lêer en die lêer. 482 00:22:15,970 --> 00:22:19,180 >> Met Ruby on Rails, daar is nie een van daardie. 483 00:22:19,180 --> 00:22:21,170 Jy sê, ek wil 'n nuwe app. 484 00:22:21,170 --> 00:22:25,010 En net soos Gabe het ons dit skep die hele lêer struktuur vir ons. 485 00:22:25,010 --> 00:22:27,490 En ons het net verander die bietjie dele wat ons nodig het om te. 486 00:22:27,490 --> 00:22:31,570 Ons het net pas wat is uniek aan ons jeug. 487 00:22:31,570 --> 00:22:32,250 Cool. 488 00:22:32,250 --> 00:22:38,540 So terug te gaan na die aanbieding preview-- interessant. 489 00:22:38,540 --> 00:22:41,408 490 00:22:41,408 --> 00:22:42,724 Waar lê ek doen? 491 00:22:42,724 --> 00:22:43,640 GEHOOR: Volle skerm. 492 00:22:43,640 --> 00:22:45,715 Bo regs. 493 00:22:45,715 --> 00:22:48,480 >> ZACK CHAUVIN: Uitstekende. 494 00:22:48,480 --> 00:22:48,990 Cool. 495 00:22:48,990 --> 00:22:49,490 OK. 496 00:22:49,490 --> 00:22:51,480 So die eerste van alles, die model. 497 00:22:51,480 --> 00:22:54,100 Stephen het 'n awesome werk van waarin MVC. 498 00:22:54,100 --> 00:22:57,980 En nou gaan ons om met wat terug na Ruby on Rails. 499 00:22:57,980 --> 00:23:00,730 So het die model wat jy kan soort van dink as die databasis. 500 00:23:00,730 --> 00:23:04,870 Jy het al gesien hierdie in CS50 Finansies, waar die model winkels 501 00:23:04,870 --> 00:23:07,590 die inligting oor hoeveel aandele jy het, 502 00:23:07,590 --> 00:23:10,986 of al die transaksies wat jy gemaak het. 503 00:23:10,986 --> 00:23:12,860 Dit is 'n voorbeeld van 'n lyn van hoe jy 504 00:23:12,860 --> 00:23:15,640 gaan oor die maak van 'n nuwe model in Rails. 505 00:23:15,640 --> 00:23:17,102 So ek wil 'n gebruiker. 506 00:23:17,102 --> 00:23:19,060 Dit gaan 'n te hê e-pos, wat is 'n string, 507 00:23:19,060 --> 00:23:20,990 en 'n wagwoord, wat is ook die string. 508 00:23:20,990 --> 00:23:27,150 So dit is soos those-- Ek wil elke ry in my tafel van die gebruikers om te kyk soos dit. 509 00:23:27,150 --> 00:23:30,730 >> 'N awesome deel oor Rails is dat dit 510 00:23:30,730 --> 00:23:33,755 maak dit onnodig om skryf 'n SQL pretty much. 511 00:23:33,755 --> 00:23:38,640 Hoeveel van julle ouens lief skryf SQL in PSET 7? 512 00:23:38,640 --> 00:23:39,770 Presies. 513 00:23:39,770 --> 00:23:41,840 SQL is nie baie gebruikersvriendelik. 514 00:23:41,840 --> 00:23:46,470 En Rails abstraheer alles wat weg met hierdie baie maklik bevele. 515 00:23:46,470 --> 00:23:51,580 So byvoorbeeld, as ons 'n gebruiker, 'n gebruiker het baie tweets. 516 00:23:51,580 --> 00:23:56,580 En elkeen van daardie tweets behoort aan 'n gebruiker. 517 00:23:56,580 --> 00:23:59,520 >> So as jy hier, hierdie kyk is ons model vir ons tweet. 518 00:23:59,520 --> 00:24:02,750 En al wat ons het om te sê, is hierdie enkele line-- Ek is 'n tweet 519 00:24:02,750 --> 00:24:05,090 en ek behoort aan 'n gebruiker. 520 00:24:05,090 --> 00:24:10,160 En met daardie enkele lyn en 'n bietjie databasis opset, 521 00:24:10,160 --> 00:24:12,990 Relings stel hierdie verhouding. 522 00:24:12,990 --> 00:24:17,450 Anytime, kan ek net sê, zack.tweets, soos, gee my al Zack tweets. 523 00:24:17,450 --> 00:24:19,420 Geen SQL. 524 00:24:19,420 --> 00:24:20,040 Super maklik. 525 00:24:20,040 --> 00:24:26,580 Weereens, dit is konvensie oor opset kom in die spel. 526 00:24:26,580 --> 00:24:29,770 >> Jy kan 'n bietjie sien van 'n voorbeeld van Ruby hier. 527 00:24:29,770 --> 00:24:32,740 Soos gegee het, skryf Ruby is soort van soos die skryf van Engels. 528 00:24:32,740 --> 00:24:35,540 Dit is 'n baie hoë-vlak taal, en dit maak dit baie maklik 529 00:24:35,540 --> 00:24:42,380 vir ons dinge soos om te sê, ek wil maak seker dat hierdie tweet het 'n liggaam. 530 00:24:42,380 --> 00:24:43,740 Sy teenwoordigheid is waar. 531 00:24:43,740 --> 00:24:47,170 En ek wil om seker te maak dat dit maak tweet, net soos normale Twitter, 532 00:24:47,170 --> 00:24:49,020 het 'n maksimum lengte van 140. 533 00:24:49,020 --> 00:24:52,800 Dit is super-intuïtief, 'n werklik 'n groot taal. 534 00:24:52,800 --> 00:24:54,590 >> Volgende op ons het die uitsig. 535 00:24:54,590 --> 00:24:57,510 So dit behels HTML en CSS. 536 00:24:57,510 --> 00:25:00,490 En hier is 'n voorbeeld van 'n oog. 537 00:25:00,490 --> 00:25:05,600 So Ruby on Rails soort moeiteloos integreer beide Ruby en HTML 538 00:25:05,600 --> 00:25:08,880 ten einde te genereer wat ons wil op die bladsy. 539 00:25:08,880 --> 00:25:11,380 So, dit is 'n voorbeeld van ons uitleg. 540 00:25:11,380 --> 00:25:15,710 Sodat jy kan sien 'n paar etikette wat jy ouens gebruik om, soos HTML, liggaam, 541 00:25:15,710 --> 00:25:17,250 almal wat goeie dinge. 542 00:25:17,250 --> 00:25:21,760 >> En reg is in hier, al is, ons inkorporeer sommige Ruby deur te sê, 543 00:25:21,760 --> 00:25:25,390 As daar is 'n boodskap te vertoon, vertoon dan die boodskap in 'n div. 544 00:25:25,390 --> 00:25:28,060 So ek sal nie te veel in dit. 545 00:25:28,060 --> 00:25:31,190 Maar dit is in die algemeen 'n bladsy wat gelewer kry on-- 546 00:25:31,190 --> 00:25:33,960 en maak nie saak watter bladsy jy op, kry hierdie een gelewer. 547 00:25:33,960 --> 00:25:38,110 So dit is wat kry altyd ingesluit. 548 00:25:38,110 --> 00:25:38,980 Cool. 549 00:25:38,980 --> 00:25:42,730 >> Nog 'n voorbeeld van 'n view-- dit is die een waar dit gekies het al die tweets. 550 00:25:42,730 --> 00:25:45,630 En 'n paar van hierdie dinge kan lyk redelik vertroud. 551 00:25:45,630 --> 00:25:50,050 So byvoorbeeld, reg hier, ons is herhaling deur elk van die tweets, 552 00:25:50,050 --> 00:25:51,960 en ons druk hulle uit. 553 00:25:51,960 --> 00:25:54,320 So hier is waar ons druk die liggaam. 554 00:25:54,320 --> 00:26:00,910 En as die tweet se user-- hier is 'n werklike voorbeeld van geen SQL is betrokke. 555 00:26:00,910 --> 00:26:04,390 Ek vra maar net, is dit tweet se gebruiker die huidige gebruiker? 556 00:26:04,390 --> 00:26:06,030 Dan wys 'n skakel om dit te verwyder. 557 00:26:06,030 --> 00:26:06,880 Dit is super maklik. 558 00:26:06,880 --> 00:26:09,670 559 00:26:09,670 --> 00:26:10,920 >> Die beheerder. 560 00:26:10,920 --> 00:26:14,390 So, dit is, weer, die koppelvlak tussen die model en die uitsig. 561 00:26:14,390 --> 00:26:17,820 Dit is die een wat nie die harde werk van interacting-- synde die middelman. 562 00:26:17,820 --> 00:26:20,980 Dit vragte inligting vir die sien, wat ons sal sien in 'n sekonde. 563 00:26:20,980 --> 00:26:23,850 En om te kommunikeer met die model, is dit 564 00:26:23,850 --> 00:26:29,170 noem model metodes, wat is wat julle is vertroud as funksies. 565 00:26:29,170 --> 00:26:31,490 >> So byvoorbeeld, is dit ons tweet se beheerder. 566 00:26:31,490 --> 00:26:33,930 Dit kan lyk 'n bietjie ontmoedigend nou. 567 00:26:33,930 --> 00:26:38,240 Maar dit is eintlik super intuïtief sodra jy begin duik in. 568 00:26:38,240 --> 00:26:42,990 So byvoorbeeld, in ons indeks, wat waar ons wil al die tweets te wys. 569 00:26:42,990 --> 00:26:46,910 En so hierdie lyn basies net vra vir al die tweets. 570 00:26:46,910 --> 00:26:50,300 En dan het ons inisialiseer beide die nuwe tweet-- so soos 571 00:26:50,300 --> 00:26:52,320 as hulle wil 'n te skep nuwe tweet op daardie bladsy. 572 00:26:52,320 --> 00:26:54,250 >> En dit vra wat die huidige gebruiker. 573 00:26:54,250 --> 00:26:58,850 En dit is baie soortgelyk aan die lewer dat jy in PSET 7 sien, 574 00:26:58,850 --> 00:27:02,230 waar dit is net 'n soort van vertel die view-- dit is soort van soos, 575 00:27:02,230 --> 00:27:06,284 verby die veranderlikes wat jy gaan nodig in die oog op die oog. 576 00:27:06,284 --> 00:27:08,200 En daar is 'n hele klomp van verskillende metodes 577 00:27:08,200 --> 00:27:10,410 dat hierdie tweet se beheerder kan hanteer. 578 00:27:10,410 --> 00:27:12,495 >> Maar regtig, Rails doen 'n groot taak van die soort 579 00:27:12,495 --> 00:27:18,910 verdeel hulle in die verskillende aksies wat jou kontroleerder kan doen. 580 00:27:18,910 --> 00:27:23,800 Is daar enige vrae oor enige van die MVC dele van Rails? 581 00:27:23,800 --> 00:27:25,550 Soort van net 'n briesie deur. 582 00:27:25,550 --> 00:27:29,250 So julle ouens kan kyk dit uit op jou eie. 583 00:27:29,250 --> 00:27:30,106 Awesome. 584 00:27:30,106 --> 00:27:31,200 Ons sal hou. 585 00:27:31,200 --> 00:27:32,546 >> So installeer Rails. 586 00:27:32,546 --> 00:27:35,170 Installering Rails kan wees, soos, een van die meer uitdagende dele 587 00:27:35,170 --> 00:27:37,830 van die hele Rails proses, ongelukkig. 588 00:27:37,830 --> 00:27:40,450 Maar natuurlik, almal van ons is om te help. 589 00:27:40,450 --> 00:27:42,590 En as dit eers op daar, 'n baie groot hulpbronne, 590 00:27:42,590 --> 00:27:45,100 as Gabe vermeld vir die slag. 591 00:27:45,100 --> 00:27:47,230 Hier is die skakels wat wat jy nodig het om 592 00:27:47,230 --> 00:27:51,460 Rails te laai om dit te kry geïnstalleer op jou rekenaar. 593 00:27:51,460 --> 00:27:54,240 Dit is duidelik dat, dit is beskikbaar vir beide Windows en Mac 594 00:27:54,240 --> 00:27:55,600 en vir die CS50 toestel. 595 00:27:55,600 --> 00:27:58,520 596 00:27:58,520 --> 00:28:00,020 Vrae oor enigiets wat ons gesê het? 597 00:28:00,020 --> 00:28:04,265 598 00:28:04,265 --> 00:28:06,690 >> GEHOOR: Ek sou wees belangstel, actually-- 599 00:28:06,690 --> 00:28:10,255 so ek weet dat die aflaai sagteware is die grootste struikelblok. 600 00:28:10,255 --> 00:28:14,807 As daar genoeg belangstelling n te hê aflaai mini-sessie of iets. 601 00:28:14,807 --> 00:28:15,640 ZACK CHAUVIN: MM-hm. 602 00:28:15,640 --> 00:28:15,692 Ja. 603 00:28:15,692 --> 00:28:16,900 Dit kan werklik nuttig. 604 00:28:16,900 --> 00:28:20,650 As iemand is regtig gung-ho oor gebruik van hierdie vir hul projek 605 00:28:20,650 --> 00:28:26,555 of in die toekoms, dan is ons beslis wil gelukkig wees om met jou te praat oor dit. 606 00:28:26,555 --> 00:28:27,055 Mm-hm. 607 00:28:27,055 --> 00:28:29,530 >> GEHOOR: 'n verwante vraag na wat ek gevra het nie. 608 00:28:29,530 --> 00:28:32,563 Vir dié van julle wat dit gedoen het ander raamwerke wat nog 609 00:28:32,563 --> 00:28:34,354 probeer om dieselfde te doen ding, maak dit makliker 610 00:28:34,354 --> 00:28:38,452 'n webwerf of 'n te bou funksie, ek dink enige sin 611 00:28:38,452 --> 00:28:43,653 waarom sou ons on Rails versus Stuur of sommige van die ander raamwerke 612 00:28:43,653 --> 00:28:44,236 en tale. 613 00:28:44,236 --> 00:28:47,870 >> ZACK CHAUVIN: Ek sal net sê my $ 0,02 oor dat. 614 00:28:47,870 --> 00:28:49,090 Ek is mal Ruby on Rails. 615 00:28:49,090 --> 00:28:52,120 Ek het die kans om te werk moes in beide PHP en Ruby on Rails. 616 00:28:52,120 --> 00:28:55,291 Ek het baie verkies Ruby on Relings gevolg van Ruby. 617 00:28:55,291 --> 00:28:56,790 Beslis, dit is 'n groot deel van dit. 618 00:28:56,790 --> 00:28:58,140 Soos, wanneer jy die keuse van jou raamwerk, 619 00:28:58,140 --> 00:28:59,490 jy ook kies om jou taal. 620 00:28:59,490 --> 00:29:03,510 >> Ruby is super accessible-- Ek dink 'n baie beter taal as PHP. 621 00:29:03,510 --> 00:29:06,250 Maar dit is soort van persoonlike voorkeur. 622 00:29:06,250 --> 00:29:09,360 Sowel, 'n ander oorweging is die gemeenskap agter die raamwerk 623 00:29:09,360 --> 00:29:11,570 dat jy werk met. 624 00:29:11,570 --> 00:29:13,840 >> Nou Ruby on Rails is baie warm. 625 00:29:13,840 --> 00:29:16,160 Daar is ton van die steun agter dit. 626 00:29:16,160 --> 00:29:19,180 Jy na iets op Stack Oorloop oor 'n probleem is jy 627 00:29:19,180 --> 00:29:22,350 en sy het in Ruby on Rails, en dit is nie. 628 00:29:22,350 --> 00:29:26,900 Weereens, dit is open source, wat beteken dat dit voortdurend verander. 629 00:29:26,900 --> 00:29:28,910 Daar is ton van die mense wat werklik toegewy 630 00:29:28,910 --> 00:29:32,370 ten einde te maak dit 'n regtig awesome raamwerk. 631 00:29:32,370 --> 00:29:34,225 So dit is waarom ek wil kies Ruby on Rails. 632 00:29:34,225 --> 00:29:35,225 GABRIEL Guimarães: Ja. 633 00:29:35,225 --> 00:29:37,562 Ek sou sê dat die idee agter die meeste raamwerke jy 634 00:29:37,562 --> 00:29:39,770 gaan vind uit daar baie, baie soortgelyk, reg? 635 00:29:39,770 --> 00:29:42,210 So het die Model View Controller, die feit dat ons kontroleerder se 636 00:29:42,210 --> 00:29:44,793 gaan lyk soos iets soos this-- elk van die funksies 637 00:29:44,793 --> 00:29:47,235 is soos een van jou bladsye, en dit aansture jou, 638 00:29:47,235 --> 00:29:48,750 en dit initialisatie die veranderlikes. 639 00:29:48,750 --> 00:29:51,959 Dit gaan dieselfde ding wees vir elke raamwerk wat jy sien daar buite. 640 00:29:51,959 --> 00:29:53,375 En daar gaan die model te wees. 641 00:29:53,375 --> 00:29:55,270 En jy kan dinge doen soos, "behoort." 642 00:29:55,270 --> 00:29:59,830 So in plaas van om die SQL weergawe, jy net, soos, doen, user.tweets, 643 00:29:59,830 --> 00:30:01,210 en jy alles. 644 00:30:01,210 --> 00:30:02,650 Almal het dit. 645 00:30:02,650 --> 00:30:07,070 Behalwe in Ruby, jy doen user.tweets, en dan 'n paar raamwerke in PHP, 646 00:30:07,070 --> 00:30:12,010 jy doen user.getalltweets Waar my PHP is nie 'n probleem nie. 647 00:30:12,010 --> 00:30:13,460 Soos dit is 'n groot lyn. 648 00:30:13,460 --> 00:30:15,320 Dit is dieselfde ding, maar dit is 'n groot lyn. 649 00:30:15,320 --> 00:30:19,350 >> So dit is een van die vernaamste redes van my voorkeure oor Ruby. 650 00:30:19,350 --> 00:30:22,290 Dit is net ek presies doen dieselfde ding in ander raamwerke, 651 00:30:22,290 --> 00:30:26,021 Dit neem my net twee keer solank reëls van die kode. 652 00:30:26,021 --> 00:30:26,520 OK? 653 00:30:26,520 --> 00:30:29,730 654 00:30:29,730 --> 00:30:32,540 >> Enige ander vrae? 655 00:30:32,540 --> 00:30:35,200 >> ZACK CHAUVIN: Iets Ek sal praat quickly-- Gabe 656 00:30:35,200 --> 00:30:36,682 gepraat 'n bietjie oor juwele. 657 00:30:36,682 --> 00:30:39,890 En dit is 'n baie great-- Ek bedoel, dit is 'n soort van algemeen aan alle raamwerke, 658 00:30:39,890 --> 00:30:45,170 dat daar is soort van 'n juweel konsep, Dit is soos in my klein voorbeeld, 659 00:30:45,170 --> 00:30:46,680 Ek het nie ingeteken nie. 660 00:30:46,680 --> 00:30:48,460 Soos jy kan inteken, inteken uit. 661 00:30:48,460 --> 00:30:51,740 Soos, wat eintlik soort van 'n komplekse proses. 662 00:30:51,740 --> 00:30:55,950 Dit is 'n bietjie hanteer bietjie vir jou in PSET 7. 663 00:30:55,950 --> 00:31:01,160 Maar ek het nog nie ten volle weet hoe teken-in, teken-out te implementeer. 664 00:31:01,160 --> 00:31:03,740 En dit is omdat Ruby on Rails het ton 665 00:31:03,740 --> 00:31:06,080 van juwele wat doen dinge soos dit vir jou. 666 00:31:06,080 --> 00:31:08,550 >> Weereens, konvensie oor opset. 667 00:31:08,550 --> 00:31:11,050 Almal gaan om te doen hierdie teken-in, teken-out stap. 668 00:31:11,050 --> 00:31:14,450 So hoekom nie net 'n pakket, genoem Bedink in hierdie geval, wat is 'n juweel. 669 00:31:14,450 --> 00:31:15,810 Jy sluit dit net. 670 00:31:15,810 --> 00:31:18,970 En dan is daar 'n paar help aanlyn met hoe om dit te gebruik. 671 00:31:18,970 --> 00:31:21,230 En jy hoef nie te bekommer oor iets soos dit. 672 00:31:21,230 --> 00:31:24,060 >> Heg foto's op hierdie things-- 'n juweel vir daardie. 673 00:31:24,060 --> 00:31:27,220 Soos, wanneer jy probeer om te doen iets nuuts, daar is 'n juweel vir daardie. 674 00:31:27,220 --> 00:31:29,420 En jy soort van net stuk saam die juwele 675 00:31:29,420 --> 00:31:33,160 en die bou van 'n baie komplekse aansoek baie vinnig. 676 00:31:33,160 --> 00:31:35,902 677 00:31:35,902 --> 00:31:37,437 Cool. 678 00:31:37,437 --> 00:31:38,270 Enige ander vrae? 679 00:31:38,270 --> 00:31:39,623 >> STEPHEN tulband: Woo-hoo. 680 00:31:39,623 --> 00:31:40,976 Ek dink nie [onhoorbaar]. 681 00:31:40,976 --> 00:31:41,966 >> GABRIEL Guimarães: OK. 682 00:31:41,966 --> 00:31:42,840 Baie dankie, ouens. 683 00:31:42,840 --> 00:31:43,839 >> STEPHEN tulband: UVCB-bye. 684 00:31:43,839 --> 00:31:44,850 ZACK CHAUVIN: UVCB-bye. 685 00:31:44,850 --> 00:31:45,849 >> STEPHEN tulband: Woo-hoo. 686 00:31:45,849 --> 00:31:48,150 [Applous] 687 00:31:48,150 --> 00:31:49,700 >> Yay. 688 00:31:49,700 --> 00:31:50,955