1 00:00:00,000 --> 00:00:03,968 >> [MUZIKO Ludante] 2 00:00:03,968 --> 00:00:10,744 3 00:00:10,744 --> 00:00:14,040 >> Stephen turbano: Do ​​mi estas Stephen turbano. 4 00:00:14,040 --> 00:00:16,990 Trans la flanko ĉi tie, eble ni povas akiri iuj personoj bucear en. 5 00:00:16,990 --> 00:00:20,150 6 00:00:20,150 --> 00:00:23,854 Ni havas Gabriel kaj Zack. 7 00:00:23,854 --> 00:00:26,270 Do por mallonga vojmapon sur kio ĉi tuj aspekti, 8 00:00:26,270 --> 00:00:31,580 Mi tuj faros kelkajn ekstreme altnivela rigardi kion MVC estas. 9 00:00:31,580 --> 00:00:32,285 Gabe? 10 00:00:32,285 --> 00:00:35,080 >> GABRIEL Guimaraes: Mi iras al paroli pri Ruby kaj iomete 11 00:00:35,080 --> 00:00:39,100 kiom Rails verkoj kaj kiel ĝi povas esti helpi vin konstrui TTT aplikoj. 12 00:00:39,100 --> 00:00:42,070 >> Zack Chauvin: Kaj mi tuj montri vin specifa ekzemplo de kiel 13 00:00:42,070 --> 00:00:45,112 uzi Rails konstrui super awesome app. 14 00:00:45,112 --> 00:00:46,112 Stephen turbano: Awesome. 15 00:00:46,112 --> 00:00:46,350 Dolĉa. 16 00:00:46,350 --> 00:00:46,850 Bone. 17 00:00:46,850 --> 00:00:49,510 Do ni parolu pri MVC. 18 00:00:49,510 --> 00:00:54,970 Do ni iru al la proksima glito, kio Mi faros premante la butonon. 19 00:00:54,970 --> 00:01:12,640 Kaj ni iru al la next-- disvolviĝo, Mi ŝatas pensi tuj CVS, 20 00:01:12,640 --> 00:01:17,240 ĉar CVS estas vendejo kaj Ankaŭ havas V en la centro. 21 00:01:17,240 --> 00:01:21,460 >> Do imagu al vendejo. 22 00:01:21,460 --> 00:01:25,380 Kaj ni akiru ĉi vendejo vendi nur unu aferon. 23 00:01:25,380 --> 00:01:31,380 Do ni tuj havos ĉi stoki nur vendi tiujn ruĝajn tasoj. 24 00:01:31,380 --> 00:01:40,410 Kaj imagu vi iradu en, kaj vi iru al la fronto de la vendejo, kaj persono. 25 00:01:40,410 --> 00:01:43,440 Kaj lia nomo estas Vince. 26 00:01:43,440 --> 00:01:48,370 >> Kaj Vince ondoj saluton ĉe vi, diras hi. 27 00:01:48,370 --> 00:01:50,860 Kaj vi rimarkas ion pri Vince. 28 00:01:50,860 --> 00:01:56,880 Do kiam ajn ni pensu pri Vince, ni Necesos pripensi du ŝlosilaj adjektivoj. 29 00:01:56,880 --> 00:02:00,600 Vince estas bela, sed li estas malsaĝa. 30 00:02:00,600 --> 00:02:01,320 Akcepti. 31 00:02:01,320 --> 00:02:06,810 Vi do scias, nenian kulpon de siaj propraj, Bedaŭrinde, li estas bela. 32 00:02:06,810 --> 00:02:08,009 Li estas nia vido. 33 00:02:08,009 --> 00:02:10,539 Do nia unua elenco membro estas tie. 34 00:02:10,539 --> 00:02:12,340 Konservu ke en menso. 35 00:02:12,340 --> 00:02:17,230 >> Nun, vi demandas Vince, vi iru, hey Vince. 36 00:02:17,230 --> 00:02:18,110 Mi estas kliento. 37 00:02:18,110 --> 00:02:19,130 Li diras hi. 38 00:02:19,130 --> 00:02:23,610 Mi vere volas unu el viaj ruĝaj tasoj. 39 00:02:23,610 --> 00:02:24,760 Kaj kion signifas Vince diri? 40 00:02:24,760 --> 00:02:26,510 Ĉu iu havas iun ideon kio Vince diras? 41 00:02:26,510 --> 00:02:30,340 42 00:02:30,340 --> 00:02:31,452 Mi iras al malvarma alvoko. 43 00:02:31,452 --> 00:02:32,660 Kion vi pensas Vince diras? 44 00:02:32,660 --> 00:02:36,139 >> Publiko: Li diras: Mi povas montri vin kie ĝi estas, sed mi ne povas doni vin unu. 45 00:02:36,139 --> 00:02:41,330 >> Stephen turbano: Li diras: Mi povas montri vin kie ĝi estas, sed mi ne povas doni vin unu. 46 00:02:41,330 --> 00:02:42,295 Eĉ pli malbone. 47 00:02:42,295 --> 00:02:44,420 Ajnulo havas alian ideon kio Vince povus diri? 48 00:02:44,420 --> 00:02:46,957 >> Publiko: Li devas iri ĉeko se ili havis neniu ruĝa tasoj. 49 00:02:46,957 --> 00:02:49,290 Stephen turbano: Vince ne eĉ scias ke li devas kontroli. 50 00:02:49,290 --> 00:02:50,070 Ion alian? 51 00:02:50,070 --> 00:02:52,360 Do vi diris, devas kontrolu se li havas ruĝan tasoj. 52 00:02:52,360 --> 00:02:52,895 Konduku. 53 00:02:52,895 --> 00:02:54,020 Publiko: Kio ruĝan tason? 54 00:02:54,020 --> 00:02:56,072 Stephen turbano: Kio ruĝan tason? 55 00:02:56,072 --> 00:02:58,090 Kio ruĝan tason? 56 00:02:58,090 --> 00:02:59,410 Vince estas konfuzita. 57 00:02:59,410 --> 00:03:05,141 Do Vince tuj paroli kun nia flanko elenco membro, Carl. 58 00:03:05,141 --> 00:03:10,252 Kiam ni pensas pri Carl, ni Gotta pensi du grandaj adjectives-- 59 00:03:10,252 --> 00:03:15,110 li estas kontrolo, sed li estas nekapabla. 60 00:03:15,110 --> 00:03:17,840 >> Do Vince goes-- li iras, kio estas ruĝa tason? 61 00:03:17,840 --> 00:03:19,800 Mi ne scias kion ruĝa kaliko estas. 62 00:03:19,800 --> 00:03:23,080 Li turnas ĉirkaŭe kaj li demandas Carl. 63 00:03:23,080 --> 00:03:28,890 Li diras, Carl, iu petis ruĝan tason. 64 00:03:28,890 --> 00:03:30,722 Ĉu vi povas fari tion? 65 00:03:30,722 --> 00:03:31,680 Kaj kion signifas Carl diri? 66 00:03:31,680 --> 00:03:32,513 Sed ni provu ĝin. 67 00:03:32,513 --> 00:03:34,330 Ĉu iu havas iun ideon kion Carl diras? 68 00:03:34,330 --> 00:03:37,260 Kaj mi simple ripeti ĝin reen al vi. 69 00:03:37,260 --> 00:03:39,280 Mi vidis manon movado. 70 00:03:39,280 --> 00:03:41,760 >> Publiko: Li diras al iu alie akiri la ruĝan tasoj. 71 00:03:41,760 --> 00:03:44,430 >> Stephen turbano: Li diras al iu alia por akiri la ruĝan tason. 72 00:03:44,430 --> 00:03:46,270 Trafe. 73 00:03:46,270 --> 00:03:49,010 Kaj ĉu ni havas ideon kiu tiu persono povus esti? 74 00:03:49,010 --> 00:03:52,590 75 00:03:52,590 --> 00:03:53,090 Estas aludo. 76 00:03:53,090 --> 00:03:56,960 Iĝos starti kun M. Mob? 77 00:03:56,960 --> 00:04:00,225 >> Publiko: Modelo. 78 00:04:00,225 --> 00:04:02,720 >> Stephen turbano: La modelo, jes. 79 00:04:02,720 --> 00:04:06,920 Lia nomo ne estas modelo, bedaŭrinde, ĉar tio estas stulta nomo. 80 00:04:06,920 --> 00:04:09,310 Ni havas Mitt. 81 00:04:09,310 --> 00:04:12,970 Kiam ni pensas pri Mitt-- ne, tio ne estas bildo de Zack. 82 00:04:12,970 --> 00:04:15,590 83 00:04:15,590 --> 00:04:21,759 Ni devas pensi pri du ŝlosilo adjektivoj kun Mitt. 84 00:04:21,759 --> 00:04:25,040 Li estas kapabla, sed li estas obeema. 85 00:04:25,040 --> 00:04:29,950 Do Mitt scias kion li devas fari, sed li vere ne povas fari nenion. 86 00:04:29,950 --> 00:04:32,340 Aŭ li vere ne povas decidi sur lia propra. 87 00:04:32,340 --> 00:04:33,256 >> Do ni havas Carl. 88 00:04:33,256 --> 00:04:34,705 Carl krias ĉe Mitt. 89 00:04:34,705 --> 00:04:39,990 Kaj li diras, hey Mitt, ni bezonas ruĝan tasoj. 90 00:04:39,990 --> 00:04:46,410 Kaj Mitt iras al sia ruĝa taso deponejo. 91 00:04:46,410 --> 00:04:48,960 Ĝi kroĉas tason, kaj li donas ĝin reen. 92 00:04:48,960 --> 00:04:51,360 Ĉu iu havas iun ideon kio okazas tiam? 93 00:04:51,360 --> 00:04:54,070 94 00:04:54,070 --> 00:04:55,120 Donas la taso. 95 00:04:55,120 --> 00:05:01,740 Ĝis nun Mitt iris al sia ruĝa Taso-deponejo, forprenis gxin el, 96 00:05:01,740 --> 00:05:03,550 kontrolis ĝin, diris: Mi prenis unu ruĝan tason. 97 00:05:03,550 --> 00:05:06,717 Kaj li donos gxin al Carl. 98 00:05:06,717 --> 00:05:07,550 Ĉu vi havas ideon? 99 00:05:07,550 --> 00:05:08,980 Kion vi pensas Carl faras? 100 00:05:08,980 --> 00:05:10,926 >> Publiko: Carl donas ĝin al Vince. 101 00:05:10,926 --> 00:05:13,550 >> Stephen turbano: Carl donas ĝin al Vince. 102 00:05:13,550 --> 00:05:14,165 Vince. 103 00:05:14,165 --> 00:05:15,999 >> Publiko: Kaj Vince montras ĝin al [inaudible]. 104 00:05:15,999 --> 00:05:16,998 Stephen turbano: Ekzakte. 105 00:05:16,998 --> 00:05:18,080 Do tio estas ĝuste tio. 106 00:05:18,080 --> 00:05:21,040 Do Vince prenas la tason, eĉ ne scias kion estas, 107 00:05:21,040 --> 00:05:23,840 sed li montras ĝin al la uzanto. 108 00:05:23,840 --> 00:05:27,140 Do ni provu rekrei tiu vere mallonge. 109 00:05:27,140 --> 00:05:31,380 Kaj ni estas gonna bezono tri silentaj volontuloj, 110 00:05:31,380 --> 00:05:35,260 kiel vi uloj ne tuj por povi paroli. 111 00:05:35,260 --> 00:05:36,470 Do mi povus ekpreni tri? 112 00:05:36,470 --> 00:05:37,040 Akcepti. 113 00:05:37,040 --> 00:05:38,248 Kaj kiu vi ŝatus esti? 114 00:05:38,248 --> 00:05:42,310 115 00:05:42,310 --> 00:05:43,750 >> Publiko: Mi estos Vince. 116 00:05:43,750 --> 00:05:44,960 >> Stephen turbano: Vince, OK. 117 00:05:44,960 --> 00:05:46,190 Bela sed stulta. 118 00:05:46,190 --> 00:05:47,510 Granda. 119 00:05:47,510 --> 00:05:48,570 Ajnulo? 120 00:05:48,570 --> 00:05:53,520 Ni serĉas kapabla sed submetitaj. 121 00:05:53,520 --> 00:05:55,760 Iu alia volas esti kapabla? 122 00:05:55,760 --> 00:05:56,944 >> Publiko: mi povus esti Carl. 123 00:05:56,944 --> 00:05:57,860 Stephen turbano: Dolĉa. 124 00:05:57,860 --> 00:05:59,102 Ni havas Carl. 125 00:05:59,102 --> 00:05:59,866 >> Publiko: Mitt. 126 00:05:59,866 --> 00:06:01,050 >> Stephen turbano: Mitt, OK. 127 00:06:01,050 --> 00:06:05,070 Kaj ni tuj bezonas a-- mi estos la kliento. 128 00:06:05,070 --> 00:06:07,460 Do venu, venu supren. 129 00:06:07,460 --> 00:06:10,470 Kaj estas ĉiuj konsiderante? 130 00:06:10,470 --> 00:06:15,440 Do Mi tuj demandas Vince al stari en la fronto, nur ridetas, 131 00:06:15,440 --> 00:06:18,230 nur ridetante tiel brila kiel ebla. 132 00:06:18,230 --> 00:06:21,520 Kaj ni iras, por demandi Carl, Bone, kial ne vi, kiel, 133 00:06:21,520 --> 00:06:24,050 staras rekte malantaŭ ŝi? 134 00:06:24,050 --> 00:06:26,660 Kaj Mitt, kial vi ne nur pafis en la dorso, 135 00:06:26,660 --> 00:06:31,410 kaj tiam Mi donos al vi unu grupo de tasoj por pendi evi. 136 00:06:31,410 --> 00:06:34,170 >> Do mi estas kliento. 137 00:06:34,170 --> 00:06:35,610 Mi venas. 138 00:06:35,610 --> 00:06:40,490 Kaj Mi faros [inaudible] mi diru hi, mi ŝatus tason. 139 00:06:40,490 --> 00:06:43,214 140 00:06:43,214 --> 00:06:44,580 Perfekta. 141 00:06:44,580 --> 00:06:45,580 Do Vince havas ideon. 142 00:06:45,580 --> 00:06:46,915 Do kion signifas Vince faru? 143 00:06:46,915 --> 00:06:50,770 144 00:06:50,770 --> 00:06:52,860 Vince-- OK, do mi iros esti rakonti nun. 145 00:06:52,860 --> 00:06:55,390 >> Vince krias ĉe Carl, kaliko! 146 00:06:55,390 --> 00:06:58,840 147 00:06:58,840 --> 00:07:00,790 Kion Carl faros? 148 00:07:00,790 --> 00:07:03,910 Carl krias ĉe Mitt. 149 00:07:03,910 --> 00:07:06,710 Mitt kroĉas tason. 150 00:07:06,710 --> 00:07:08,220 Mitt donas ĝin al Carl. 151 00:07:08,220 --> 00:07:10,870 Carl revenas al Vince. 152 00:07:10,870 --> 00:07:12,640 Kaj Vince montras ĝin al la uzanto. 153 00:07:12,640 --> 00:07:17,960 >> Kaj tio estas alta, alta, altaj, tiel alta rigardi MVC. 154 00:07:17,960 --> 00:07:22,460 Ni dividu por havi vidon, kion la uzanto vidas, controlador, iu 155 00:07:22,460 --> 00:07:25,760 kiu faras ĉion en la fono sed vere ne povas ĝisdatigi ion 156 00:07:25,760 --> 00:07:29,960 aŭ ne povas fari ion ajn signifon krom nomante la vido kaj la modelon. 157 00:07:29,960 --> 00:07:35,280 Kaj tiam ni havas Mitt, la modelo, kiuj ĝisdatigas ajn datumojn ni havas. 158 00:07:35,280 --> 00:07:42,660 Do dankon tiel por nia bela, kontroli, kaj kapablaj volontuloj. 159 00:07:42,660 --> 00:07:43,730 Kaj mi kredas ke estis ĝi. 160 00:07:43,730 --> 00:07:45,040 >> [Aplaŭdo] 161 00:07:45,040 --> 00:07:48,745 >> Mi kredas Gabe iras por paroli nun sur espereble malpli alta nivelo. 162 00:07:48,745 --> 00:07:51,600 >> GABRIEL Guimaraes: OK, knaboj. 163 00:07:51,600 --> 00:07:56,790 Nun tuj parolos iom pli pri kodo kaj pri Ruby on Rails mem, 164 00:07:56,790 --> 00:08:00,750 kaj pri kiel ĝi rilatas al ĉiuj ĉi MVC rakonton. 165 00:08:00,750 --> 00:08:03,190 Esence, Ruby on Rails estas kadro. 166 00:08:03,190 --> 00:08:04,640 Pli pri tio en dua. 167 00:08:04,640 --> 00:08:07,760 >> Sed nur por doni al vi senco de kiu estas uzanta ĝin, 168 00:08:07,760 --> 00:08:12,240 kiel, ĉiuj tiuj grandaj companies-- tiel GitHub, Groupon, Twitter-- 169 00:08:12,240 --> 00:08:15,300 ili ĉiuj uzas Ruby on Rails kiel ilia ĉefa kadro 170 00:08:15,300 --> 00:08:16,510 implementar ilia retejo. 171 00:08:16,510 --> 00:08:19,130 Do mi certas ke multaj homoj uzis tiujn retejojn tie. 172 00:08:19,130 --> 00:08:24,470 Kaj estas la tuta Ruby on Rails implementar la modelo, la vido, kaj la regilo 173 00:08:24,470 --> 00:08:26,890 sur ĉiuj tiuj retejoj kaj multaj pli. 174 00:08:26,890 --> 00:08:27,830 OK? 175 00:08:27,830 --> 00:08:32,090 >> Do kiel mi diris, Ruby on Reloj estas kadro. 176 00:08:32,090 --> 00:08:37,237 Kaj vi povas ia pensas pri kadro en la senco de kiel konstruante domon. 177 00:08:37,237 --> 00:08:39,570 Do se vi iras konstrui oni house-- kaj vi povas ĉiam 178 00:08:39,570 --> 00:08:40,653 komenci de nulo, ĉu ne? 179 00:08:40,653 --> 00:08:46,440 Vi povas provi veni supren kun maniero segi la lignon, 180 00:08:46,440 --> 00:08:49,760 kaj alporti lignon sur la lokon, kaj por ricevi la ŝtonojn en la ĝustan formon, 181 00:08:49,760 --> 00:08:51,250 kaj tiam ĉiu de tio. 182 00:08:51,250 --> 00:08:54,020 Sed tio tuj prenos probable multaj jaroj 183 00:08:54,020 --> 00:08:56,910 ĝis vi akiras la tutan materialon, kaj vi akiri ĉion kune, 184 00:08:56,910 --> 00:08:58,790 kaj vi reale komenci konstrui vian domon. 185 00:08:58,790 --> 00:09:01,748 >> Do rezultas se komencas evi kadron kun iu kiu estas 186 00:09:01,748 --> 00:09:04,260 Jam ia en loko por ajna tipo de domo 187 00:09:04,260 --> 00:09:07,750 ke vi volas build-- ion tio estas tre genéricos sed ke vi povas 188 00:09:07,750 --> 00:09:12,850 tiam modeligi al via propra goals-- tiam vi povas utiligi 189 00:09:12,850 --> 00:09:16,800 tiu potenco de la kadroj por konstrui ili ion multe, multe pli rapida. 190 00:09:16,800 --> 00:09:17,300 Akcepti. 191 00:09:17,300 --> 00:09:21,110 Do ĉi tiu estas la sama ideo en enkadrigi apliko retejo 192 00:09:21,110 --> 00:09:23,755 aŭ por ajna tipo de apliko, tiurilate. 193 00:09:23,755 --> 00:09:26,560 >> Vi vere komenciĝas kun duono de apliko 194 00:09:26,560 --> 00:09:28,400 jam en loko por vi. 195 00:09:28,400 --> 00:09:32,230 Kaj per tio, mi volas diri al vi ricevi multajn dosierojn kiuj jam havas funkciojn, 196 00:09:32,230 --> 00:09:36,830 kiel bibliotekoj, kiel funcionalidad, kaj ordonas ke vi povas kuri por 197 00:09:36,830 --> 00:09:40,500 fari vian vivon multe simpla kaj facila. 198 00:09:40,500 --> 00:09:41,180 Akcepti. 199 00:09:41,180 --> 00:09:43,555 >> Do en ĉi tiu kazo, ni tuj paroli pri Ruby on Rails. 200 00:09:43,555 --> 00:09:45,920 Ekzistas multaj malsamaj kadrojn por tie. 201 00:09:45,920 --> 00:09:47,550 Ekzistas Django por Python. 202 00:09:47,550 --> 00:09:50,990 Ekzistas Zend Framework aŭ Laravel por PHP. 203 00:09:50,990 --> 00:09:52,390 Ekzistas multaj malsamaj. 204 00:09:52,390 --> 00:09:56,830 Ruby on Rails estas bela agrabla nova. 205 00:09:56,830 --> 00:10:01,600 Multaj homoj uzas tiun en startups kaj tiu speco de medio. 206 00:10:01,600 --> 00:10:04,250 Kelkaj el tiuj tre granda kompanioj kiuj mi montris ĉi tie antaŭ 207 00:10:04,250 --> 00:10:06,050 Ankaŭ uzante Ruby on Rails. 208 00:10:06,050 --> 00:10:10,070 >> Do nur por doni al vi senso de kio Rubeno estas 209 00:10:10,070 --> 00:10:13,030 kiel, ekde vi uloj estas pli uzitaj por, kiel, C kaj iomete de PHP 210 00:10:13,030 --> 00:10:17,560 nun, tial Rubeno tuj estos la ekvivalento de via PHP-ĉi senco. 211 00:10:17,560 --> 00:10:18,380 Tiu ne estas Rubeno. 212 00:10:18,380 --> 00:10:19,830 Tiu estas C. OK? 213 00:10:19,830 --> 00:10:22,660 Sed ĉi tio estas kiel la DJBHash funkcio kiun mi 214 00:10:22,660 --> 00:10:27,170 konas multajn personojn uzita por PSET fuŝo. 215 00:10:27,170 --> 00:10:29,670 >> Kaj en Ruby, belaj multe kiel en PHP, vi 216 00:10:29,670 --> 00:10:32,745 povus implementar ĉi kun nur kelkaj linioj de kodo. 217 00:10:32,745 --> 00:10:34,870 Anstataŭ devi maltrankviligi pri la hash funkcio, 218 00:10:34,870 --> 00:10:37,950 devi maltrankviligi la siteloj, kaj ĉiuj de tiu, vi simple povas diri, 219 00:10:37,950 --> 00:10:40,160 vortaro = Hash.net. 220 00:10:40,160 --> 00:10:44,560 Kaj poste vi uzas specon de kiel la saman ideon ke PHP havis. 221 00:10:44,560 --> 00:10:45,970 Kaj tial estas al vera. 222 00:10:45,970 --> 00:10:48,080 Kaj tiam se vi volas kontrolu, do kontrolu funkcio 223 00:10:48,080 --> 00:10:51,560 estus se vortaro "foo" egalas egalas vera, revenu vera. 224 00:10:51,560 --> 00:10:52,580 Kaj jen ĉio, OK? 225 00:10:52,580 --> 00:10:54,030 >> Do vi rimarkas kelkajn diferencojn. 226 00:10:54,030 --> 00:10:57,940 Ne estas duon-dupunktoj tie, ĉar estis en C. 227 00:10:57,940 --> 00:11:00,710 Sed la ĝenerala ideo estas tre simila. 228 00:11:00,710 --> 00:11:02,030 OK? 229 00:11:02,030 --> 00:11:08,010 >> Ankaŭ, en Ruby, ekzistas gemoj, kiujn estas speco de la Ruby bibliotekoj. 230 00:11:08,010 --> 00:11:12,460 Kaj Rails manipulas ilin en tre agrabla maniero por vi. 231 00:11:12,460 --> 00:11:15,480 Do se vi volas enmeti en iu biblioteko kiun 232 00:11:15,480 --> 00:11:18,670 faras retmesaĝoj, aŭ ke faras teksto mesaĝado, 233 00:11:18,670 --> 00:11:22,170 aŭ kiu faras integriĝo kun Facebook, aŭ ajna speco de aĵo 234 00:11:22,170 --> 00:11:24,374 tiel dum via app, ĝi estas tre, tre facila. 235 00:11:24,374 --> 00:11:26,790 Odds estas vi povas trovi ion tiel sur la interreto. 236 00:11:26,790 --> 00:11:30,300 Kaj ili nur faru iu kiel meto kiu 237 00:11:30,300 --> 00:11:32,290 gemo vi volas uzi en la gemo dosiero. 238 00:11:32,290 --> 00:11:33,749 Kaj tiam Rails instalas ĉiun. 239 00:11:33,749 --> 00:11:36,456 Vi ne devas maltrankvili pri ajna de tiu, por ke estas vere malvarmeta. 240 00:11:36,456 --> 00:11:38,500 Ankaŭ, estas multe, multe da helpo en linio. 241 00:11:38,500 --> 00:11:40,485 Do vi povas trovi multajn aferojn. 242 00:11:40,485 --> 00:11:42,360 Se vi havas eraro, vi povas simple Guglas ŝin, 243 00:11:42,360 --> 00:11:45,090 kaj ĝi tuj estos tre facila akiri helpon. 244 00:11:45,090 --> 00:11:47,200 >> Kaj estas multaj fun-- exactly-- ĉar vi 245 00:11:47,200 --> 00:11:51,420 ne devas maltrankviligi la malalta nivelo detaloj, implementación de hash tabloj 246 00:11:51,420 --> 00:11:58,080 kaj devi veni supre kun ĉiuj de la HTTP- titolaj kaj multaj eventoj, 247 00:11:58,080 --> 00:12:00,197 kaj inkluzive iuj pli alta nivelo tion. 248 00:12:00,197 --> 00:12:02,030 Vi ne devas maltrankviligi pri kiuj en Rails. 249 00:12:02,030 --> 00:12:04,010 Ĝi faras tre, tre bele por vi. 250 00:12:04,010 --> 00:12:07,490 Kaj ni iras por montri ke pli konkrete tre frue. 251 00:12:07,490 --> 00:12:08,130 Akcepti. 252 00:12:08,130 --> 00:12:09,750 >> Do iomete pri Rubeno denove. 253 00:12:09,750 --> 00:12:11,420 Do estas ĝuste kiel C, kiel mi diris. 254 00:12:11,420 --> 00:12:14,170 Anstataŭ printf, ni diru "Metas", kio estas "meti ŝnuron." 255 00:12:14,170 --> 00:12:18,100 Ĝi metas ŝnuron al la konzolo. 256 00:12:18,100 --> 00:12:20,601 Kaj en ĉi tiu kazo, ni estas nur presi "Saluton Mondo." 257 00:12:20,601 --> 00:12:23,100 Ni ne bezonas la krampoj, sed estas sufiĉe tre similaj. 258 00:12:23,100 --> 00:12:26,190 >> Kaj tiam se vi volas fari ion tie, 259 00:12:26,190 --> 00:12:30,450 kiel presi faskon de "Smalls" kaj faskon de "bigs" En momento buklo, 260 00:12:30,450 --> 00:12:32,060 Estas speco de kiel en C, dekstra? 261 00:12:32,060 --> 00:12:35,090 Vi ne havas la params, sed estas sufiĉe tre la sama. 262 00:12:35,090 --> 00:12:37,300 La deŝovon tie grafoj, do x estas 1. 263 00:12:37,300 --> 00:12:41,250 Kaj tiam Kvankam x estas pli malgranda ol 50-- ĉi estas Se, tiu estas Else. 264 00:12:41,250 --> 00:12:42,810 Ĝi estas sufiĉe multe ŝatas kion vi vidis. 265 00:12:42,810 --> 00:12:47,150 >> Kaj tiam x + = 1 estas simple pliigante, speco de kiel fari la ++ ke vi povas 266 00:12:47,150 --> 00:12:50,213 faros en C. Sed estas belaj tre kio vi vidis en C. 267 00:12:50,213 --> 00:12:52,380 Ĝi ne devus esti tro komplika. 268 00:12:52,380 --> 00:12:54,320 Sed estas pli potenca. 269 00:12:54,320 --> 00:13:00,100 Do estas kelkaj komandoj tie kiuj estas definitive iom pli nova. 270 00:13:00,100 --> 00:13:05,110 >> Do ekzemple, "metu". 271 00:13:05,110 --> 00:13:08,680 Vi povas uzi ĉi hashtag skribmaniero tie por ĝuste presi something-- 272 00:13:08,680 --> 00:13:13,490 sufiĉe tre kiel kio vi farus se la% D aŭ% C aŭ iun tiel. 273 00:13:13,490 --> 00:13:17,600 Kaj vi povas reale enmetu Se tuj post la deklaro. 274 00:13:17,600 --> 00:13:21,180 Do mi nur volas fari this-- Se x estas pli granda ol 3. 275 00:13:21,180 --> 00:13:24,129 Do kial mi devas fari kompletan Se bloko? 276 00:13:24,129 --> 00:13:24,670 Mi ne scias. 277 00:13:24,670 --> 00:13:28,880 Mi povas simple printi nur se x egalas pli granda ol 3. 278 00:13:28,880 --> 00:13:32,740 Do ĉi tiu estas unu linio vojo fari tion en Ruby. 279 00:13:32,740 --> 00:13:35,570 >> Liston en Ruby iu tre versátil. 280 00:13:35,570 --> 00:13:38,110 Do vi ne vere bezonas havi nur unu tipo. 281 00:13:38,110 --> 00:13:40,674 Vi povas havi ĉenon, kaj tiam iuj numeroj, kaj kiom. 282 00:13:40,674 --> 00:13:42,590 Kaj se vi volas alfiksus ion listo, 283 00:13:42,590 --> 00:13:46,860 vi povas simple uzi tiun skribmaniero dekstra tie. 284 00:13:46,860 --> 00:13:48,310 >> Kaj se vi volas persisti. 285 00:13:48,310 --> 00:13:56,200 Pli malpli la 4each en PHP, tie, vi havi lerta kaj vi do "List.each fari." 286 00:13:56,200 --> 00:13:59,464 Kaj tiu "elem," jen kiel la nomo de ĉiu elemento 287 00:13:59,464 --> 00:14:00,880 ke mi nepre akiros en mia listo. 288 00:14:00,880 --> 00:14:03,890 Kaj tiam mi povos simple "metas elem." 289 00:14:03,890 --> 00:14:07,130 Kaj "metas" preskaux ansoj metante ĝin por vi, presi ĝin. 290 00:14:07,130 --> 00:14:09,920 Ne gravas se ĝi estas ĉeno aŭ int. 291 00:14:09,920 --> 00:14:12,790 Iĝos funkcias por vi. 292 00:14:12,790 --> 00:14:14,270 Dekstra? 293 00:14:14,270 --> 00:14:14,790 Cool. 294 00:14:14,790 --> 00:14:19,980 >> Kaj ĝuste kiel PHP, Ruby kaj HTML ankaŭ integras tre, tre bele. 295 00:14:19,980 --> 00:14:23,340 Kaj tie, tie estas kelkaj HTML kun Ruby en ĝi. 296 00:14:23,340 --> 00:14:25,860 Do ni havas korpon etikedo kiel en HTML. 297 00:14:25,860 --> 00:14:28,270 Kaj se ni volas kontroli ke uzanto estas, ekzemple, 298 00:14:28,270 --> 00:14:35,730 ensalutinta, ni povas simple diri, komencante de Rubeno, se user.logged_in ?, fino de Ruby. 299 00:14:35,730 --> 00:14:39,240 Presu ĉi tiu tuta afero, kiu havas iujn Ruby en ĝin, kiu estas nur 300 00:14:39,240 --> 00:14:42,230 speco de tia sintakso por PHP kiu presas el variablo. 301 00:14:42,230 --> 00:14:43,380 Ni presi la user.name. 302 00:14:43,380 --> 00:14:48,870 >> Do bonvena, Stefano, ene de HTML div. 303 00:14:48,870 --> 00:14:53,760 Kaj fine, ni havas "fino" kaj Ruby kodo, kio signifas ĉi estas mia 304 00:14:53,760 --> 00:14:54,470 Se bloko. 305 00:14:54,470 --> 00:14:55,060 OK? 306 00:14:55,060 --> 00:14:57,684 Do estas simple kiel senjunta integriĝo inter Ruby kaj HTML. 307 00:14:57,684 --> 00:15:00,056 308 00:15:00,056 --> 00:15:01,430 Ekzistas ankaŭ multaj rimedoj. 309 00:15:01,430 --> 00:15:06,290 Sed antaŭ ol ni movas sur, faras neniun havas demandojn pri Ruby, io? 310 00:15:06,290 --> 00:15:08,960 Akcepti. 311 00:15:08,960 --> 00:15:12,250 >> Ekzistas multaj rimedoj en linio al tryruby.org, Kodo Akademio, 312 00:15:12,250 --> 00:15:18,740 ruby-lang.org, kie vi povas provi ĝin sur via foliumilo antaŭ vi reale 313 00:15:18,740 --> 00:15:22,310 diras, ho, OK, Mi iras por uzi Ruby por mia fina projekto. 314 00:15:22,310 --> 00:15:24,020 Kaj tiel definitive doni tiujn provi. 315 00:15:24,020 --> 00:15:26,510 Ĉiuj de ĉi tiuj diapozitivoj estas tuj estos disponebla en linio, 316 00:15:26,510 --> 00:15:28,950 tiel ke oni nur elŝuti ilin. 317 00:15:28,950 --> 00:15:30,115 Kaj jes? 318 00:15:30,115 --> 00:15:31,889 >> Publiko: [inaudible] kion vi ĵus montris 319 00:15:31,889 --> 00:15:36,851 Estis HTML kaj la kodo enigita enen ĝin al tiu nocio de Model View 320 00:15:36,851 --> 00:15:37,350 Controlador? 321 00:15:37,350 --> 00:15:37,610 >> GABRIEL Guimaraes: Jes. 322 00:15:37,610 --> 00:15:40,290 Ni faros tion en dua kiam ni montras nian ekzemplon, OK? 323 00:15:40,290 --> 00:15:41,290 Dankon pro la demando. 324 00:15:41,290 --> 00:15:44,760 Do la demando estis esence, se ni povas montri ĉi integriĝo de Rubeno 325 00:15:44,760 --> 00:15:49,230 en HTML ene de la Modelo Montru Controller kadro. 326 00:15:49,230 --> 00:15:51,710 >> Do la ideo de la Modelo Vidi Controller kadro 327 00:15:51,710 --> 00:15:55,740 estas ĝi estas esence filozofio, ĝuste kiel Stephen montris tie. 328 00:15:55,740 --> 00:15:58,177 Kaj ne estas io ke vi devas fari, 329 00:15:58,177 --> 00:16:00,510 sed estas iu kiu faras vian vivon tiel simpla. 330 00:16:00,510 --> 00:16:04,170 Kaj Ruby on Rails estas konstruita ĉirkaŭ tiu filozofio de kodo. 331 00:16:04,170 --> 00:16:06,320 Do ni iras por montri ekzemplo tre frue. 332 00:16:06,320 --> 00:16:07,340 >> Do Rails estas amo. 333 00:16:07,340 --> 00:16:09,140 Multaj homoj uzas ĝin, kiel mi diris. 334 00:16:09,140 --> 00:16:10,510 Kaj estas vere amuza. 335 00:16:10,510 --> 00:16:12,360 Vi ĉiuj devus definitive provu. 336 00:16:12,360 --> 00:16:15,120 MVC faras ĉion pli simpla. 337 00:16:15,120 --> 00:16:18,110 Do la Model View Controller, la disigante aferoj 338 00:16:18,110 --> 00:16:21,450 kaj metante unu persono, per, aŭ unu parton de via apliko 339 00:16:21,450 --> 00:16:24,850 fari ĉiun de la malsamaj laborpostenoj ke vi apliko devas vidi. 340 00:16:24,850 --> 00:16:26,676 Kaj malpli da tempo pasigis sur malalta nivelo problemojn. 341 00:16:26,676 --> 00:16:27,800 Kaj tre populara nun. 342 00:16:27,800 --> 00:16:29,917 Ni havas Rails 4.0, kio estas nova versio. 343 00:16:29,917 --> 00:16:31,500 Kaj ĝi venas kun amaso de malvarmeta havajxoj. 344 00:16:31,500 --> 00:16:32,562 Alia demando. 345 00:16:32,562 --> 00:16:34,490 >> Publiko: Alia demando. 346 00:16:34,490 --> 00:16:39,310 Ruby on Rails kontre Ruby on Rails Grails. 347 00:16:39,310 --> 00:16:40,230 >> GABRIEL Guimaraes: OK. 348 00:16:40,230 --> 00:16:42,252 La demando estis, Ruby on Rails kontre Ruby-- 349 00:16:42,252 --> 00:16:42,960 Publiko: Grails. 350 00:16:42,960 --> 00:16:43,490 Ruby? 351 00:16:43,490 --> 00:16:44,490 >> GABRIEL Guimaraes: Yeah. 352 00:16:44,490 --> 00:16:45,955 Do Ruby Estas la lingvo. 353 00:16:45,955 --> 00:16:46,745 >> Publiko: No. 354 00:16:46,745 --> 00:16:50,360 Mi petas vin kompari lingvon kaj kadron, Ruby on Rails, 355 00:16:50,360 --> 00:16:52,975 kun alia populara lingvo framework-- Grails-- kun Ruby 356 00:16:52,975 --> 00:16:53,310 on Rails. 357 00:16:53,310 --> 00:16:53,720 >> GABRIEL Guimaraes: OK. 358 00:16:53,720 --> 00:16:54,480 Pardonu. 359 00:16:54,480 --> 00:16:57,390 La demando estis, komparu Ruby kaj Ruby on Rails 360 00:16:57,390 --> 00:16:59,750 al alia kadro kaj another-- 361 00:16:59,750 --> 00:17:01,022 >> Publiko: Rubeno. 362 00:17:01,022 --> 00:17:01,954 Estas OK. 363 00:17:01,954 --> 00:17:03,820 Se vi ne scias pri tio, ke estas bone. 364 00:17:03,820 --> 00:17:05,359 >> GABRIEL Guimaraes: Kiel, kion mi komprenas estas that-- 365 00:17:05,359 --> 00:17:07,080 >> Publiko: Jen plia kadro nomita Grails. 366 00:17:07,080 --> 00:17:07,700 >> GABRIEL Guimaraes: Ho, Grails. 367 00:17:07,700 --> 00:17:08,650 Mi neniam aŭdis pri ĝi. 368 00:17:08,650 --> 00:17:09,640 Pardonu. 369 00:17:09,640 --> 00:17:11,690 Mi neniam aŭdis pri Groovy on Rails. 370 00:17:11,690 --> 00:17:12,744 Pardonu. 371 00:17:12,744 --> 00:17:14,869 >> Publiko: Estas multe pli bone integrita kun Java. 372 00:17:14,869 --> 00:17:15,450 >> GABRIEL Guimaraes: mi vidas. 373 00:17:15,450 --> 00:17:17,555 >> Publiko: Mi estas nur kurioza pri iuj homoj mi scias like-- 374 00:17:17,555 --> 00:17:20,240 >> GABRIEL Guimaraes: Ne, mi neniam auxdis pri tio, bedaŭrinde. 375 00:17:20,240 --> 00:17:20,700 Grails. 376 00:17:20,700 --> 00:17:21,410 >> Publiko: Kelkaj homoj evidente kiel Ruby on Rails. 377 00:17:21,410 --> 00:17:22,640 >> GABRIEL Guimaraes: Mi havas uzita Ruby on Rails multon. 378 00:17:22,640 --> 00:17:24,790 Mi jam uzis kelkajn Django kun Python, kiel mi diris. 379 00:17:24,790 --> 00:17:26,329 Mi jam uzis kelkajn Laravel. 380 00:17:26,329 --> 00:17:29,490 Sed mi ne estis uzinta Groovy on Rails. 381 00:17:29,490 --> 00:17:31,630 Pardonu. 382 00:17:31,630 --> 00:17:34,040 Kaj ĝi estas tre populara nun kun Rails 4.0. 383 00:17:34,040 --> 00:17:38,180 Kiel multaj el la aĵoj kiujn Rails faras por vi, ekzemple, estas vi 384 00:17:38,180 --> 00:17:43,650 havas multajn CSS dosierojn kaj multaj JavaScript dosierojn. 385 00:17:43,650 --> 00:17:45,790 Kaj vi povas trakti ilin kiel apartaj kaj ĉiu. 386 00:17:45,790 --> 00:17:50,010 >> Sed tiam automatically-- kiam Vi sendu vian kodon por produktado, 387 00:17:50,010 --> 00:17:52,770 ĝi aŭtomate kompilas ilin ĉiujn en unu sola dosiero 388 00:17:52,770 --> 00:17:55,150 ke'S minified sen ajna spacoj, tiel ke ĝi prenas supren 389 00:17:55,150 --> 00:17:59,400 malpli spaco en via apliko, tiel ke vi povas vere grimpi aferojn multe. 390 00:17:59,400 --> 00:18:04,380 Tial tiaj grandaj kompanioj kiel Twitter kaj GitHub 391 00:18:04,380 --> 00:18:10,220 uzas Rails, ĉar ĝi faras ĉiu ke por vi, kiuj estas vere malvarmeta. 392 00:18:10,220 --> 00:18:12,840 >> Unu afero kiu estas tre, tre tre fortimiga 393 00:18:12,840 --> 00:18:18,450 por homoj, inkluzive min, kiuj klopodas labori 394 00:18:18,450 --> 00:18:22,430 kun kadro komence, estas ke kiam vi komencu marsxi aplikon, 395 00:18:22,430 --> 00:18:24,440 vi tuj vidos al amaso de dosieroj. 396 00:18:24,440 --> 00:18:28,460 Kiel, kiam oni kreas Rails Nova, Mia Apliko, 397 00:18:28,460 --> 00:18:31,710 vi tuj vidos ĉiujn tiujn folders-- app, bin, config, db, lib, 398 00:18:31,710 --> 00:18:32,482 log, publiko. 399 00:18:32,482 --> 00:18:33,690 Kiel, sunaj kaj multaj ajxoj. 400 00:18:33,690 --> 00:18:35,030 >> Kaj unuafoje mi ekvidis tion, mi estis kiel, 401 00:18:35,030 --> 00:18:36,570 OK, Mi havas neniun ideon kio okazas. 402 00:18:36,570 --> 00:18:38,890 Mi ĵus volas krei retejo kun "Saluton, mondo!" 403 00:18:38,890 --> 00:18:41,730 kaj tio donas al mi, kiel, 100 miliardoj malsamaj paĝoj. 404 00:18:41,730 --> 00:18:43,070 Mi ne scias kio okazas. 405 00:18:43,070 --> 00:18:47,460 Do bonvolu ne esti tro daunted per tio. 406 00:18:47,460 --> 00:18:53,699 >> La ideo estas ke ĝi efektive havas la duonon de domo tie por vi jam. 407 00:18:53,699 --> 00:18:55,490 Ĝi havas kompletan enkadrigi vin jam. 408 00:18:55,490 --> 00:18:56,948 Tial estas tantas dosierojn. 409 00:18:56,948 --> 00:19:00,150 Sed la bela afero estas, ke ĝi disigas ĉiuj ili tre bele. 410 00:19:00,150 --> 00:19:03,370 Odds estas vi ne devas maltrankviligi pri plej el tiuj dosierujoj. 411 00:19:03,370 --> 00:19:05,820 >> La plej grava, mi dirus, estas la app dosierujon, 412 00:19:05,820 --> 00:19:07,147 kie via app reale vivas. 413 00:19:07,147 --> 00:19:09,730 Do la agord, vi tuj devas configurate iuj aĵoj, 414 00:19:09,730 --> 00:19:12,840 kiel via datumbazo kaj aliaj similaj ĝis kia datenbazo vi uzas. 415 00:19:12,840 --> 00:19:17,430 Sed alia ol tio, kiel la plimulto de vian laboron tuj estos farita en app. 416 00:19:17,430 --> 00:19:21,620 Do en app, vi havas aktivojn, regiloj, helpantoj, mailers, modeloj, rigardoj. 417 00:19:21,620 --> 00:19:24,460 Do jen, vi komencas vidi ke controladores, modeloj, kaj vidoj venas 418 00:19:24,460 --> 00:19:25,410 en ludo. 419 00:19:25,410 --> 00:19:27,270 >> Mailers estas nur se vi volas sendi retpoŝtojn. 420 00:19:27,270 --> 00:19:29,400 Helpantoj se vi volas krei iuj funkcioj 421 00:19:29,400 --> 00:19:32,050 ke vi uzas tre en la vido. 422 00:19:32,050 --> 00:19:34,490 Do vi metis ilin en helpantojn. 423 00:19:34,490 --> 00:19:39,000 Kaj aktivoj estas esence ĉiuj via idolo, ĉiuj de via CSS, 424 00:19:39,000 --> 00:19:41,200 ĉiuj viajn Ĝavoskripto, Kiel tiuj specoj 425 00:19:41,200 --> 00:19:43,110 de aĵoj kiuj get sendita al la kliento. 426 00:19:43,110 --> 00:19:45,500 Kaj ĉio tio en la aktivoj, ke mi diris antaŭe, ĝi alvenas minified. 427 00:19:45,500 --> 00:19:45,940 Ĝi estas kompilita. 428 00:19:45,940 --> 00:19:49,189 Kaj vi ne vere devas maltrankviligi ke kiam iras al produktado kodo. 429 00:19:49,189 --> 00:19:49,770 Cool. 430 00:19:49,770 --> 00:19:54,205 >> Nun Zack tuj venos, kaj li estas faros ekzemplon de Twitter50. 431 00:19:54,205 --> 00:19:54,970 >> Publiko: Woo-hoo! 432 00:19:54,970 --> 00:19:56,726 >> Zack Chauvin: Awesome. 433 00:19:56,726 --> 00:20:00,180 Do mi havis la eblecon labori kun Ruby on Rails tiu somero. 434 00:20:00,180 --> 00:20:01,580 Estas nekredebla kadro. 435 00:20:01,580 --> 00:20:03,580 Mi tre parta al ĝi. 436 00:20:03,580 --> 00:20:09,770 Kaj mi nur montras al vi iom da ekzemplo de kio povis simili. 437 00:20:09,770 --> 00:20:11,020 Transsalti al Chrome. 438 00:20:11,020 --> 00:20:16,350 Do tiu estas ekzemplo de tre simpla Ruby on Rails application-- ion 439 00:20:16,350 --> 00:20:19,690 kiel tio estas io ke Ruby vere elstaras 440 00:20:19,690 --> 00:20:24,070 that-- ĝuste kie via modeloj estas tre bone difinita. 441 00:20:24,070 --> 00:20:27,150 >> En ĉi tiu ekzemplo, vi vidos du malsamaj modeloj, kiu 442 00:20:27,150 --> 00:20:30,380 estas ke ni havas uzantoj kaj ni havas tweets. 443 00:20:30,380 --> 00:20:33,480 Do tiu estas Twitter50, Harvard propra Twitter. 444 00:20:33,480 --> 00:20:36,820 Kiel vi povas vidi, mi estas ensalutinta kielzack. 445 00:20:36,820 --> 00:20:38,860 Kaj mi povas fari novan tweets. 446 00:20:38,860 --> 00:20:42,266 Do mi think-- "Tiu estas" - sorry? 447 00:20:42,266 --> 00:20:43,182 Publiko: [inaudible]. 448 00:20:43,182 --> 00:20:44,061 Zack Chauvin: Oh, OK. 449 00:20:44,061 --> 00:20:45,060 Bezonas halti la servilo. 450 00:20:45,060 --> 00:20:47,480 Bonega. 451 00:20:47,480 --> 00:20:49,630 Do jen ni estas. 452 00:20:49,630 --> 00:20:52,520 Kiel vi povas vidi, ni havas niajn Twitter apliko jam ĉi tie. 453 00:20:52,520 --> 00:20:55,020 Kaj estas súper facila por komenci la servilo. 454 00:20:55,020 --> 00:20:57,991 Ni nur faru "reloj servilo." 455 00:20:57,991 --> 00:20:58,490 Granda. 456 00:20:58,490 --> 00:20:58,990 Akcepti. 457 00:20:58,990 --> 00:21:00,830 Dankon pro tio. 458 00:21:00,830 --> 00:21:02,200 Do nun ni kuras. 459 00:21:02,200 --> 00:21:06,120 >> Kaj ni diras, "Tiu estas imponega seminario. " 460 00:21:06,120 --> 00:21:08,870 Kaj ni vidu kio okazas. 461 00:21:08,870 --> 00:21:10,020 Do ni Tweet pri ĝi. 462 00:21:10,020 --> 00:21:13,390 Malsupren malsupre, vi povas vidi nun ekzistas pli ol tri tweets. 463 00:21:13,390 --> 00:21:15,980 Do ni havas iomete de paginación okazas. 464 00:21:15,980 --> 00:21:19,640 Kaj ni havas tion tweet. 465 00:21:19,640 --> 00:21:24,010 Kaj mi ankaŭ povas serĉi tra mia tweets-- serĉi ĉi tiun kaj la du 466 00:21:24,010 --> 00:21:27,960 kiuj havas la vorton "Ĉi" en ili aperas. 467 00:21:27,960 --> 00:21:30,860 Ni ankaŭ povas viŝi la tweets de klakante sur la malmulta Forigi butonon. 468 00:21:30,860 --> 00:21:36,440 Kaj evidente, mi povas nur forviŝi la fosto kiu apartenis al mi. 469 00:21:36,440 --> 00:21:39,030 >> Jam, ni preskaŭ havis la funcionalidad de Twitter. 470 00:21:39,030 --> 00:21:42,000 Kiel, kiam vi pripensas ĝin, Twitter vere ne plenumu cxion multe. 471 00:21:42,000 --> 00:21:44,280 Ĝi havas uzantojn, gxi havas tweets. 472 00:21:44,280 --> 00:21:47,690 Estas iuj pli kompleksaj funcionalidad. 473 00:21:47,690 --> 00:21:52,960 Sed kiam vi vere povos subeniri al ĝi, ĝi estas tute simpla Ruby on Rails app. 474 00:21:52,960 --> 00:21:57,560 Kaj iun kiel ĉi tio, kun bona kompreno de Ruby on Rails, 475 00:21:57,560 --> 00:22:00,680 vi povis probable fari en horo aŭ du. 476 00:22:00,680 --> 00:22:04,210 >> Kaj ke vere venas reen al la Ruby mantra, 477 00:22:04,210 --> 00:22:07,540 kio estas konvencio super agordo. 478 00:22:07,540 --> 00:22:10,965 Do reen en la tago, personoj, ĉiutempe ili volis fari ĉi tiu retejo, 479 00:22:10,965 --> 00:22:12,340 devus komenci de nulo. 480 00:22:12,340 --> 00:22:13,740 OK, mi volas fari retejon. 481 00:22:13,740 --> 00:22:15,970 Ni faru ĉi dosieron kaj Ĉi tiu dosiero kaj la dosiero. 482 00:22:15,970 --> 00:22:19,180 >> Kun Ruby on Rails, ekzistas nenio de tio. 483 00:22:19,180 --> 00:22:21,170 Vi diras: Mi volas novan app. 484 00:22:21,170 --> 00:22:25,010 Kaj ĝuste kiel Gabe montris al ni, ke kreas la tutan dosieron strukturo por ni. 485 00:22:25,010 --> 00:22:27,490 Kaj ni simple ŝanĝu la iom partoj, ke ni bezonas. 486 00:22:27,490 --> 00:22:31,570 Ni nur personecigi kion estas unika pri nia app. 487 00:22:31,570 --> 00:22:32,250 Cool. 488 00:22:32,250 --> 00:22:38,540 Do reiri al niaj prezento preview-- interesa. 489 00:22:38,540 --> 00:22:41,408 490 00:22:41,408 --> 00:22:42,724 Kie mi prezenti? 491 00:22:42,724 --> 00:22:43,640 Publiko: Plena ekrano. 492 00:22:43,640 --> 00:22:45,715 Supre dekstre. 493 00:22:45,715 --> 00:22:48,480 >> Zack Chauvin: Bonega. 494 00:22:48,480 --> 00:22:48,990 Cool. 495 00:22:48,990 --> 00:22:49,490 Akcepti. 496 00:22:49,490 --> 00:22:51,480 Do unue: la modelo. 497 00:22:51,480 --> 00:22:54,100 Stefano faris imponega laboron de resumante MVC. 498 00:22:54,100 --> 00:22:57,980 Kaj nun ni iras rilatigi ke reen al Ruby on Rails. 499 00:22:57,980 --> 00:23:00,730 Do la modelo vi povas speco de pensi kiel la datumbazo. 500 00:23:00,730 --> 00:23:04,870 Vi venas vidante ĉi en CS50 Financo, kie la modelo tendencas 501 00:23:04,870 --> 00:23:07,590 la informo pri kiom stokoj vi havas, 502 00:23:07,590 --> 00:23:10,986 aŭ ĉiuj transakcioj ke vi faris. 503 00:23:10,986 --> 00:23:12,860 Tiu estas ekzemplo de linion de kiel vi farus 504 00:23:12,860 --> 00:23:15,640 iru en fari novan modelon en Rails. 505 00:23:15,640 --> 00:23:17,102 Do mi volas ke uzanto. 506 00:23:17,102 --> 00:23:19,060 Iĝos havi retpoŝto, kiu estas ĉeno, 507 00:23:19,060 --> 00:23:20,990 kaj pasvorton, kiuj Estas ankaŭ la kordo. 508 00:23:20,990 --> 00:23:27,150 Do estas kiel those-- Mi volas ĉiu vico en mia tablo de uzantoj aspektas tiel. 509 00:23:27,150 --> 00:23:30,730 >> A vere awesome parto pri Rails estas kiu 510 00:23:30,730 --> 00:23:33,755 faras nenecese skribi ajnan SQL sufiĉe tre. 511 00:23:33,755 --> 00:23:38,640 Kiom da de vi uloj amis skribi SQL en PSET 7? 512 00:23:38,640 --> 00:23:39,770 Trafe. 513 00:23:39,770 --> 00:23:41,840 SQL estas ne tre uzantamika. 514 00:23:41,840 --> 00:23:46,470 Kaj Rails abstrae ĉiuj ke for kun tiuj vere facila komandoj. 515 00:23:46,470 --> 00:23:51,580 Do ekzemple, se ni havas uzanto, uzanto havas multaj tuits. 516 00:23:51,580 --> 00:23:56,580 Kaj ĉiu el tiuj tweets apartenas al uzanto. 517 00:23:56,580 --> 00:23:59,520 >> Do se vi rigardas tie, ĉi estas nia modelo por nia tweet. 518 00:23:59,520 --> 00:24:02,750 Kaj ĉiuj ni devas diri estas tiu sola line-- min tweet 519 00:24:02,750 --> 00:24:05,090 kaj mi apartenas al uzanto. 520 00:24:05,090 --> 00:24:10,160 Kaj kun tiu sola linio kaj Iomete de datumbazo agordo, 521 00:24:10,160 --> 00:24:12,990 Rails establas ĉi tiun rilaton. 522 00:24:12,990 --> 00:24:17,450 Anytime, mi povas nur diri, zack.tweets, kiel, donu al mi cxion de Zack tweets. 523 00:24:17,450 --> 00:24:19,420 Neniu SQL. 524 00:24:19,420 --> 00:24:20,040 Super facila. 525 00:24:20,040 --> 00:24:26,580 Denove, tio estas konvencio super agordo venanta en ludo. 526 00:24:26,580 --> 00:24:29,770 >> Vi povas vidi iomete de ekzemplo de Rubeno tie. 527 00:24:29,770 --> 00:24:32,740 Ŝati Donis diris, skribante Rubeno estas speco de kiel skribi angle. 528 00:24:32,740 --> 00:24:35,540 Ĝi estas tre altnivela lingvo, kaj ĝi faras lin vere facila 529 00:24:35,540 --> 00:24:42,380 por ni diri aĵojn kiel, mi volas certiĝi ke tiu tweet havas korpon. 530 00:24:42,380 --> 00:24:43,740 Lia ĉeesto estas vera. 531 00:24:43,740 --> 00:24:47,170 Kaj mi volas certigi ke ĉi kvivit, ĝuste kiel normala Twitter, 532 00:24:47,170 --> 00:24:49,020 havas max longo de 140. 533 00:24:49,020 --> 00:24:52,800 Estas súper-intuicia, oni vere granda lingvo. 534 00:24:52,800 --> 00:24:54,590 >> Sekva supren ni havas la vidon. 535 00:24:54,590 --> 00:24:57,510 Do tiu engaĝas HTML kaj CSS. 536 00:24:57,510 --> 00:25:00,490 Kaj jen ekzemplo de vido. 537 00:25:00,490 --> 00:25:05,600 Do Ruby on Rails tipon de perfekteco integriĝas ambaŭ Ruby kaj HTML 538 00:25:05,600 --> 00:25:08,880 por generi kion ni volas sur la paĝo. 539 00:25:08,880 --> 00:25:11,380 Do tiu estas ekzemplo de nia aranĝo. 540 00:25:11,380 --> 00:25:15,710 Do vi povas vidi iuj etikedoj ke vi infanoj kutimis, kiel HTML, korpo, 541 00:25:15,710 --> 00:25:17,250 ĉiuj ke bonaj ajxoj. 542 00:25:17,250 --> 00:25:21,760 >> Kaj bone cxi tie, ni korpigi iuj Ruby dirante, 543 00:25:21,760 --> 00:25:25,390 se ekzistas mesaĝon montri, poste montros la mesaĝon en div. 544 00:25:25,390 --> 00:25:28,060 Do mi ne ricevos tro multe en tiu. 545 00:25:28,060 --> 00:25:31,190 Sed tio estas ĝenerale paĝo kiu alvenas sendadis on-- 546 00:25:31,190 --> 00:25:33,960 kaj negrave kia paĝo vi estas sur, tiu unu prenas pruntitaj. 547 00:25:33,960 --> 00:25:38,110 Do jen kion akiras inkludis ĉiam. 548 00:25:38,110 --> 00:25:38,980 Cool. 549 00:25:38,980 --> 00:25:42,730 >> Alia ekzemplo de view-- ĉi estas la unu kie elegio ĉiuj tweets. 550 00:25:42,730 --> 00:25:45,630 Kelkaj el ĉi aĵoj povus aspekti bela familiara. 551 00:25:45,630 --> 00:25:50,050 Do ekzemple, ĝuste ĉi tie, ni estas looping tra ĉiu de la tweets, 552 00:25:50,050 --> 00:25:51,960 kaj ni presi ilin ekstere. 553 00:25:51,960 --> 00:25:54,320 Do tie estas kie ni estas presi ekster la korpo. 554 00:25:54,320 --> 00:26:00,910 Kaj se la tweet la user-- ĉi tie estas reala ekzemplo de neniu SQL estas implikitaj. 555 00:26:00,910 --> 00:26:04,390 Mi nur demandas, estas jena tuit de uzanto la aktuala uzanto? 556 00:26:04,390 --> 00:26:06,030 Tiam montri ligilon forigi ĝin. 557 00:26:06,030 --> 00:26:06,880 Estas súper simpla. 558 00:26:06,880 --> 00:26:09,670 559 00:26:09,670 --> 00:26:10,920 >> La controlador. 560 00:26:10,920 --> 00:26:14,390 Do tiu estas, denove, la interfaco inter la modelo kaj la vido. 561 00:26:14,390 --> 00:26:17,820 Estas la unu kiu faras la malfacilan laboron de interacting-- estante la intermediario. 562 00:26:17,820 --> 00:26:20,980 Ĝi ŝarĝas informoj por la vidi, kion ni vidos en sek. 563 00:26:20,980 --> 00:26:23,850 Kaj por interagi kun la modelo, ĝi 564 00:26:23,850 --> 00:26:29,170 flamo modelo metodoj, kiuj estas kio vi uloj estas konataj kiel funkcioj. 565 00:26:29,170 --> 00:26:31,490 >> Do ekzemple, ĉi tiu estas nia tweet la controlador. 566 00:26:31,490 --> 00:26:33,930 Ĝi povus aspekti iom fortimiga nun. 567 00:26:33,930 --> 00:26:38,240 Sed estas fakte super intuicia unufoje komencinte subnaĝado en. 568 00:26:38,240 --> 00:26:42,990 Do ekzemple, en nia indekso, jen kie ni volas montri ĉiujn tweets. 569 00:26:42,990 --> 00:26:46,910 Kaj tiel ĉi linio esence nur petas ĉiuj tweets. 570 00:26:46,910 --> 00:26:50,300 Kaj poste ni pravalorizi ambaŭ la nova tweet-- tiel kiel 571 00:26:50,300 --> 00:26:52,320 se ili volas krei nova tweet sur tiu paĝo. 572 00:26:52,320 --> 00:26:54,250 >> Kaj petu kion la aktuala uzanto estas. 573 00:26:54,250 --> 00:26:58,850 Kaj tiu estas tre parenca al la Redonu ke vi vidis en PSET 7 574 00:26:58,850 --> 00:27:02,230 kie estas nur speco de rakonti la view-- Estas speco de, kiel, 575 00:27:02,230 --> 00:27:06,284 pasante la variabloj kiujn vi tuj bezonos en la vido al la vido. 576 00:27:06,284 --> 00:27:08,200 Kaj tie estas tuta aro da de malsamaj metodoj 577 00:27:08,200 --> 00:27:10,410 ke ĉi tiu tweet de la controlador povas manipuli. 578 00:27:10,410 --> 00:27:12,495 >> Sed vere, Rails faras grandan laboron de klaso 579 00:27:12,495 --> 00:27:18,910 de dividanta ilin en la malsamaj agoj kiuj via controlador povus fari. 580 00:27:18,910 --> 00:27:23,800 Ĉu estas demandoj pri iu el la MVC partoj de reloj? 581 00:27:23,800 --> 00:27:25,550 Speco de ĵus venteton per. 582 00:27:25,550 --> 00:27:29,250 Do vi uloj povas kontroli ĝin sur via propra. 583 00:27:29,250 --> 00:27:30,106 Imponega. 584 00:27:30,106 --> 00:27:31,200 Ni daŭre iros. 585 00:27:31,200 --> 00:27:32,546 >> Do instali Rails. 586 00:27:32,546 --> 00:27:35,170 Instalado Rails povus esti, kiel, unu el la pli fortimiga partoj 587 00:27:35,170 --> 00:27:37,830 de la tutaj Rails procezo, bedaŭrinde. 588 00:27:37,830 --> 00:27:40,450 Sed evidente, ĉiuj ni estas ĉirkaŭe helpi. 589 00:27:40,450 --> 00:27:42,590 Kaj fojo tion pagas tie, multajn grandajn rimedojn, 590 00:27:42,590 --> 00:27:45,100 kiel Gabe menciita, por ekuzi. 591 00:27:45,100 --> 00:27:47,230 Jen la ligiloj kiuj vi bezonos por 592 00:27:47,230 --> 00:27:51,460 elŝuti Rails akiri ĝin instalita en via maŝino. 593 00:27:51,460 --> 00:27:54,240 Evidente, ĝi estas disponebla por ambaŭ Vindozo kaj Mac 594 00:27:54,240 --> 00:27:55,600 kaj por la CS50 aparaton. 595 00:27:55,600 --> 00:27:58,520 596 00:27:58,520 --> 00:28:00,020 Demandojn pri io ni diris? 597 00:28:00,020 --> 00:28:04,265 598 00:28:04,265 --> 00:28:06,690 >> Publiko: mi estus interesis, actually-- 599 00:28:06,690 --> 00:28:10,255 do mi scias ke elŝutanta programaro estas la plej granda baro. 600 00:28:10,255 --> 00:28:14,807 Se troviĝas sufiĉa intereso havi elŝutante mini kunsido aŭ io. 601 00:28:14,807 --> 00:28:15,640 Zack Chauvin: Hmm. 602 00:28:15,640 --> 00:28:15,692 Yeah. 603 00:28:15,692 --> 00:28:16,900 Tio povus esti vere utila. 604 00:28:16,900 --> 00:28:20,650 Se iu vere Gung-Ho pri uzante ĉi por ilia projekto 605 00:28:20,650 --> 00:28:26,555 aŭ en la estonteco, tiam ni estos plej definitive feliĉa diskuti kun vi pri tio. 606 00:28:26,555 --> 00:28:27,055 Hmm. 607 00:28:27,055 --> 00:28:29,530 >> Publiko: Rilatanta demando al kio mi demandis antaŭe. 608 00:28:29,530 --> 00:28:32,563 Por tiuj el vi, kiuj faris aliajn kadrojn kiuj estas ankoraŭ 609 00:28:32,563 --> 00:28:34,354 provas fari la saman aferon, plifaciligi 610 00:28:34,354 --> 00:28:38,452 konstrui retejon aŭ funcionalidad, mi kredas neniun senson 611 00:28:38,452 --> 00:28:43,653 kial ni estus sur Rails kontre Zend aŭ iuj de la aliaj kadroj 612 00:28:43,653 --> 00:28:44,236 kaj lingvoj. 613 00:28:44,236 --> 00:28:47,870 >> Zack Chauvin: mi nur diri miajn $ 0,02 pri tio. 614 00:28:47,870 --> 00:28:49,090 Mi amas Ruby on Rails. 615 00:28:49,090 --> 00:28:52,120 Mi havis la eblecon labori en ambaŭ PHP kaj Ruby on Rails. 616 00:28:52,120 --> 00:28:55,291 Mi multe preferus Ruby on Rails pro Ruby. 617 00:28:55,291 --> 00:28:56,790 Definitive, tio estas granda parto de ĝi. 618 00:28:56,790 --> 00:28:58,140 Kiel, kiam vi estas elektanta via kadro, 619 00:28:58,140 --> 00:28:59,490 vi ankaŭ elektu vian lingvon. 620 00:28:59,490 --> 00:29:03,510 >> Rubeno estas súper accessible-- Furaĝo multe pli bona lingvo ol PHP. 621 00:29:03,510 --> 00:29:06,250 Sed tio speco de persona prefero. 622 00:29:06,250 --> 00:29:09,360 Siavice, alia konsidero estas la komunumo malantaŭ la kadro 623 00:29:09,360 --> 00:29:11,570 ke vi laboras kun. 624 00:29:11,570 --> 00:29:13,840 >> Nun Ruby on Rails estas vere varmega. 625 00:29:13,840 --> 00:29:16,160 Estas tunoj de subteno malantaŭ ĝi. 626 00:29:16,160 --> 00:29:19,180 Vi sendi ion sur Parva Overflow pri problemo vi estas 627 00:29:19,180 --> 00:29:22,350 havante en Ruby on Rails, kaj ĝi estas respondita. 628 00:29:22,350 --> 00:29:26,900 Denove, ĝi estas malferma fonto, kiu signifas ke ĝi estas konstante sxangxigxas. 629 00:29:26,900 --> 00:29:28,910 Estas tunoj de personoj kiuj vere dediĉita 630 00:29:28,910 --> 00:29:32,370 por fari ĉi tion vere awesome kadro. 631 00:29:32,370 --> 00:29:34,225 Tial estas kial mi volas elekti Ruby on Rails. 632 00:29:34,225 --> 00:29:35,225 GABRIEL Guimaraes: Yeah. 633 00:29:35,225 --> 00:29:37,562 Mi dirus ke la ideo malantaŭ plej kadrojn vi estas 634 00:29:37,562 --> 00:29:39,770 tuj ekscios estas tre, tre simile, dekstra? 635 00:29:39,770 --> 00:29:42,210 Do la Model View Controller, la fakto ke nia controlador La 636 00:29:42,210 --> 00:29:44,793 tuj serĉos kiel iu kiel this-- ĉiu de la funkcioj 637 00:29:44,793 --> 00:29:47,235 estas kiel unu el viaj paĝoj, kaj ĝi alidirektilojn vi, 638 00:29:47,235 --> 00:29:48,750 kaj ĝi inicializa la variabloj. 639 00:29:48,750 --> 00:29:51,959 Tio tuj estos la sama afero por ĉiu kadro kiun vi vidas tie. 640 00:29:51,959 --> 00:29:53,375 Kaj tie tuj estos la modelo. 641 00:29:53,375 --> 00:29:55,270 Kaj vi povas fari aferojn kiel, "apartenas al". 642 00:29:55,270 --> 00:29:59,830 Do anstataŭ fari la SQL versio, vi nur, kiel, do, user.tweets, 643 00:29:59,830 --> 00:30:01,210 kaj vi ricevos ĉion. 644 00:30:01,210 --> 00:30:02,650 Ĉiuj havas tiun. 645 00:30:02,650 --> 00:30:07,070 Krom en Ruby, vi faras user.tweets, kaj tiam iuj kadroj en PHP, 646 00:30:07,070 --> 00:30:12,010 vi faru user.getalltweets KIE mia PHP ne estas problemo. 647 00:30:12,010 --> 00:30:13,460 Kiel, ĝi estas granda linio. 648 00:30:13,460 --> 00:30:15,320 Estas la sama afero, sed estas granda linio. 649 00:30:15,320 --> 00:30:19,350 >> Do tio estas unu el la ĉefaj kialoj de miaj preferoj super Ruby. 650 00:30:19,350 --> 00:30:22,290 Estas nur mi faras ĝuste la samon en aliaj kadroj, 651 00:30:22,290 --> 00:30:26,021 ĝi simple prenas min dufoje kiel longaj linioj de kodo. 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 >> Ajna alia demandojn? 655 00:30:32,540 --> 00:30:35,200 >> Zack Chauvin: Io Mi mencias quickly-- Gabe 656 00:30:35,200 --> 00:30:36,682 parolis iom sur gemoj. 657 00:30:36,682 --> 00:30:39,890 Kaj tiu estas vere great-- Mi volas diri, ĉi estas ia komuna al ĉiuj kadroj, 658 00:30:39,890 --> 00:30:45,170 ke estas speco de gemo koncepto, kiu estas kiel en mia malgranda ekzemplo, 659 00:30:45,170 --> 00:30:46,680 Mi ensaluti. 660 00:30:46,680 --> 00:30:48,460 Kiel vi povas ensaluti, subskribi ekstere. 661 00:30:48,460 --> 00:30:51,740 Kiel, tio estas vere speco de kompleksa procezo. 662 00:30:51,740 --> 00:30:55,950 Ĝi manipulis iom iom por vi en PSET 7. 663 00:30:55,950 --> 00:31:01,160 Sed mi ankoraŭ ne plene scias kiel implementar signo-en, signo-ekstere. 664 00:31:01,160 --> 00:31:03,740 Kaj tio estas ĉar Ruby on Rails havas tunojn 665 00:31:03,740 --> 00:31:06,080 de gemoj kiuj lavas da tio por vi. 666 00:31:06,080 --> 00:31:08,550 >> Denove, konvencio super agordo. 667 00:31:08,550 --> 00:31:11,050 Ĉies tuj estos faranta tiu signo-en, subskribi-out paŝo. 668 00:31:11,050 --> 00:31:14,450 Do kial ne simple fari pakon, nomita Intencu en tiu kazo, kiu estas gemo. 669 00:31:14,450 --> 00:31:15,810 Vi nur inkludas. 670 00:31:15,810 --> 00:31:18,970 Kaj tiam tie estas iom da helpo Enreta kun kiel uzi ĝin. 671 00:31:18,970 --> 00:31:21,230 Kaj vi ne devas maltrankviligi pri io ajn kiel tio. 672 00:31:21,230 --> 00:31:24,060 >> Alfiksantaj fotojn por tiuj things-- gemo por tio. 673 00:31:24,060 --> 00:31:27,220 Kiel, iam ajn vi provas fari nenion nova, estas gemo por tio. 674 00:31:27,220 --> 00:31:29,420 Kaj vi speco de simple peco kune ĉi tiuj gemoj 675 00:31:29,420 --> 00:31:33,160 kaj konstrui vere kompleksa apliko tre rapide. 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 Ajna alia demandojn? 679 00:31:38,270 --> 00:31:39,623 >> Stephen turbano: Woo-hoo. 680 00:31:39,623 --> 00:31:40,976 Mi ne kredas [inaudible]. 681 00:31:40,976 --> 00:31:41,966 >> GABRIEL Guimaraes: OK. 682 00:31:41,966 --> 00:31:42,840 Danke tiel, knaboj. 683 00:31:42,840 --> 00:31:43,839 >> Stephen turbano: Buh-bye. 684 00:31:43,839 --> 00:31:44,850 Zack Chauvin: Buh-bye. 685 00:31:44,850 --> 00:31:45,849 >> Stephen turbano: Woo-hoo. 686 00:31:45,849 --> 00:31:48,150 [Aplaŭdo] 687 00:31:48,150 --> 00:31:49,700 >> Yay. 688 00:31:49,700 --> 00:31:50,955