1 00:00:00,000 --> 00:00:03,968 >> [Música tocando] 2 00:00:03,968 --> 00:00:10,744 3 00:00:10,744 --> 00:00:14,040 >> STEPHEN Turban: Entón, eu estou Stephen turbante. 4 00:00:14,040 --> 00:00:16,990 Ao longo do lado aquí, quizais nós pode obter algunhas persoas para mergullo. 5 00:00:16,990 --> 00:00:20,150 6 00:00:20,150 --> 00:00:23,854 Temos Gabriel e Zack. 7 00:00:23,854 --> 00:00:26,270 Entón, por un breve guión sobre o que iso vai parecer, 8 00:00:26,270 --> 00:00:31,580 Eu vou estar facendo algunha moi ollar de alto nivel para o que é MVC. 9 00:00:31,580 --> 00:00:32,285 Gabe? 10 00:00:32,285 --> 00:00:35,080 >> GABRIEL Guimarães: eu vou falar Ruby e algo 11 00:00:35,080 --> 00:00:39,100 como o Rails funciona e como pode axudar a construír aplicacións web. 12 00:00:39,100 --> 00:00:42,070 >> Zack Chauvin: E eu vou amosar-lle un exemplo concreto de como 13 00:00:42,070 --> 00:00:45,112 usar Rails para construír un app super incrible. 14 00:00:45,112 --> 00:00:46,112 STEPHEN Turban: Awesome. 15 00:00:46,112 --> 00:00:46,350 Doce. 16 00:00:46,350 --> 00:00:46,850 Todo certo. 17 00:00:46,850 --> 00:00:49,510 Entón imos falar sobre MVC. 18 00:00:49,510 --> 00:00:54,970 Entón imos ao seguinte foto, que Vou facer premendo este botón. 19 00:00:54,970 --> 00:01:12,640 E imos para o desenvolvemento next--, Eu gusto de pensar en ir a CVS, 20 00:01:12,640 --> 00:01:17,240 porque CVS é ​​unha tenda e tamén ten un V no centro. 21 00:01:17,240 --> 00:01:21,460 >> E así imos imaxinar a unha tenda. 22 00:01:21,460 --> 00:01:25,380 E imos facer esta tenda vender só unha cousa. 23 00:01:25,380 --> 00:01:31,380 Entón nós imos ter esa almacenar só vender estes vasos vermellos. 24 00:01:31,380 --> 00:01:40,410 E imaxina que camiñar, e ir á fronte da tenda, por persoa. 25 00:01:40,410 --> 00:01:43,440 E o seu nome é Vince. 26 00:01:43,440 --> 00:01:48,370 >> E Vince ondas Ola para ti, di ola. 27 00:01:48,370 --> 00:01:50,860 E entender unha cousa sobre Vinci. 28 00:01:50,860 --> 00:01:56,880 Así, sempre que pensamos en Vinci, nós ten que pensar en dous adxectivos clave. 29 00:01:56,880 --> 00:02:00,600 Vince é bonito, pero é estúpido. 30 00:02:00,600 --> 00:02:01,320 Aceptar. 31 00:02:01,320 --> 00:02:06,810 Entón, vostede sabe, non por culpa propia, Desafortunadamente, é fermoso. 32 00:02:06,810 --> 00:02:08,009 El é o noso punto de vista. 33 00:02:08,009 --> 00:02:10,539 Así, o noso primeiro membro do elenco está aí. 34 00:02:10,539 --> 00:02:12,340 Teña isto en mente. 35 00:02:12,340 --> 00:02:17,230 >> Agora, lle pregunta Vince, vai, hey Vince. 36 00:02:17,230 --> 00:02:18,110 Eu son un cliente. 37 00:02:18,110 --> 00:02:19,130 Di ola. 38 00:02:19,130 --> 00:02:23,610 Eu realmente quero un dos seus vasos vermellos. 39 00:02:23,610 --> 00:02:24,760 E o que Vince dicir? 40 00:02:24,760 --> 00:02:26,510 Alguén ten algunha idea do que Vince di? 41 00:02:26,510 --> 00:02:30,340 42 00:02:30,340 --> 00:02:31,452 Vou chamada fría. 43 00:02:31,452 --> 00:02:32,660 ¿Que pensas Vince di? 44 00:02:32,660 --> 00:02:36,139 >> Audiencia: Di, podo amosar-lle onde está, pero eu non podo darlle un. 45 00:02:36,139 --> 00:02:41,330 >> STEPHEN Turban: Di, podo amosar-lle onde está, pero eu non podo darlle un. 46 00:02:41,330 --> 00:02:42,295 Aínda peor. 47 00:02:42,295 --> 00:02:44,420 Alguén ten outra idea do que Vince podería dicir? 48 00:02:44,420 --> 00:02:46,957 >> Audiencia: Ten que ir de selección se eles teñen algunha vasos vermellos. 49 00:02:46,957 --> 00:02:49,290 STEPHEN Turban: Vince non mesmo sabe que ten que comprobar. 50 00:02:49,290 --> 00:02:50,070 Algo máis? 51 00:02:50,070 --> 00:02:52,360 Entón dixen, ten que comprobar se ten vasos vermellos. 52 00:02:52,360 --> 00:02:52,895 Continúe. 53 00:02:52,895 --> 00:02:54,020 Audiencia: ¿Que é un vaso vermello? 54 00:02:54,020 --> 00:02:56,072 STEPHEN Turban: ¿Que é un vaso vermello? 55 00:02:56,072 --> 00:02:58,090 ¿Que é un vaso vermello? 56 00:02:58,090 --> 00:02:59,410 Vince é confuso. 57 00:02:59,410 --> 00:03:05,141 Entón Vince vai falar con noso próximo membro do elenco, Carl. 58 00:03:05,141 --> 00:03:10,252 E cando pensamos sobre Carl, nós gotta pensar sobre dous grandes adjectives-- 59 00:03:10,252 --> 00:03:15,110 el é controlador, pero é incapaz. 60 00:03:15,110 --> 00:03:17,840 >> Entón Vince goes-- el vai, o que é un vaso vermello? 61 00:03:17,840 --> 00:03:19,800 Eu non sei o que é un vaso vermello. 62 00:03:19,800 --> 00:03:23,080 El se vira, e el pregunta Carl. 63 00:03:23,080 --> 00:03:28,890 Di que, Carl, alguén pediu un vaso vermello. 64 00:03:28,890 --> 00:03:30,722 Podes facelo? 65 00:03:30,722 --> 00:03:31,680 E o que Carl dicir? 66 00:03:31,680 --> 00:03:32,513 Imos descubrir iso. 67 00:03:32,513 --> 00:03:34,330 Alguén ten algunha idea do que Carl di? 68 00:03:34,330 --> 00:03:37,260 E eu só vou repetir-lo de volta para ti. 69 00:03:37,260 --> 00:03:39,280 Vin un movemento da man. 70 00:03:39,280 --> 00:03:41,760 >> Audiencia: Di a alguén outra cousa para obter os vasos vermellos. 71 00:03:41,760 --> 00:03:44,430 >> STEPHEN Turban: Di outra persoa para obter o vaso vermello. 72 00:03:44,430 --> 00:03:46,270 Exactamente. 73 00:03:46,270 --> 00:03:49,010 E nós temos unha idea que esa persoa poida ser? 74 00:03:49,010 --> 00:03:52,590 75 00:03:52,590 --> 00:03:53,090 É unha información. 76 00:03:53,090 --> 00:03:56,960 Comezará cun M. Mob? 77 00:03:56,960 --> 00:04:00,225 >> Audiencia: Modelo. 78 00:04:00,225 --> 00:04:02,720 >> STEPHEN Turban: O modelo, si. 79 00:04:02,720 --> 00:04:06,920 O seu nome non é o modelo, por desgraza, porque iso é un nome parvo. 80 00:04:06,920 --> 00:04:09,310 Temos Mitt. 81 00:04:09,310 --> 00:04:12,970 E cando pensamos sobre Mitt-- non, iso non é unha imaxe de Zack. 82 00:04:12,970 --> 00:04:15,590 83 00:04:15,590 --> 00:04:21,759 Temos que pensar en dous adxectivos clave con Mitt. 84 00:04:21,759 --> 00:04:25,040 El é capaz, pero el é submiso. 85 00:04:25,040 --> 00:04:29,950 Entón Mitt sabe o que ten que facer, pero realmente non pode facer nada. 86 00:04:29,950 --> 00:04:32,340 Ou que realmente non pode decidir sobre o seu propio. 87 00:04:32,340 --> 00:04:33,256 >> Polo tanto, temos Carl. 88 00:04:33,256 --> 00:04:34,705 Carl grita con Mitt. 89 00:04:34,705 --> 00:04:39,990 E el di, hey Mitt, necesitamos vasos vermellos. 90 00:04:39,990 --> 00:04:46,410 E Mitt vai ao seu vaso depositario vermello. 91 00:04:46,410 --> 00:04:48,960 Baséase nun vaso, e dá-lo de volta. 92 00:04:48,960 --> 00:04:51,360 Alguén ten algunha idea do que acontece entón? 93 00:04:51,360 --> 00:04:54,070 94 00:04:54,070 --> 00:04:55,120 Dá a copa. 95 00:04:55,120 --> 00:05:01,740 Ata agora, Mitt foi a súa vermello repositorio vaso, toma para fóra, 96 00:05:01,740 --> 00:05:03,550 verifiquei fóra, dixo: Tomei un vaso vermello. 97 00:05:03,550 --> 00:05:06,717 E está dando para Carl. 98 00:05:06,717 --> 00:05:07,550 Vostede ten unha idea? 99 00:05:07,550 --> 00:05:08,980 ¿Que pensas Carl fai? 100 00:05:08,980 --> 00:05:10,926 >> Audiencia: Carl dá para Vince. 101 00:05:10,926 --> 00:05:13,550 >> STEPHEN Turban: Carl dá para Vince. 102 00:05:13,550 --> 00:05:14,165 Vince. 103 00:05:14,165 --> 00:05:15,999 >> Audiencia: E Vince mostra-lo para [inaudível]. 104 00:05:15,999 --> 00:05:16,998 STEPHEN Turban: Exactamente. 105 00:05:16,998 --> 00:05:18,080 Entón, é exactamente iso. 106 00:05:18,080 --> 00:05:21,040 Entón Vince leva a copa, nin sequera sabe o que é, 107 00:05:21,040 --> 00:05:23,840 pero mostra que para o usuario. 108 00:05:23,840 --> 00:05:27,140 Entón, imos tentar recrear iso realmente brevemente. 109 00:05:27,140 --> 00:05:31,380 E imos ter tres voluntarios silenciosos, 110 00:05:31,380 --> 00:05:35,260 como vostedes non van para poder falar. 111 00:05:35,260 --> 00:05:36,470 Entón, eu podería incorporarse tres? 112 00:05:36,470 --> 00:05:37,040 Aceptar. 113 00:05:37,040 --> 00:05:38,248 E quen quere ser? 114 00:05:38,248 --> 00:05:42,310 115 00:05:42,310 --> 00:05:43,750 >> Audiencia: Vou ser Vince. 116 00:05:43,750 --> 00:05:44,960 >> STEPHEN Turban: Vince, OK. 117 00:05:44,960 --> 00:05:46,190 Bonito, pero estúpido. 118 00:05:46,190 --> 00:05:47,510 Óptimo. 119 00:05:47,510 --> 00:05:48,570 Alguén? 120 00:05:48,570 --> 00:05:53,520 Estamos á procura dun capaz, pero submisa. 121 00:05:53,520 --> 00:05:55,760 Alguén máis quere ser capaz? 122 00:05:55,760 --> 00:05:56,944 >> Audiencia: eu podería ser Carl. 123 00:05:56,944 --> 00:05:57,860 STEPHEN Turban: Sweet. 124 00:05:57,860 --> 00:05:59,102 Temos Carl. 125 00:05:59,102 --> 00:05:59,866 >> Audiencia: Mitt. 126 00:05:59,866 --> 00:06:01,050 >> STEPHEN Turban: Mitt, OK. 127 00:06:01,050 --> 00:06:05,070 E nós imos ter a-- eu vou ser o cliente. 128 00:06:05,070 --> 00:06:07,460 Entón imos alí arriba, imos para arriba. 129 00:06:07,460 --> 00:06:10,470 E está todo o mundo no punto de vista? 130 00:06:10,470 --> 00:06:15,440 Entón, eu vou pedir para Vince ir por diante, só sorrir, 131 00:06:15,440 --> 00:06:18,230 só sorrir tan brillante como sexa posible. 132 00:06:18,230 --> 00:06:21,520 E nós imos pedir a Carl, seguro, por que non facelo, como, 133 00:06:21,520 --> 00:06:24,050 estar ben detrás dela? 134 00:06:24,050 --> 00:06:26,660 E Mitt, por que non facelo só tes que ir fóra na parte de atrás, 135 00:06:26,660 --> 00:06:31,410 e entón eu vou darlle un grupo de vasos para saír con. 136 00:06:31,410 --> 00:06:34,170 >> Entón, eu son un cliente. 137 00:06:34,170 --> 00:06:35,610 Eu veño. 138 00:06:35,610 --> 00:06:40,490 E fago [inaudível] I dicir, ola, gustaríame unha cunca. 139 00:06:40,490 --> 00:06:43,214 140 00:06:43,214 --> 00:06:44,580 Perfecto. 141 00:06:44,580 --> 00:06:45,580 Entón Vince non ten idea. 142 00:06:45,580 --> 00:06:46,915 Entón, o que Vince facer a continuación? 143 00:06:46,915 --> 00:06:50,770 144 00:06:50,770 --> 00:06:52,860 Vince-- OK, entón eu vou para ser narrante agora. 145 00:06:52,860 --> 00:06:55,390 >> Vince grita con Carl, vaso! 146 00:06:55,390 --> 00:06:58,840 147 00:06:58,840 --> 00:07:00,790 Que Carl facer? 148 00:07:00,790 --> 00:07:03,910 Carl grita con Mitt. 149 00:07:03,910 --> 00:07:06,710 Mitt colle un vaso. 150 00:07:06,710 --> 00:07:08,220 Mitt dá para Carl. 151 00:07:08,220 --> 00:07:10,870 Carl volve Vince. 152 00:07:10,870 --> 00:07:12,640 Vince e mostra ao usuario. 153 00:07:12,640 --> 00:07:17,960 >> E iso é un alto, alto, alta tan alto ollar, a MVC. 154 00:07:17,960 --> 00:07:22,460 Nós división lo por ter un punto de vista, o que o usuario ve, un controlador, alguén 155 00:07:22,460 --> 00:07:25,760 que fai todo en segundo plano pero realmente non pode actualizar calquera cousa 156 00:07:25,760 --> 00:07:29,960 ou non pode facer nada de calquera significado excepto chamando a vista e do modelo. 157 00:07:29,960 --> 00:07:35,280 E entón temos Mitt, o modelo, que actualiza todos os datos que temos. 158 00:07:35,280 --> 00:07:42,660 Entón, moitas grazas para a nosa fermosa, controlar e voluntarios capacitados. 159 00:07:42,660 --> 00:07:43,730 E eu creo que foi iso. 160 00:07:43,730 --> 00:07:45,040 >> [Aplausos] 161 00:07:45,040 --> 00:07:48,745 >> Creo que Gabe vai falar agora nun nivel elevado quizais menos. 162 00:07:48,745 --> 00:07:51,600 >> GABRIEL Guimarães: Ok, caras. 163 00:07:51,600 --> 00:07:56,790 Agora imos falar un pouco máis sobre código e sobre Ruby on Rails en si, 164 00:07:56,790 --> 00:08:00,750 e sobre como se relaciona a todos desta historia MVC. 165 00:08:00,750 --> 00:08:03,190 Basicamente, Ruby on Rails é un framework. 166 00:08:03,190 --> 00:08:04,640 Máis sobre iso nun segundo. 167 00:08:04,640 --> 00:08:07,760 >> Pero só para darlle un sentido de quen o está a usar, 168 00:08:07,760 --> 00:08:12,240 como, todos estes grandes companies-- así GitHub, Groupon, Twitter-- 169 00:08:12,240 --> 00:08:15,300 todos están utilizando Ruby on Rails como cadro principal 170 00:08:15,300 --> 00:08:16,510 para aplicar o seu sitio web. 171 00:08:16,510 --> 00:08:19,130 Entón, eu estou seguro que unha chea de xente usar estes sitios aquí. 172 00:08:19,130 --> 00:08:24,470 E é todo Ruby on Rails para aplicar o modelo, a vista, e que o controlador 173 00:08:24,470 --> 00:08:26,890 en todos estes sitios e moitos máis. 174 00:08:26,890 --> 00:08:27,830 OK? 175 00:08:27,830 --> 00:08:32,090 >> Entón, como dixen, Ruby on Rails é un framework. 176 00:08:32,090 --> 00:08:37,237 E pode tipo de pensar dun cadro no sentido de como construír unha casa. 177 00:08:37,237 --> 00:08:39,570 Entón, se está indo para construír un house-- e sempre pode 178 00:08:39,570 --> 00:08:40,653 comezar de cero, non? 179 00:08:40,653 --> 00:08:46,440 Pode tentar chegar cun modo para serra a madeira, 180 00:08:46,440 --> 00:08:49,760 e para levar a madeira para o lugar, e para obter as pedras en forma correcta, 181 00:08:49,760 --> 00:08:51,250 e despois de todo isto. 182 00:08:51,250 --> 00:08:54,020 Pero iso vai levar probablemente lotes de anos 183 00:08:54,020 --> 00:08:56,910 ata obter todo o material, e comeza todo xunto, 184 00:08:56,910 --> 00:08:58,790 e realmente comezar para construír a súa casa. 185 00:08:58,790 --> 00:09:01,748 >> Entón non é que se comezar con un cadro con algo que é 186 00:09:01,748 --> 00:09:04,260 xa no tipo de lugar para calquera tipo de casa 187 00:09:04,260 --> 00:09:07,750 que quere algo build-- iso é moi xenérico, pero que pode 188 00:09:07,750 --> 00:09:12,850 logo modelar cara ao seu propio goals-- entón pode aproveitar 189 00:09:12,850 --> 00:09:16,800 este poder dos cadros para construír -lhes algo moi, moito máis rápido. 190 00:09:16,800 --> 00:09:17,300 Aceptar. 191 00:09:17,300 --> 00:09:21,110 Polo tanto, esta é a mesma idea nunha marco para unha aplicación web 192 00:09:21,110 --> 00:09:23,755 ou para calquera tipo de aplicación, a esta materia. 193 00:09:23,755 --> 00:09:26,560 >> Realmente comezar coa metade dunha aplicación 194 00:09:26,560 --> 00:09:28,400 xa está aí no lugar para ti. 195 00:09:28,400 --> 00:09:32,230 E por iso, quero dicir que obter lotes de arquivos que xa posúen funcións, 196 00:09:32,230 --> 00:09:36,830 como bibliotecas, como función, e os comandos que poden ser executados en orde 197 00:09:36,830 --> 00:09:40,500 para facer a súa vida moito máis máis simple e máis fácil. 198 00:09:40,500 --> 00:09:41,180 Aceptar. 199 00:09:41,180 --> 00:09:43,555 >> Polo tanto, neste caso, nós imos para falar Ruby on Rails. 200 00:09:43,555 --> 00:09:45,920 Hai lotes de diferentes Estruturas aí. 201 00:09:45,920 --> 00:09:47,550 Hai Django para Python. 202 00:09:47,550 --> 00:09:50,990 Hai Zend Framework ou Laravel para PHP. 203 00:09:50,990 --> 00:09:52,390 Hai moitas diferentes. 204 00:09:52,390 --> 00:09:56,830 Ruby on Rails é un novo moi agradable. 205 00:09:56,830 --> 00:10:01,600 Unha morea de xente usar isto en startups e este tipo de ambiente. 206 00:10:01,600 --> 00:10:04,250 E algunhas delas moi grande empresas que eu mostre aquí antes 207 00:10:04,250 --> 00:10:06,050 tamén están utilizando Ruby on Rails. 208 00:10:06,050 --> 00:10:10,070 >> Entón, só para lle dar un sensación de que Ruby é 209 00:10:10,070 --> 00:10:13,030 como, xa que vostedes son máis utilizados para, como, C e un pouco de PHP 210 00:10:13,030 --> 00:10:17,560 agora, a Ruby será o equivalente de PHP neste sentido. 211 00:10:17,560 --> 00:10:18,380 Este non é Rubio. 212 00:10:18,380 --> 00:10:19,830 Este é C. OK? 213 00:10:19,830 --> 00:10:22,660 Pero isto é como a Función DJBHash que eu 214 00:10:22,660 --> 00:10:27,170 Coñezo moita xente usadas para erros ortográficos PSET. 215 00:10:27,170 --> 00:10:29,670 >> E en Ruby, bastante así como en PHP, 216 00:10:29,670 --> 00:10:32,745 podería aplicar iso con só algunhas liñas de código. 217 00:10:32,745 --> 00:10:34,870 En vez de ter que se preocupar sobre a función hash, 218 00:10:34,870 --> 00:10:37,950 ter que preocuparse dos baldes, e todo iso, pode simplemente dicir: 219 00:10:37,950 --> 00:10:40,160 dicionario = Hash.net. 220 00:10:40,160 --> 00:10:44,560 E entón usa o tipo de como a mesma idea que tiña PHP. 221 00:10:44,560 --> 00:10:45,970 E por iso é a verdade. 222 00:10:45,970 --> 00:10:48,080 E entón se quere comprobar, para comprobar a función 223 00:10:48,080 --> 00:10:51,560 sería se dicionario "foo" é igual a igual a true, return true. 224 00:10:51,560 --> 00:10:52,580 E iso é todo, OK? 225 00:10:52,580 --> 00:10:54,030 >> Entón notar algunhas diferenzas. 226 00:10:54,030 --> 00:10:57,940 Non hai punto e coma aquí, como había en C. 227 00:10:57,940 --> 00:11:00,710 Pero a idea xeral é moi semellante. 228 00:11:00,710 --> 00:11:02,030 OK? 229 00:11:02,030 --> 00:11:08,010 >> Ademais, en Ruby, existen pedras preciosas, que son unha especie de as bibliotecas Ruby. 230 00:11:08,010 --> 00:11:12,460 E Rails procesa-los en un xeito moi agradable para ti. 231 00:11:12,460 --> 00:11:15,480 Entón, se quere poñer nalgúns biblioteca que 232 00:11:15,480 --> 00:11:18,670 fai electrónicos, ou que fai de mensaxes de texto, 233 00:11:18,670 --> 00:11:22,170 ou que fai integración Facebook, ou calquera tipo de cousa 234 00:11:22,170 --> 00:11:24,374 así ao seu app, é moi, moi fácil. 235 00:11:24,374 --> 00:11:26,790 As probabilidades son que pode atopar algo así en internet. 236 00:11:26,790 --> 00:11:30,300 E eles simplemente facer algo así como put que 237 00:11:30,300 --> 00:11:32,290 gem que quere empregar no ficheiro de xoia. 238 00:11:32,290 --> 00:11:33,749 E entón Rails instala todo. 239 00:11:33,749 --> 00:11:36,456 Non ten que se preocupar de calquera de que, de xeito que é moi legal. 240 00:11:36,456 --> 00:11:38,500 Ademais, hai moito, abundancia de axuda en liña. 241 00:11:38,500 --> 00:11:40,485 Así, pode atopar unha morea de cousas. 242 00:11:40,485 --> 00:11:42,360 Se tes un erro, pode simplemente buscar en Google, 243 00:11:42,360 --> 00:11:45,090 e que será moi fácil de obter axuda. 244 00:11:45,090 --> 00:11:47,200 >> E é unha morea de diversão-- exactly-- porque 245 00:11:47,200 --> 00:11:51,420 Non ten que se preocupar co baixo nivel detalles, a posta en marcha de táboas de hash 246 00:11:51,420 --> 00:11:58,080 e ter que vir cara arriba con todo cabeceiras HTTP, e unha morea de cousas, 247 00:11:58,080 --> 00:12:00,197 e mesmo algunhas cousas nivel máis superior. 248 00:12:00,197 --> 00:12:02,030 Non ten que se preocupar sobre iso en Rails. 249 00:12:02,030 --> 00:12:04,010 El fai iso moi, moi ben para ti. 250 00:12:04,010 --> 00:12:07,490 E nós estamos indo a amosar que máis concretamente moi pronto. 251 00:12:07,490 --> 00:12:08,130 Aceptar. 252 00:12:08,130 --> 00:12:09,750 >> Entón, un pouco sobre o Ruby novo. 253 00:12:09,750 --> 00:12:11,420 Entón, é como C, como dixen. 254 00:12:11,420 --> 00:12:14,170 No canto de printf, dicimos "Pon", que é "poñer cadea." 255 00:12:14,170 --> 00:12:18,100 Pon unha cadea para a consola. 256 00:12:18,100 --> 00:12:20,601 E neste caso, estamos só imprimir "Ola mundo". 257 00:12:20,601 --> 00:12:23,100 Non necesitamos os parénteses, pero é moi semellante. 258 00:12:23,100 --> 00:12:26,190 >> E entón se quere facer algo aquí, 259 00:12:26,190 --> 00:12:30,450 como imprimir unha morea de "roupas íntimas" e unha banda de "bigs" nun loop while, 260 00:12:30,450 --> 00:12:32,060 é tipo como en C, non? 261 00:12:32,060 --> 00:12:35,090 Non ten os parámetros, pero é practicamente o mesmo. 262 00:12:35,090 --> 00:12:37,300 O retroceso aquí conta, entón x é igual a 1. 263 00:12:37,300 --> 00:12:41,250 E entón Mentres x é menor que 50-- este é un caso, trátase dun Else. 264 00:12:41,250 --> 00:12:42,810 É moi parecido ao que viu. 265 00:12:42,810 --> 00:12:47,150 >> E, a continuación, x + = 1 é só incrementando, tipo de como facer a ++ que pode 266 00:12:47,150 --> 00:12:50,213 facer en C. Pero é moi moito do que viu en C. 267 00:12:50,213 --> 00:12:52,380 Non debe ser moi complicado. 268 00:12:52,380 --> 00:12:54,320 Pero é máis poderoso. 269 00:12:54,320 --> 00:13:00,100 Polo tanto, hai algúns comandos aquí que son sempre un pouco máis recente. 270 00:13:00,100 --> 00:13:05,110 >> Así, por exemplo, "puts". 271 00:13:05,110 --> 00:13:08,680 Podes empregar esta notación hashtag aquí só para imprimir something-- 272 00:13:08,680 --> 00:13:13,490 moi parecido ao que faría se a% D ou% C ou algo parecido. 273 00:13:13,490 --> 00:13:17,600 E realmente pode poñer un Logo tras a declaración. 274 00:13:17,600 --> 00:13:21,180 Entón eu só quero facer isso- Se x é maior que 3. 275 00:13:21,180 --> 00:13:24,129 Entón, por que eu teño que facer unha enteira Se o bloque? 276 00:13:24,129 --> 00:13:24,670 Eu non sei. 277 00:13:24,670 --> 00:13:28,880 Só podo imprimir esta só se x é igual a máis de 3. 278 00:13:28,880 --> 00:13:32,740 Polo tanto, esta é unha forma dunha liña de facelo en Ruby. 279 00:13:32,740 --> 00:13:35,570 >> Unha lista en Ruby é algo moi versátil. 280 00:13:35,570 --> 00:13:38,110 Entón, o que realmente non precisa ter só un tipo. 281 00:13:38,110 --> 00:13:40,674 Pode ter unha secuencia, e logo algúns números, e calquera que sexa. 282 00:13:40,674 --> 00:13:42,590 E se quere anexar algo a unha lista, 283 00:13:42,590 --> 00:13:46,860 pode só usar este notación aquí. 284 00:13:46,860 --> 00:13:48,310 >> E se quere facer unha iteración. 285 00:13:48,310 --> 00:13:56,200 Practicamente o 4each en PHP, aquí, ten unha lista e fai "List.each facer." 286 00:13:56,200 --> 00:13:59,464 E este "ELEM," esta é como o nome de cada elemento 287 00:13:59,464 --> 00:14:00,880 que eu vou ter na miña lista. 288 00:14:00,880 --> 00:14:03,890 E entón eu podo só "pon ELEM." 289 00:14:03,890 --> 00:14:07,130 E "pon" Practicamente tirantes poñer-lo para ti, imprimir lo. 290 00:14:07,130 --> 00:14:09,920 Non importa se é unha cadea ou un int. 291 00:14:09,920 --> 00:14:12,790 Vai solucionar isto para ti. 292 00:14:12,790 --> 00:14:14,270 Non? 293 00:14:14,270 --> 00:14:14,790 Con estilo. 294 00:14:14,790 --> 00:14:19,980 >> E, así como PHP, Ruby e HTML tamén integrar moi, moi ben. 295 00:14:19,980 --> 00:14:23,340 E aquí, hai algúns HTML con Ruby na mesma. 296 00:14:23,340 --> 00:14:25,860 Polo tanto, temos unha etiqueta corpo como HTML. 297 00:14:25,860 --> 00:14:28,270 E se queremos comprobar que un usuario, por exemplo, 298 00:14:28,270 --> 00:14:35,730 logueado, podemos só dicir que, a partir de Ruby, se user.logged_in?, Finais de Ruby. 299 00:14:35,730 --> 00:14:39,240 Imprimir esta cousa toda, que ten algún Ruby in-lo, o que é xusto 300 00:14:39,240 --> 00:14:42,230 tipo como de que a sintaxe para PHP que imprime unha variable. 301 00:14:42,230 --> 00:14:43,380 Imos imprimir o user.name. 302 00:14:43,380 --> 00:14:48,870 >> Entón, benvido, Stephen, dentro dunha div HTML. 303 00:14:48,870 --> 00:14:53,760 E, ao final, temos un "fin" e Código Ruby, o que significa que esta é a miña 304 00:14:53,760 --> 00:14:54,470 Se o bloque. 305 00:14:54,470 --> 00:14:55,060 OK? 306 00:14:55,060 --> 00:14:57,684 Entón, é como unha perfecta integración entre Ruby e HTML. 307 00:14:57,684 --> 00:15:00,056 308 00:15:00,056 --> 00:15:01,430 Hai tamén gran cantidade de recursos. 309 00:15:01,430 --> 00:15:06,290 Pero, antes de seguir adiante, alguén ten dúbidas sobre Ruby, algo? 310 00:15:06,290 --> 00:15:08,960 Aceptar. 311 00:15:08,960 --> 00:15:12,250 >> Hai moitos recursos en liña para tryruby.org, Code Academy, 312 00:15:12,250 --> 00:15:18,740 ruby-lang.org, onde podes probalo para fóra no seu navegador antes de que realmente 313 00:15:18,740 --> 00:15:22,310 digo, oh, OK, eu vou usar Ruby para o meu proxecto final. 314 00:15:22,310 --> 00:15:24,020 E así definitivamente dar aqueles probar. 315 00:15:24,020 --> 00:15:26,510 Todos estes diapositivas son estará dispoñible en liña, 316 00:15:26,510 --> 00:15:28,950 así pode simplemente baixalos. 317 00:15:28,950 --> 00:15:30,115 E si? 318 00:15:30,115 --> 00:15:31,889 >> Audiencia: [inaudível] o que só mostrou 319 00:15:31,889 --> 00:15:36,851 foi HTML eo código embutido Lo para esa noción de Model View 320 00:15:36,851 --> 00:15:37,350 Controlador? 321 00:15:37,350 --> 00:15:37,610 >> GABRIEL Guimarães: Si. 322 00:15:37,610 --> 00:15:40,290 Faremos isto nun segundo cando amosamos noso exemplo, OK? 323 00:15:40,290 --> 00:15:41,290 Grazas pola pregunta. 324 00:15:41,290 --> 00:15:44,760 Polo tanto, a cuestión era, basicamente, se nós pode amosar esta integración do Ruby 325 00:15:44,760 --> 00:15:49,230 HTML no Modelo Ver cadro Controller. 326 00:15:49,230 --> 00:15:51,710 >> Así, a idea do Modelo Cadro View Controller 327 00:15:51,710 --> 00:15:55,740 é que é, basicamente, unha filosofía, só como Stephen mostrou aquí. 328 00:15:55,740 --> 00:15:58,177 E non é algo que ten que facer, 329 00:15:58,177 --> 00:16:00,510 pero é algo que fai a súa vida moito máis simple. 330 00:16:00,510 --> 00:16:04,170 E Ruby on Rails é construído en torno a esta filosofía de código. 331 00:16:04,170 --> 00:16:06,320 Entón, nós estamos indo a amosar un exemplo moi pronto. 332 00:16:06,320 --> 00:16:07,340 >> Entón Rails é o amor. 333 00:16:07,340 --> 00:16:09,140 Unha morea de persoas están usando-o, como dixen. 334 00:16:09,140 --> 00:16:10,510 E é moi divertido. 335 00:16:10,510 --> 00:16:12,360 Vostedes deberían definitivamente darlle un intento. 336 00:16:12,360 --> 00:16:15,120 MVC fai todo máis sinxelo. 337 00:16:15,120 --> 00:16:18,110 Así, o Model View Controller, as cousas que separan 338 00:16:18,110 --> 00:16:21,450 e poñendo unha persoa, por si só, ou unha parte do seu programa 339 00:16:21,450 --> 00:16:24,850 para facer cada un dos diferentes postos de traballo que a aplicación ten de facer. 340 00:16:24,850 --> 00:16:26,676 E menos tempo gastado sobre os problemas de baixo nivel. 341 00:16:26,676 --> 00:16:27,800 E moi popular agora. 342 00:16:27,800 --> 00:16:29,917 Temos Rails 4.0, que é unha nova versión. 343 00:16:29,917 --> 00:16:31,500 E ven con unha morea de cousas legais. 344 00:16:31,500 --> 00:16:32,562 Outra pregunta. 345 00:16:32,562 --> 00:16:34,490 >> Audiencia: Outra pregunta. 346 00:16:34,490 --> 00:16:39,310 Ruby on Rails contra Ruby on Rails Grails. 347 00:16:39,310 --> 00:16:40,230 >> GABRIEL Guimarães: Aceptar. 348 00:16:40,230 --> 00:16:42,252 A pregunta era, Ruby on Rails contra Ruby-- 349 00:16:42,252 --> 00:16:42,960 Audiencia: Grails. 350 00:16:42,960 --> 00:16:43,490 Ruby? 351 00:16:43,490 --> 00:16:44,490 >> GABRIEL Guimarães: Yeah. 352 00:16:44,490 --> 00:16:45,955 Entón Ruby é a linguaxe. 353 00:16:45,955 --> 00:16:46,745 >> Audiencia: Non. 354 00:16:46,745 --> 00:16:50,360 Eu estou pedindo para comparar unha lingua e un cadro, Ruby on Rails, 355 00:16:50,360 --> 00:16:52,975 con outra linguaxe popular framework-- Grails-- con Ruby 356 00:16:52,975 --> 00:16:53,310 on Rails. 357 00:16:53,310 --> 00:16:53,720 >> GABRIEL Guimarães: Aceptar. 358 00:16:53,720 --> 00:16:54,480 Sentímolo. 359 00:16:54,480 --> 00:16:57,390 A cuestión foi, compare Ruby e Ruby on Rails 360 00:16:57,390 --> 00:16:59,750 a outro cadro e another-- 361 00:16:59,750 --> 00:17:01,022 >> Audiencia: Ruby. 362 00:17:01,022 --> 00:17:01,954 Está seguro. 363 00:17:01,954 --> 00:17:03,820 Se non sabe sobre iso, todo ben. 364 00:17:03,820 --> 00:17:05,359 >> GABRIEL Guimarães: Como, o que eu entendo é isso-- 365 00:17:05,359 --> 00:17:07,080 >> Audiencia: Non hai outro framework chamado Grails. 366 00:17:07,080 --> 00:17:07,700 >> GABRIEL Guimarães: Oh, Grails. 367 00:17:07,700 --> 00:17:08,650 Eu nunca oín falar diso. 368 00:17:08,650 --> 00:17:09,640 Sentímolo. 369 00:17:09,640 --> 00:17:11,690 Eu nunca oín falar de Groovy on Rails. 370 00:17:11,690 --> 00:17:12,744 Sentímolo. 371 00:17:12,744 --> 00:17:14,869 >> Audiencia: É moito mellor integrado con Java. 372 00:17:14,869 --> 00:17:15,450 >> GABRIEL Guimarães: Entendo. 373 00:17:15,450 --> 00:17:17,555 >> Audiencia: Eu son só un curioso sobre algunhas persoas que coñezo como-- 374 00:17:17,555 --> 00:17:20,240 >> GABRIEL Guimarães: Non, eu nunca escoitou falar que un, por desgraza. 375 00:17:20,240 --> 00:17:20,700 Grails. 376 00:17:20,700 --> 00:17:21,410 >> Audiencia: E algunhas persoas obviamente, como Ruby on Rails. 377 00:17:21,410 --> 00:17:22,640 >> GABRIEL Guimarães: Eu teño Rubio usados ​​on Rails moito. 378 00:17:22,640 --> 00:17:24,790 Eu usei algúns Django con Python, como dixen. 379 00:17:24,790 --> 00:17:26,329 Eu usei algúns Laravel. 380 00:17:26,329 --> 00:17:29,490 Pero eu non usara Groovy on Rails. 381 00:17:29,490 --> 00:17:31,630 Sentímolo. 382 00:17:31,630 --> 00:17:34,040 E é moi popular agora con Rails 4.0. 383 00:17:34,040 --> 00:17:38,180 Como, algunhas das cousas que o Rails fai por ti, por exemplo, é vostede 384 00:17:38,180 --> 00:17:43,650 ten unha morea de arquivos CSS e lotes de arquivos JavaScript. 385 00:17:43,650 --> 00:17:45,790 E pode tratalos como separado e todo. 386 00:17:45,790 --> 00:17:50,010 >> Pero, entón, cando automatically-- envía o seu código para produción, 387 00:17:50,010 --> 00:17:52,770 el compila automaticamente los todos nun único arquivo 388 00:17:52,770 --> 00:17:55,150 que é minified, sen ningunha espazos, de xeito que el ocupa 389 00:17:55,150 --> 00:17:59,400 menos espazo na súa aplicación, de xeito que realmente pode escalar cousas moito. 390 00:17:59,400 --> 00:18:04,380 É por iso que estas grandes empresas como Twitter e GitHub 391 00:18:04,380 --> 00:18:10,220 están usando Rails, porque fai todo que, para ti, o que é moi legal. 392 00:18:10,220 --> 00:18:12,840 >> Unha cousa que é moi, moi, moi asustado 393 00:18:12,840 --> 00:18:18,450 para as persoas, incluso eu, que están tentando traballar 394 00:18:18,450 --> 00:18:22,430 cun cadro no inicio, é que cando comeza unha aplicación, 395 00:18:22,430 --> 00:18:24,440 vai ver unha morea de arquivos. 396 00:18:24,440 --> 00:18:28,460 Como, cando se crea Rails Nova, a miña petición, 397 00:18:28,460 --> 00:18:31,710 vai ver todo isto folders-- app, bin, configuración, db, lib, 398 00:18:31,710 --> 00:18:32,482 rexistro, público. 399 00:18:32,482 --> 00:18:33,690 Como, montes e montes de cousas. 400 00:18:33,690 --> 00:18:35,030 >> E a primeira vez que eu vin aquilo, eu era como, 401 00:18:35,030 --> 00:18:36,570 OK, eu non teño idea do que está a suceder. 402 00:18:36,570 --> 00:18:38,890 Eu só quero crear unha Sitio web con "Ola, mundo", 403 00:18:38,890 --> 00:18:41,730 e iso está me dando, como, 100 millóns de páxinas diferentes. 404 00:18:41,730 --> 00:18:43,070 Eu non sei o que está a suceder. 405 00:18:43,070 --> 00:18:47,460 Entón, por favor, non ser moi asustados con iso. 406 00:18:47,460 --> 00:18:53,699 >> A idea é que realmente ten a metade dunha casa alí para xa. 407 00:18:53,699 --> 00:18:55,490 Ten un enteiro marco para xa. 408 00:18:55,490 --> 00:18:56,948 É por iso que hai tantos arquivos. 409 00:18:56,948 --> 00:19:00,150 Pero o bo é que separa todos eles moi ben. 410 00:19:00,150 --> 00:19:03,370 As probabilidades son de que non se preocupe sobre a maioría dos mesmos. 411 00:19:03,370 --> 00:19:05,820 >> O máis importante, eu diría, é o cartafol app, 412 00:19:05,820 --> 00:19:07,147 onde o seu app realmente vive. 413 00:19:07,147 --> 00:19:09,730 Así, a configuración, vai cómpre configurar algunhas cousas, 414 00:19:09,730 --> 00:19:12,840 como base de datos e cousas así que tipo de base de datos que está a usar. 415 00:19:12,840 --> 00:19:17,430 Pero ademais, como a maioría dos o seu traballo será feito en app. 416 00:19:17,430 --> 00:19:21,620 Así, en app, ten activos, controladores, axudantes, maletas directas, modelos, puntos de vista. 417 00:19:21,620 --> 00:19:24,460 Entón, aquí, comeza a ver que controladores, modelos e puntos de vista veñen 418 00:19:24,460 --> 00:19:25,410 en xogo. 419 00:19:25,410 --> 00:19:27,270 >> Usuarios son só se quere enviar un correo. 420 00:19:27,270 --> 00:19:29,400 Helpers se quere crear algunhas funcións 421 00:19:29,400 --> 00:19:32,050 que usa moito na vista. 422 00:19:32,050 --> 00:19:34,490 Entón poñer-los en axudantes. 423 00:19:34,490 --> 00:19:39,000 E activos é basicamente todos súas imaxes, todo o seu CSS, 424 00:19:39,000 --> 00:19:41,200 todo o seu JavaScript, e como estes tipos 425 00:19:41,200 --> 00:19:43,110 de cousas que son enviados para o cliente. 426 00:19:43,110 --> 00:19:45,500 E todo o que está no activo, que dixen antes, queda minified. 427 00:19:45,500 --> 00:19:45,940 Ela é compilada. 428 00:19:45,940 --> 00:19:49,189 E realmente non se preocupe que, cando se vai ao código de produción. 429 00:19:49,189 --> 00:19:49,770 Con estilo. 430 00:19:49,770 --> 00:19:54,205 >> Agora Zack vai entrar, e é imos facer un exemplo de Twitter50. 431 00:19:54,205 --> 00:19:54,970 >> Audiencia: Woo-hoo! 432 00:19:54,970 --> 00:19:56,726 >> Zack Chauvin: Awesome. 433 00:19:56,726 --> 00:20:00,180 Así que tiven a oportunidade de traballar con Ruby on Rails este verán. 434 00:20:00,180 --> 00:20:01,580 É un cadro sorprendente. 435 00:20:01,580 --> 00:20:03,580 Estou moi parcial a el. 436 00:20:03,580 --> 00:20:09,770 E eu vou amosar-lle un pouco de un exemplo do que pode parecer. 437 00:20:09,770 --> 00:20:11,020 Ir ata Chrome. 438 00:20:11,020 --> 00:20:16,350 Polo tanto, este é un exemplo dunha forma moi simple Ruby on Rails application-- algo 439 00:20:16,350 --> 00:20:19,690 como este é algo que Ruby realmente destaca 440 00:20:19,690 --> 00:20:24,070 isso-- só que o seu modelos son moi ben definido. 441 00:20:24,070 --> 00:20:27,150 >> Neste exemplo, vostede verá dous modelos diferentes, que 442 00:20:27,150 --> 00:20:30,380 son de que temos usuarios e temos tweets. 443 00:20:30,380 --> 00:20:33,480 Polo tanto, este é Twitter50, Propio Twitter de Harvard. 444 00:20:33,480 --> 00:20:36,820 Como verás, eu estou rexistrado comozack. 445 00:20:36,820 --> 00:20:38,860 E eu son capaz de facer novos tweets. 446 00:20:38,860 --> 00:20:42,266 Entón eu penso-- "Este é un" - desculpe? 447 00:20:42,266 --> 00:20:43,182 Audiencia: [inaudível]. 448 00:20:43,182 --> 00:20:44,061 Zack Chauvin: Oh, OK. 449 00:20:44,061 --> 00:20:45,060 Que deixar o servidor. 450 00:20:45,060 --> 00:20:47,480 Excelente. 451 00:20:47,480 --> 00:20:49,630 Entón aquí estamos nós. 452 00:20:49,630 --> 00:20:52,520 Como verás, temos a nosa Twitter aplicación aquí. 453 00:20:52,520 --> 00:20:55,020 E é super doado de iniciar o servidor. 454 00:20:55,020 --> 00:20:57,991 Nós imos só facer "servidor carrís." 455 00:20:57,991 --> 00:20:58,490 Óptimo. 456 00:20:58,490 --> 00:20:58,990 Aceptar. 457 00:20:58,990 --> 00:21:00,830 Grazas por iso. 458 00:21:00,830 --> 00:21:02,200 Entón, agora estamos correndo. 459 00:21:02,200 --> 00:21:06,120 >> E nós imos dicir: "Este é un seminario incrible. " 460 00:21:06,120 --> 00:21:08,870 E imos ver que pasa. 461 00:21:08,870 --> 00:21:10,020 Entón, nós imos twittar sobre iso. 462 00:21:10,020 --> 00:21:13,390 Alí no fondo, pode ver agora hai máis de tres tweets. 463 00:21:13,390 --> 00:21:15,980 Entón temos un pouco de paxinación suceder. 464 00:21:15,980 --> 00:21:19,640 E nós temos que tweet. 465 00:21:19,640 --> 00:21:24,010 E eu tamén pode buscar a través do meu Busca tweets-- para este e os dous 466 00:21:24,010 --> 00:21:27,960 aqueles que teñen a palabra "This" neles aparecen. 467 00:21:27,960 --> 00:21:30,860 Tamén pode borrar os tweets por premendo no pequeno botón Delete. 468 00:21:30,860 --> 00:21:36,440 E, obviamente, eu só podo borrar o posto que pertencía a min. 469 00:21:36,440 --> 00:21:39,030 >> Xa, nós case ter a funcionalidade de Twitter. 470 00:21:39,030 --> 00:21:42,000 Como, cando pensa sobre iso, Twitter realmente non fai moito. 471 00:21:42,000 --> 00:21:44,280 Ten os usuarios, ten tweets. 472 00:21:44,280 --> 00:21:47,690 Hai algunhas características máis complexas. 473 00:21:47,690 --> 00:21:52,960 Pero cando realmente comezar a el, é ben unha aplicación sinxela Ruby on Rails. 474 00:21:52,960 --> 00:21:57,560 E algo así, cun bo entendemento do Ruby on Rails, 475 00:21:57,560 --> 00:22:00,680 podería probablemente facer en unha ou dúas horas. 476 00:22:00,680 --> 00:22:04,210 >> E iso vén realmente ao seu mantra Ruby, 477 00:22:04,210 --> 00:22:07,540 que é convención sobre configuración. 478 00:22:07,540 --> 00:22:10,965 Entón, de volta ao día, a xente, a calquera hora querían facer esta web, 479 00:22:10,965 --> 00:22:12,340 tería que comezar de cero. 480 00:22:12,340 --> 00:22:13,740 OK, quero facer un sitio. 481 00:22:13,740 --> 00:22:15,970 Imos facer este ficheiro e este ficheiro e este ficheiro. 482 00:22:15,970 --> 00:22:19,180 >> Con Ruby on Rails, non hai nada diso. 483 00:22:19,180 --> 00:22:21,170 Vostede di: Eu quero un novo app. 484 00:22:21,170 --> 00:22:25,010 E, así como Gabe mostrounos, el crea a estrutura de arquivos para nós. 485 00:22:25,010 --> 00:22:27,490 E acabamos de cambiar o pequenas pezas que necesitamos. 486 00:22:27,490 --> 00:22:31,570 Acabamos de personalizar o que é único sobre o noso app. 487 00:22:31,570 --> 00:22:32,250 Con estilo. 488 00:22:32,250 --> 00:22:38,540 Entón, volvendo á nosa presentación preview-- interesante. 489 00:22:38,540 --> 00:22:41,408 490 00:22:41,408 --> 00:22:42,724 Onde podo presentar? 491 00:22:42,724 --> 00:22:43,640 Audiencia: pantalla completa. 492 00:22:43,640 --> 00:22:45,715 Top dereita. 493 00:22:45,715 --> 00:22:48,480 >> Zack Chauvin: Excelente. 494 00:22:48,480 --> 00:22:48,990 Con estilo. 495 00:22:48,990 --> 00:22:49,490 Aceptar. 496 00:22:49,490 --> 00:22:51,480 Entón, en primeiro lugar, o modelo. 497 00:22:51,480 --> 00:22:54,100 Stephen fixo un impresionante traballo de delinear MVC. 498 00:22:54,100 --> 00:22:57,980 E agora imos relacionar que volve para Ruby on Rails. 499 00:22:57,980 --> 00:23:00,730 Así, o modelo que pode tipo de pensar en como a base de datos. 500 00:23:00,730 --> 00:23:04,870 Vostede viu iso en CS50 Finanzas, onde as tendas modelo 501 00:23:04,870 --> 00:23:07,590 a información sobre cantas accións que ten, 502 00:23:07,590 --> 00:23:10,986 ou todas as transaccións que fixo. 503 00:23:10,986 --> 00:23:12,860 Este é un exemplo de unha liña de como faría 504 00:23:12,860 --> 00:23:15,640 ir sobre como facer un novo modelo no Rails. 505 00:23:15,640 --> 00:23:17,102 Entón, quero un usuario. 506 00:23:17,102 --> 00:23:19,060 Vai ter un correo electrónico, que é unha cadea, 507 00:23:19,060 --> 00:23:20,990 e un contrasinal, que é tamén a cadea. 508 00:23:20,990 --> 00:23:27,150 Entón, é como those-- Quero que cada fila na miña táboa de usuarios para parecerse con iso. 509 00:23:27,150 --> 00:23:30,730 >> A parte realmente impresionante sobre Rails é que 510 00:23:30,730 --> 00:23:33,755 fai innecesaria a escribir calquera SQL moi bonito. 511 00:23:33,755 --> 00:23:38,640 Cantos de vostedes amado escribir SQL en PSET 7? 512 00:23:38,640 --> 00:23:39,770 Exactamente. 513 00:23:39,770 --> 00:23:41,840 SQL non é moi doado de usar. 514 00:23:41,840 --> 00:23:46,470 E Rails abstrai todo o que fóra con estes comandos realmente fáciles. 515 00:23:46,470 --> 00:23:51,580 Así, por exemplo, se temos un usuario, o usuario ten moitos tweets. 516 00:23:51,580 --> 00:23:56,580 E cada un deses os tweets pertence a un usuario. 517 00:23:56,580 --> 00:23:59,520 >> Entón, se ollar aquí, este é o noso modelo para o noso tweet. 518 00:23:59,520 --> 00:24:02,750 E todo o que temos que dicir é este único linha-- Estou un tweet 519 00:24:02,750 --> 00:24:05,090 e eu pertenzo a un usuario. 520 00:24:05,090 --> 00:24:10,160 E con esa liña única e unha pouco de configuración da base de datos, 521 00:24:10,160 --> 00:24:12,990 Rails establece esa relación. 522 00:24:12,990 --> 00:24:17,450 A calquera momento, podo só dicir, zack.tweets, como, darme todo de tweets Zack. 523 00:24:17,450 --> 00:24:19,420 En SQL. 524 00:24:19,420 --> 00:24:20,040 Super fácil. 525 00:24:20,040 --> 00:24:26,580 Unha vez máis, iso é convención sobre configuración entrando en xogo. 526 00:24:26,580 --> 00:24:29,770 >> Podes ver un pouco dun exemplo de Rubio aquí. 527 00:24:29,770 --> 00:24:32,740 Como dixo Gave, escribir Ruby é tipo de como escribir Inglés. 528 00:24:32,740 --> 00:24:35,540 É unha linguaxe moi alto nivel, e pasa a ser moi fácil 529 00:24:35,540 --> 00:24:42,380 para nós a dicir cousas como, quero asegurarse de que este tweet ten un corpo. 530 00:24:42,380 --> 00:24:43,740 A súa presenza é certo. 531 00:24:43,740 --> 00:24:47,170 E quero estar seguro de que esta tweet, como Twitter normal, 532 00:24:47,170 --> 00:24:49,020 ten unha lonxitude máxima de 140. 533 00:24:49,020 --> 00:24:52,800 É super-intuitivo, un realmente grande lingua. 534 00:24:52,800 --> 00:24:54,590 >> Logo temos a vista. 535 00:24:54,590 --> 00:24:57,510 Entón, trátase de HTML e CSS. 536 00:24:57,510 --> 00:25:00,490 E aquí está un exemplo de un punto de vista. 537 00:25:00,490 --> 00:25:05,600 Entón Ruby on Rails tipo de perfección integra tanto Ruby e HTML 538 00:25:05,600 --> 00:25:08,880 a fin de xerar o que queremos na páxina. 539 00:25:08,880 --> 00:25:11,380 Polo tanto, este é un exemplo do noso esquema. 540 00:25:11,380 --> 00:25:15,710 Así, podes ver algunhas marcas que caras están afeitos, como HTML, corpo, 541 00:25:15,710 --> 00:25:17,250 todas esas cousas boas. 542 00:25:17,250 --> 00:25:21,760 >> E ben aquí, con todo, nós incorporar algunhas Rubi, dicindo: 543 00:25:21,760 --> 00:25:25,390 se hai unha mensaxe a ser exhibida, a continuación, amosar a mensaxe nunha div. 544 00:25:25,390 --> 00:25:28,060 Entón eu non vou ir moito para iso. 545 00:25:28,060 --> 00:25:31,190 Pero este é xeralmente un páxina que é renderizado on-- 546 00:25:31,190 --> 00:25:33,960 e non importa en que páxina está en, este é renderizado. 547 00:25:33,960 --> 00:25:38,110 Entón, iso é o que está incluído sempre. 548 00:25:38,110 --> 00:25:38,980 Con estilo. 549 00:25:38,980 --> 00:25:42,730 >> Outro exemplo dun view-- este é daquel en que escolleron todos os tweets. 550 00:25:42,730 --> 00:25:45,630 E algunhas destas cousas pode parecer moi familiar. 551 00:25:45,630 --> 00:25:50,050 Así, por exemplo, aquí, estamos loop través de cada un dos tweets 552 00:25:50,050 --> 00:25:51,960 e estamos a imprimir a eles. 553 00:25:51,960 --> 00:25:54,320 Entón, aquí é onde estamos imprimindo a corpo. 554 00:25:54,320 --> 00:26:00,910 E se user-- do Tweet Aquí é un exemplo real de non SQL está implicado. 555 00:26:00,910 --> 00:26:04,390 Eu só estou pedindo, é este usuario do chilrear o usuario actual? 556 00:26:04,390 --> 00:26:06,030 Logo mostrar un enlace para excluílo. 557 00:26:06,030 --> 00:26:06,880 É super sinxelo. 558 00:26:06,880 --> 00:26:09,670 559 00:26:09,670 --> 00:26:10,920 >> O controlador. 560 00:26:10,920 --> 00:26:14,390 Polo tanto, este é, de novo, a interface entre o modelo ea vista. 561 00:26:14,390 --> 00:26:17,820 É o que fai o traballo duro sendo de interacting-- o intermediario. 562 00:26:17,820 --> 00:26:20,980 El leva información para a ver, o que imos ver en un segundo. 563 00:26:20,980 --> 00:26:23,850 E, a fin de interactuar co modelo, isto 564 00:26:23,850 --> 00:26:29,170 chama métodos modelo, que son o que vostedes están familiarizados como funcións. 565 00:26:29,170 --> 00:26:31,490 >> Así, por exemplo, esta é controlador do noso tweet. 566 00:26:31,490 --> 00:26:33,930 Pode parecer un pouco asustado agora. 567 00:26:33,930 --> 00:26:38,240 Pero en realidade é super intuitivo unha vez que comezar a mergullo. 568 00:26:38,240 --> 00:26:42,990 Así, por exemplo, no noso índice, que é onde queremos mostrar todo tweets. 569 00:26:42,990 --> 00:26:46,910 E así esta liña, basicamente, só pide a todos os tweets. 570 00:26:46,910 --> 00:26:50,300 E entón nós arrincar ambos os novos tweet-- así como 571 00:26:50,300 --> 00:26:52,320 si queren crear un novo tweet nesa páxina. 572 00:26:52,320 --> 00:26:54,250 >> E pregunta o que o usuario actual é. 573 00:26:54,250 --> 00:26:58,850 E esta é moi semellante ao ingresos que viu na PSET 7, 574 00:26:58,850 --> 00:27:02,230 onde é só unha especie de contar o view-- é unha especie de, como, 575 00:27:02,230 --> 00:27:06,284 pasando as variables que é vai ter na vista á vista. 576 00:27:06,284 --> 00:27:08,200 E hai un grupo enteiro métodos de diferentes 577 00:27:08,200 --> 00:27:10,410 que o controlador deste Tweet pode manipular. 578 00:27:10,410 --> 00:27:12,495 >> Pero, realmente, Rails fai un gran traballo de tipo 579 00:27:12,495 --> 00:27:18,910 de dividíndoos en diferentes accións que o controlador podería facer. 580 00:27:18,910 --> 00:27:23,800 Existen dúbidas sobre calquera das partes MVC de Rails? 581 00:27:23,800 --> 00:27:25,550 Kind of só unha brisa. 582 00:27:25,550 --> 00:27:29,250 Entón vostedes poden comprobar Lo no seu propio país. 583 00:27:29,250 --> 00:27:30,106 Impresionante. 584 00:27:30,106 --> 00:27:31,200 Nós imos seguir. 585 00:27:31,200 --> 00:27:32,546 >> Así, a instalación Rails. 586 00:27:32,546 --> 00:27:35,170 Instalando Rails pode ser, como, unha das partes máis asustado 587 00:27:35,170 --> 00:27:37,830 dos carrís enteiros proceso, por desgraza. 588 00:27:37,830 --> 00:27:40,450 Pero, obviamente, todo nós están por preto para axudar. 589 00:27:40,450 --> 00:27:42,590 E xa que está aí, unha morea de grandes recursos, 590 00:27:42,590 --> 00:27:45,100 Gabe como mencionado, para comezar a traballar. 591 00:27:45,100 --> 00:27:47,230 Aquí están as ligazóns que vai ter, a fin 592 00:27:47,230 --> 00:27:51,460 para baixar Rails para obtelo instalado na súa máquina. 593 00:27:51,460 --> 00:27:54,240 Obviamente, está dispoñible para Windows e Mac 594 00:27:54,240 --> 00:27:55,600 e para o dispositivo CS50. 595 00:27:55,600 --> 00:27:58,520 596 00:27:58,520 --> 00:28:00,020 Preguntas sobre calquera cousa que eu dixen? 597 00:28:00,020 --> 00:28:04,265 598 00:28:04,265 --> 00:28:06,690 >> Audiencia: Eu sería interesado, actually-- 599 00:28:06,690 --> 00:28:10,255 entón eu sei que a descarga software é a maior barreira. 600 00:28:10,255 --> 00:28:14,807 Se hai interese suficiente para ter un descargar mini-sesión ou algo así. 601 00:28:14,807 --> 00:28:15,640 Zack Chauvin: Hum-hum. 602 00:28:15,640 --> 00:28:15,692 Si. 603 00:28:15,692 --> 00:28:16,900 Isto pode ser realmente útil. 604 00:28:16,900 --> 00:28:20,650 Se alguén é realmente entusiasta sobre usando isto para o seu proxecto 605 00:28:20,650 --> 00:28:26,555 ou no futuro, entón nós definitivamente o pracer de falar con vostede sobre iso. 606 00:28:26,555 --> 00:28:27,055 Hum-hum. 607 00:28:27,055 --> 00:28:29,530 >> Audiencia: Unha cuestión relacionada para o que eu pedín antes. 608 00:28:29,530 --> 00:28:32,563 Para aqueles de vostedes que fixeron outras estruturas que aínda están 609 00:28:32,563 --> 00:28:34,354 intentando facer o mesmo cousa, facelo máis fácil 610 00:28:34,354 --> 00:28:38,452 para construír un sitio web ou un funcionalidade, eu creo que calquera sentido 611 00:28:38,452 --> 00:28:43,653 de por que sería on Rails contra Zend ou algúns dos outros frameworks 612 00:28:43,653 --> 00:28:44,236 e idiomas. 613 00:28:44,236 --> 00:28:47,870 >> Zack Chauvin: Eu só vou dicir que o meu $ 0,02 sobre iso. 614 00:28:47,870 --> 00:28:49,090 Eu amo o Ruby on Rails. 615 00:28:49,090 --> 00:28:52,120 Tiven a oportunidade de traballar tanto en PHP e Ruby on Rails. 616 00:28:52,120 --> 00:28:55,291 Prefiro moito máis Ruby on Rails por mor Ruby. 617 00:28:55,291 --> 00:28:56,790 Definitivamente, iso é unha gran parte diso. 618 00:28:56,790 --> 00:28:58,140 Como, cando está seleccionar o encadramento, 619 00:28:58,140 --> 00:28:59,490 tamén escoller o idioma. 620 00:28:59,490 --> 00:29:03,510 >> Rubio é super accessible-- creo unha linguaxe moito mellor que PHP. 621 00:29:03,510 --> 00:29:06,250 Pero ese é o tipo de preferencia persoal. 622 00:29:06,250 --> 00:29:09,360 Como así, outra consideración é a comunidade de atrás do cadro 623 00:29:09,360 --> 00:29:11,570 que se está a traballar. 624 00:29:11,570 --> 00:29:13,840 >> Agora Ruby on Rails é realmente quente. 625 00:29:13,840 --> 00:29:16,160 Hai toneladas de apoio por tras del. 626 00:29:16,160 --> 00:29:19,180 Vostede engada algo sobre Stack Overflow sobre un problema que está 627 00:29:19,180 --> 00:29:22,350 Tendo en Ruby on Rails, e é atendida. 628 00:29:22,350 --> 00:29:26,900 De novo, é de código aberto, o que significa que está constantemente a ser modificado. 629 00:29:26,900 --> 00:29:28,910 Hai miles de persoas que son realmente dedicados 630 00:29:28,910 --> 00:29:32,370 a fin de facer este un cadro realmente incrible. 631 00:29:32,370 --> 00:29:34,225 Entón é por iso que eu faría escoller Ruby on Rails. 632 00:29:34,225 --> 00:29:35,225 GABRIEL Guimarães: Yeah. 633 00:29:35,225 --> 00:29:37,562 Eu diría que a idea atrás a maioría dos frameworks es 634 00:29:37,562 --> 00:29:39,770 vai atopar alí fóra é moi, moi semellante, non? 635 00:29:39,770 --> 00:29:42,210 Así, o Model View Controller, o feito de que o noso controlador de 636 00:29:42,210 --> 00:29:44,793 vai parecer algo como isto-- cada unha das funcións 637 00:29:44,793 --> 00:29:47,235 é como unha das súas páxinas, e el redirecciona ti, 638 00:29:47,235 --> 00:29:48,750 e el arrinque as variables. 639 00:29:48,750 --> 00:29:51,959 Esa será a mesma cousa para cada cadro que ve por aí. 640 00:29:51,959 --> 00:29:53,375 E aí, será o modelo. 641 00:29:53,375 --> 00:29:55,270 E pode facer cousas como, "pertence". 642 00:29:55,270 --> 00:29:59,830 Entón, en vez de facer a versión de SQL, só, como, facer, user.tweets, 643 00:29:59,830 --> 00:30:01,210 e ten todo. 644 00:30:01,210 --> 00:30:02,650 Todo o mundo ten iso. 645 00:30:02,650 --> 00:30:07,070 Excepto en Ruby, fai user.tweets, e, a continuación, algúns frameworks en PHP, 646 00:30:07,070 --> 00:30:12,010 fai user.getalltweets Onde meu PHP non é un problema. 647 00:30:12,010 --> 00:30:13,460 Como, é unha gran liña. 648 00:30:13,460 --> 00:30:15,320 É o mesmo, pero é unha gran liña. 649 00:30:15,320 --> 00:30:19,350 >> Así que esta é unha das principais razóns das miñas preferencias sobre Ruby. 650 00:30:19,350 --> 00:30:22,290 É só fago exactamente o mesmo noutros frameworks, 651 00:30:22,290 --> 00:30:26,021 el só me leva dúas veces como longas liñas de código. 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 >> Algunha pregunta? 655 00:30:32,540 --> 00:30:35,200 >> Zack Chauvin: Algo Vou mencionar quickly-- Gabe 656 00:30:35,200 --> 00:30:36,682 Falamos un pouco sobre pedras preciosas. 657 00:30:36,682 --> 00:30:39,890 E iso é realmente un great-- É dicir, isto é unha especie de común a todos os cadros, 658 00:30:39,890 --> 00:30:45,170 que hai unha especie de concepto xema, que é como o meu pequeno exemplo, 659 00:30:45,170 --> 00:30:46,680 Teño login. 660 00:30:46,680 --> 00:30:48,460 Tipo, pode poñerse, saír. 661 00:30:48,460 --> 00:30:51,740 Como, que é, en realidade, tipo de un proceso complexo. 662 00:30:51,740 --> 00:30:55,950 Foi tratado un pouco bit para ti en PSET 7. 663 00:30:55,950 --> 00:31:01,160 Pero eu non sei totalmente como para aplicar sign-in, sign-out. 664 00:31:01,160 --> 00:31:03,740 E iso é porque Ruby on Rails ten toneladas 665 00:31:03,740 --> 00:31:06,080 de xemas que fan este tipo de cousas para ti. 666 00:31:06,080 --> 00:31:08,550 >> Unha vez máis, convención sobre configuración. 667 00:31:08,550 --> 00:31:11,050 Todo o mundo vai estar facendo este sign-in, paso asinar-out. 668 00:31:11,050 --> 00:31:14,450 Entón por que non facer un paquete, chamado Deseñar, neste caso, o que é unha xoia. 669 00:31:14,450 --> 00:31:15,810 Simplemente inclui-lo. 670 00:31:15,810 --> 00:31:18,970 E entón hai algunha axuda en liña coa forma de usalo. 671 00:31:18,970 --> 00:31:21,230 E non se preocupe sobre algo así. 672 00:31:21,230 --> 00:31:24,060 >> Poñer imaxes para estes coisas- unha xoia para iso. 673 00:31:24,060 --> 00:31:27,220 Como, cando está intentando facer nada novo, hai unha xoia para iso. 674 00:31:27,220 --> 00:31:29,420 E tipo de só xuntar estas xoias 675 00:31:29,420 --> 00:31:33,160 e construír realmente un complexo aplicación moi rapidamente. 676 00:31:33,160 --> 00:31:35,902 677 00:31:35,902 --> 00:31:37,437 Con estilo. 678 00:31:37,437 --> 00:31:38,270 Algunha pregunta? 679 00:31:38,270 --> 00:31:39,623 >> STEPHEN Turban: Woo-hoo. 680 00:31:39,623 --> 00:31:40,976 Eu non creo que [inaudível]. 681 00:31:40,976 --> 00:31:41,966 >> GABRIEL Guimarães: Aceptar. 682 00:31:41,966 --> 00:31:42,840 Moitas grazas, persoal. 683 00:31:42,840 --> 00:31:43,839 >> STEPHEN Turban: 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 Turban: Woo-hoo. 686 00:31:45,849 --> 00:31:48,150 [Aplausos] 687 00:31:48,150 --> 00:31:49,700 >> Yay. 688 00:31:49,700 --> 00:31:50,955