1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:10,960 [REPRODUCCIÓN DE MÚSICA] 3 00:00:10,960 --> 00:00:12,960 ROGER ZURAWICKI: Hola, mi nombre es Roger Zurawicki, 4 00:00:12,960 --> 00:00:16,410 y voy a estar cubriendo el seminario CS50 Meteor. 5 00:00:16,410 --> 00:00:21,520 Meteor es un nuevo marco dedicado a la nueva clase de web, 6 00:00:21,520 --> 00:00:25,220 no el PHP hacer peticiones ida y vuelta clase 7 00:00:25,220 --> 00:00:29,070 de web que vimos en el conjunto PHPP, pero el JavaScript más dinámico 8 00:00:29,070 --> 00:00:31,370 partes de la web. 9 00:00:31,370 --> 00:00:36,260 Cosas Meteor puede hacer Incluye la actualización en vivo 10 00:00:36,260 --> 00:00:42,380 e inmediatamente comunicar entre usuarios de la misma página web. 11 00:00:42,380 --> 00:00:46,420 >> Para este seminario, tenemos código alojado en mi GitHub. 12 00:00:46,420 --> 00:00:49,690 Usted puede ir a esta dirección URL y descargarlo. 13 00:00:49,690 --> 00:00:53,085 Si usted sabe cómo usar Git, puede clonar el repositorio. 14 00:00:53,085 --> 00:00:55,460 Si usted no sabe cómo utilizar Git o no han utilizado GitHub, 15 00:00:55,460 --> 00:00:57,030 eso es completamente bien. 16 00:00:57,030 --> 00:01:00,480 Yo te mostraré muy rápido cómo podemos ir a GitHub, 17 00:01:00,480 --> 00:01:03,604 y hay una opción para descargar un zip justo ahí. 18 00:01:03,604 --> 00:01:06,770 Una vez que descargue este directorio, puede comenzar a jugar con nuestro código. 19 00:01:06,770 --> 00:01:10,200 20 00:01:10,200 --> 00:01:13,190 >> Más información acerca de Meteor se puede encontrar en meteor.com. 21 00:01:13,190 --> 00:01:16,580 En la carpeta Seminario, en realidad tener algunos proyectos de meteoros que podemos utilizar. 22 00:01:16,580 --> 00:01:20,380 23 00:01:20,380 --> 00:01:26,400 Una de las carpetas que tenemos en nuestra proyecto seminario es la aplicación todos. 24 00:01:26,400 --> 00:01:28,780 Así que si me voy en ella I, Meteor tiene instalado. 25 00:01:28,780 --> 00:01:35,690 Así que para ejecutarlo, sólo necesito para escribir Meteor, y Meteor instalarán. 26 00:01:35,690 --> 00:01:38,310 Como puedes ver, tenemos que asegurarse de que instalamos Meteor. 27 00:01:38,310 --> 00:01:40,562 Así que sólo voy a ejecutarlo una vez más 28 00:01:40,562 --> 00:01:42,520 para asegurarse de que Meteor está correctamente instalado. 29 00:01:42,520 --> 00:01:46,370 30 00:01:46,370 --> 00:01:48,450 >> Aunque no tengo Meteor instalación, te puedo mostrar 31 00:01:48,450 --> 00:01:53,760 algunas demostraciones en vivo de sitios de meteoros ir en vivo ahora mismo en Internet. 32 00:01:53,760 --> 00:01:57,990 Tengo una demostración de nuestra aplicación. 33 00:01:57,990 --> 00:02:00,740 Puede acceder a él en la siguiente URL. 34 00:02:00,740 --> 00:02:06,350 Esta es la aplicación para eso tener en nuestro directorio seminario. 35 00:02:06,350 --> 00:02:09,940 La URL de este es rozu-rabbit.meteor.com. 36 00:02:09,940 --> 00:02:14,782 Verás que Meteor hará realidad alojar sus proyectos Meteor gratis. 37 00:02:14,782 --> 00:02:17,490 Y al final del seminario, podrás hacerlo también. 38 00:02:17,490 --> 00:02:20,550 39 00:02:20,550 --> 00:02:22,160 >> Esta es una aplicación para hacer la lista. 40 00:02:22,160 --> 00:02:27,740 Y usted puede abrir una sesión, crear cuentas y agregar tareas. 41 00:02:27,740 --> 00:02:30,020 Puede crear una cuenta como tal. 42 00:02:30,020 --> 00:02:33,050 43 00:02:33,050 --> 00:02:35,850 Y ahora, una vez que tenga una cuenta, usted puede agregar tareas. 44 00:02:35,850 --> 00:02:42,780 Por ejemplo, una de las tareas I podría tener que ir a recoger mi ropa. 45 00:02:42,780 --> 00:02:45,160 Y si estás en este sitio en línea, usted 46 00:02:45,160 --> 00:02:49,790 ver realmente esta tarea en su computadora en tiempo real. 47 00:02:49,790 --> 00:02:53,760 >> Puedo mostrarle una demostración rápida de esta abriendo Rozu-conejo 48 00:02:53,760 --> 00:02:56,700 en otra pestaña con la misma URL. 49 00:02:56,700 --> 00:03:00,360 Y vemos que los mismos datos aparece. 50 00:03:00,360 --> 00:03:02,240 También podemos ejecutarlo en un navegador diferente. 51 00:03:02,240 --> 00:03:03,420 Diga lo ejecuto en Safari. 52 00:03:03,420 --> 00:03:04,720 De esa manera no está registrado. 53 00:03:04,720 --> 00:03:07,750 54 00:03:07,750 --> 00:03:11,060 Así que tenemos la misma Meteor aplicación, y una vez que se carga, 55 00:03:11,060 --> 00:03:13,910 vamos a ver los mismos datos lo hicimos en la primera. 56 00:03:13,910 --> 00:03:16,710 Como se puede ver, no estoy inscrito aquí. 57 00:03:16,710 --> 00:03:20,000 Y cuando los datos cheques de audiencia, se actualiza en todos los navegadores 58 00:03:20,000 --> 00:03:20,910 simultáneamente. 59 00:03:20,910 --> 00:03:23,740 Este es uno de los realmente características interesantes sobre Meteor. 60 00:03:23,740 --> 00:03:27,700 Casi sin trabajo, tener una aplicación de actualización en vivo 61 00:03:27,700 --> 00:03:31,240 que los cambios en todos sus dispositivos a la vez. 62 00:03:31,240 --> 00:03:36,690 >> Si marca la casilla de verificación aquí en mi lista de tareas, vamos a tener, 63 00:03:36,690 --> 00:03:41,230 en mi otro navegador Chrome, el elemento de comprobación off. 64 00:03:41,230 --> 00:03:42,605 Y esto sucede instantáneamente. 65 00:03:42,605 --> 00:03:46,340 66 00:03:46,340 --> 00:03:47,280 Bien. 67 00:03:47,280 --> 00:03:52,730 Así que parece que Meteor instalación está lista ahora. 68 00:03:52,730 --> 00:03:57,000 Así que ahora vamos a volver a la Todos aplicación y ejecutar este local. 69 00:03:57,000 --> 00:04:01,599 >> Si usted tiene un proyecto Meteor, puede sólo ejecutarlo con el Meteor comandos. 70 00:04:01,599 --> 00:04:03,640 Una vez hecho esto, Meteor va a hacer un poco de preparación 71 00:04:03,640 --> 00:04:06,120 para asegurarse de que todos su código está en jaque. 72 00:04:06,120 --> 00:04:12,440 Y entonces te dirá que el proyecto está listo para ser servido. 73 00:04:12,440 --> 00:04:17,750 Puede que sea necesario para permitir su servidor de seguridad, si el ordenador bloquea ustedes. 74 00:04:17,750 --> 00:04:22,440 >> Entonces, ¿qué me está diciendo Meteor ahora mismo es que en esta web 75 00:04:22,440 --> 00:04:26,100 local para mi equipo, puedo ver lo que este proyecto Meteor es. 76 00:04:26,100 --> 00:04:29,290 Tenga en cuenta que en este momento, mi aplicación es no es accesible a la internet. 77 00:04:29,290 --> 00:04:35,170 Vamos a cubrir la forma de llevar su Meteor aplicación a un sitio en vivo un poco más adelante. 78 00:04:35,170 --> 00:04:40,510 Así que sólo voy a copiar este URL ahora y entra en Google Chrome. 79 00:04:40,510 --> 00:04:42,600 >> Y este es el que hacer lista del ejemplo. 80 00:04:42,600 --> 00:04:46,080 Se puede ver que implementan algunas características más aquí. 81 00:04:46,080 --> 00:04:49,210 Tenemos diferentes pestañas, nos tener las mismas características de la cuenta, 82 00:04:49,210 --> 00:04:52,141 y podemos añadir nuevas listas. 83 00:04:52,141 --> 00:04:54,140 Ahora, uno de los de verdad característica fresca sobre Meteor 84 00:04:54,140 --> 00:04:57,450 es que no sólo puede este trabajar en su navegador web, 85 00:04:57,450 --> 00:05:00,030 pero también puede crear iPhone nativa y Android 86 00:05:00,030 --> 00:05:02,990 aplicaciones a través de una herramienta llamada PhoneGap. 87 00:05:02,990 --> 00:05:06,740 >> Así que algunos proyectos vendrán pre-configurado para ejecutar 88 00:05:06,740 --> 00:05:08,700 en iOS, como esta aplicación todos. 89 00:05:08,700 --> 00:05:14,780 Así que todo lo que necesito hacer para ejecutarlo en iOS es escribir Meteor, correr, y luego iOS. 90 00:05:14,780 --> 00:05:17,540 Y cuando lo hago, Meteor preparará el paquete nuevo. 91 00:05:17,540 --> 00:05:21,670 Y luego, una vez que esté listo, va a cargar el simulador de iOS en mi comando. 92 00:05:21,670 --> 00:05:24,745 Nota Sólo puede ejecutar aplicaciones de iOS si usted tiene una computadora Mac. 93 00:05:24,745 --> 00:05:27,650 94 00:05:27,650 --> 00:05:30,730 Puede ejecutar sus aplicaciones en Android en todas las plataformas. 95 00:05:30,730 --> 00:05:34,070 96 00:05:34,070 --> 00:05:38,290 >> Así que ahora usted puede ver que mi iPhone simulador de vino en mi pantalla. 97 00:05:38,290 --> 00:05:40,370 Y en un momento, que va a cargar con la aplicación. 98 00:05:40,370 --> 00:05:46,070 99 00:05:46,070 --> 00:05:48,490 Si hacemos un poco más pequeño para que quepa en la pantalla, 100 00:05:48,490 --> 00:05:50,780 vemos que tenemos nuestra aplicación para el iPhone. 101 00:05:50,780 --> 00:05:53,220 Y para que no lo hacemos confundirse, vamos a hacer 102 00:05:53,220 --> 00:05:59,790 Seguro que estamos en el mismo sitio web, el host local 3000. 103 00:05:59,790 --> 00:06:03,490 >> Así que aquí es un ejemplo de la aplicación del meteorito que tengo, 104 00:06:03,490 --> 00:06:08,770 la aplicación de todos, se ejecuta tanto en un teléfono y un navegador web. 105 00:06:08,770 --> 00:06:10,770 Y cuando cambio cosas en el navegador web, 106 00:06:10,770 --> 00:06:12,675 inmediatamente va al teléfono. 107 00:06:12,675 --> 00:06:16,500 Y puedo borrar algo en el teléfono, y cambia en el navegador web. 108 00:06:16,500 --> 00:06:21,050 >> Ahora, normalmente para crear nativa aplicación de teléfono para iOS o Android, 109 00:06:21,050 --> 00:06:26,090 lo que necesita saber Java o Objetivo C. La tecnología utiliza Meteor 110 00:06:26,090 --> 00:06:29,240 para permitir JavaScript para funcionar como su aplicación se llama PhoneGap. 111 00:06:29,240 --> 00:06:31,320 Lo que su aplicación esencialmente es es un navegador web. 112 00:06:31,320 --> 00:06:34,500 Y Meteor maneja todo las partes difíciles involucrados 113 00:06:34,500 --> 00:06:39,820 por mencionarlo navegador web para tu iPhone o dispositivo Android. 114 00:06:39,820 --> 00:06:42,210 Se puede ver que la interfaz de usuario es suave, 115 00:06:42,210 --> 00:06:45,290 y se ve y se siente muy al igual que una aplicación nativa. 116 00:06:45,290 --> 00:06:48,620 Tenga en cuenta que si voy a la casa pantalla ahora, también tengo un icono. 117 00:06:48,620 --> 00:06:50,880 Este no es un sitio web como que encontrarías en Safari. 118 00:06:50,880 --> 00:06:51,860 Esta es su propia aplicación. 119 00:06:51,860 --> 00:06:54,130 Puede instalar y eliminarlo si lo desea. 120 00:06:54,130 --> 00:06:59,500 121 00:06:59,500 --> 00:07:04,436 >> Nosotros le podemos mostrar brevemente lo que el código para este tipo de Todos aplicación se parece. 122 00:07:04,436 --> 00:07:08,260 Si nos fijamos en la carpeta de todos, usted verá que hay muchas carpetas. 123 00:07:08,260 --> 00:07:11,440 Pero en el transcurso del seminario, vamos a 124 00:07:11,440 --> 00:07:14,780 entender lo que se utiliza cada carpeta para. 125 00:07:14,780 --> 00:07:17,830 Vamos a entrar en el terminal de manera que puede ver los archivos de un poco mejor. 126 00:07:17,830 --> 00:07:20,410 >> Voy a presionar Control C para detener el servidor, 127 00:07:20,410 --> 00:07:22,770 y ahora estoy de vuelta en la aplicación de todos. 128 00:07:22,770 --> 00:07:26,660 Tengo diferentes carpetas aquí, como la carpeta del cliente, la carpeta del servidor. 129 00:07:26,660 --> 00:07:30,500 Y estas carpetas simplemente significan que todo en la carpeta del cliente 130 00:07:30,500 --> 00:07:32,630 será ejecutado en su navegador web. 131 00:07:32,630 --> 00:07:35,530 Todo en una carpeta del servidor será ejecutado en el servidor. 132 00:07:35,530 --> 00:07:38,100 >> Lo que quiero señalar a cabo es que lo que teníamos 133 00:07:38,100 --> 00:07:42,140 cuando tuvimos nuestro teléfono en funcionamiento y nuestro navegador web, éstos eran clientes. 134 00:07:42,140 --> 00:07:45,730 Pero lo que se está ejecutando en un terminal, que es el servidor. 135 00:07:45,730 --> 00:07:48,710 Tenemos otras carpetas, como lib, que es el código de la biblioteca, 136 00:07:48,710 --> 00:07:51,050 como su ayudante funciones, que se puede 137 00:07:51,050 --> 00:07:53,710 utilizar tanto en el cliente y el servidor. 138 00:07:53,710 --> 00:07:55,820 Y entonces usted tiene un público carpeta y recursos 139 00:07:55,820 --> 00:07:59,310 carpeta necesaria para conseguir sus imágenes y otra CSS cargados. 140 00:07:59,310 --> 00:08:02,630 141 00:08:02,630 --> 00:08:09,360 >> Si ha instalado Meteor, lo haremos continuar con el tutorial para Meteor. 142 00:08:09,360 --> 00:08:12,790 Usted puede ir a esta URL, meteor.com/install, 143 00:08:12,790 --> 00:08:17,990 para obtener la línea de comandos que yo que mostró que instala Meteor. 144 00:08:17,990 --> 00:08:20,240 Vamos a pasar por la primera pocos pasos para obtener una mejor 145 00:08:20,240 --> 00:08:22,760 sentir acerca de cómo instalar Meteor. 146 00:08:22,760 --> 00:08:28,000 >> Pero en primer lugar, creo que es importante que revisamos un poco de JavaScript. 147 00:08:28,000 --> 00:08:32,360 Para mostrar algunos ejemplos de cómo nuestro conocimiento C puede ser traducido 148 00:08:32,360 --> 00:08:34,950 tener JavaScript, he creado algunos ejemplos. 149 00:08:34,950 --> 00:08:36,940 Ellos están en el directorio js. 150 00:08:36,940 --> 00:08:41,750 Así que si en los seminarios de la carpeta que Mira, hay una carpeta llamada js. 151 00:08:41,750 --> 00:08:44,540 Y aquí, tenemos algunos ejemplos. 152 00:08:44,540 --> 00:08:50,120 >> Vamos a abrir la primera ejemplo y ver muy rápidamente. 153 00:08:50,120 --> 00:08:53,980 Lo que vemos es su norma hola comando mundo. 154 00:08:53,980 --> 00:08:56,520 Se nota en C que tener un buen número de líneas. 155 00:08:56,520 --> 00:09:00,490 Y como saben los alumnos CS50, necesitamos una función principal, 156 00:09:00,490 --> 00:09:05,730 y tenemos que incluirá la norma Biblioteca E / S con el fin de llamar a printf. 157 00:09:05,730 --> 00:09:09,320 >> Echemos un vistazo a cómo se compara JavaScript. 158 00:09:09,320 --> 00:09:11,560 Voy a abrir ex1.js. 159 00:09:11,560 --> 00:09:14,650 Comentadas cabo es lo que el C código se vería así, 160 00:09:14,650 --> 00:09:17,550 y la línea de abajo es todo tiene que ejecutar en el Nodo. 161 00:09:17,550 --> 00:09:20,452 Usted no necesita una función principal, no es necesario incluir todos los archivos, 162 00:09:20,452 --> 00:09:21,660 y que no es necesario volver. 163 00:09:21,660 --> 00:09:23,810 Tu solo console.log. 164 00:09:23,810 --> 00:09:26,370 Esto es el equivalente a su printf. 165 00:09:26,370 --> 00:09:29,310 >> Y se necesita la misma argumentos printf haría. 166 00:09:29,310 --> 00:09:33,870 Y con el fin de ejecutarlo, en vez de correr hacer ex1, 167 00:09:33,870 --> 00:09:38,930 usted acaba de llamar ex1.js. Nodos 168 00:09:38,930 --> 00:09:41,830 Usted escribe Nodo y después el archivo y que se ejecute. 169 00:09:41,830 --> 00:09:43,580 No consigue compilado. 170 00:09:43,580 --> 00:09:45,970 JavaScript es un lenguaje interpretado. 171 00:09:45,970 --> 00:09:49,150 Por lo tanto, no necesita ser compilado antes de que se ejecute. 172 00:09:49,150 --> 00:09:53,450 Si yo quería correr ex1.c, Tengo que hacer lo primero, 173 00:09:53,450 --> 00:09:59,160 y luego puedo correr el ejecutable para obtener el mismo resultado. 174 00:09:59,160 --> 00:10:02,460 >> Vamos a cubrir rápidamente algunas otros conceptos de JavaScript. 175 00:10:02,460 --> 00:10:04,490 Veamos ejemplo dos. 176 00:10:04,490 --> 00:10:14,690 En ex2.js, en ex2.c, podemos ver que tenemos algo de código. 177 00:10:14,690 --> 00:10:16,550 Déjame ir rápidamente a una mejor editor de texto 178 00:10:16,550 --> 00:10:18,400 que mostrará estos nuevas líneas un poco mejor. 179 00:10:18,400 --> 00:10:21,760 180 00:10:21,760 --> 00:10:22,380 Bien. 181 00:10:22,380 --> 00:10:24,190 Aquí tenemos ejemplo 2.c. 182 00:10:24,190 --> 00:10:27,360 Aquí tenemos diferentes tipos que estamos imprimiendo. 183 00:10:27,360 --> 00:10:30,880 Y como sabemos, printf toma diferentes argumentos por ciento 184 00:10:30,880 --> 00:10:34,050 para acceder a diferentes piezas de datos. 185 00:10:34,050 --> 00:10:36,840 Si queremos imprimir una cadena, lo llamamos% s. 186 00:10:36,840 --> 00:10:40,390 Si queremos llamar a un flotante número de punto, nos llamó% f. 187 00:10:40,390 --> 00:10:45,810 Y no hay manera fácil de llamar a un Boolean por su valor verdadero o falso. 188 00:10:45,810 --> 00:10:50,760 Pero si utiliza% d, puede obtener un 0 o un 1 por falso y verdadero. 189 00:10:50,760 --> 00:10:53,270 >> JavaScript es un poco más agradable para nosotros. 190 00:10:53,270 --> 00:10:57,740 En JavaScript, echemos un vistazo a los pocos diferencias que tienen en este archivo. 191 00:10:57,740 --> 00:11:05,790 En primer lugar, observa que en C tenemos que inicializar cada variable con un tipo. 192 00:11:05,790 --> 00:11:06,940 S es una estrella de carbón. 193 00:11:06,940 --> 00:11:08,930 Es una cadena, y no puede ser cualquier otro tipo. 194 00:11:08,930 --> 00:11:10,450 N es un flotador. 195 00:11:10,450 --> 00:11:11,780 B es un Bool. 196 00:11:11,780 --> 00:11:14,220 >> Pero en JavaScript hay tipos dinámicos. 197 00:11:14,220 --> 00:11:16,400 Eso significa que usted no lo hace necesitar decirle JavaScript 198 00:11:16,400 --> 00:11:17,860 qué tipo serán sus variables. 199 00:11:17,860 --> 00:11:22,730 Usted acaba de decir var para la variable, el nombre de la variable, y entonces su valor. 200 00:11:22,730 --> 00:11:24,690 Así que una var puede ser cualquier cosa realmente. 201 00:11:24,690 --> 00:11:25,640 Puede ser una cadena. 202 00:11:25,640 --> 00:11:27,300 Puede ser un número de punto flotante. 203 00:11:27,300 --> 00:11:28,560 Puede ser un personaje. 204 00:11:28,560 --> 00:11:31,250 Puede ser un valor booleano. 205 00:11:31,250 --> 00:11:34,380 Y registro de la consola funciona un poco diferente. 206 00:11:34,380 --> 00:11:37,340 Si desea imprimir un número, llame% d. 207 00:11:37,340 --> 00:11:41,740 Pero la mayoría de los valores pueden ser impresa como cadenas bien. 208 00:11:41,740 --> 00:11:46,220 >> Vamos a correr en este nodo para ver lo que sucedería. 209 00:11:46,220 --> 00:11:51,880 Puedo llamar ex2.js nodo, y tenemos printf 210 00:11:51,880 --> 00:11:56,870 con el CS50 valores, N como el número de punto flotante, 211 00:11:56,870 --> 00:12:00,620 y luego B como el booleano convierte en una cadena cierto. 212 00:12:00,620 --> 00:12:03,830 ¿Y si hiciéramos ejemplo 2.c? 213 00:12:03,830 --> 00:12:09,630 Bueno, todavía tenemos algunos más molestias con printf. 214 00:12:09,630 --> 00:12:13,110 Observe que el punto flotante número tiene que ser el formato correcto, 215 00:12:13,110 --> 00:12:18,120 y que el booleana no puede simplemente se mostrará como verdadero o falso. 216 00:12:18,120 --> 00:12:18,620 Bien. 217 00:12:18,620 --> 00:12:22,680 Ahora echemos un vistazo a ejemplo tres. 218 00:12:22,680 --> 00:12:26,470 En el ejemplo tres, estamos mostrando como se puede utilizar un bucle for. 219 00:12:26,470 --> 00:12:27,630 De hecho, es muy simple. 220 00:12:27,630 --> 00:12:31,430 Una de las cosas buenas acerca de JavaScript es que se basa C. 221 00:12:31,430 --> 00:12:33,920 Eso significa que una gran cantidad de su código será muy similar 222 00:12:33,920 --> 00:12:36,490 y se sienten muy parecidos. 223 00:12:36,490 --> 00:12:39,220 En un bucle, lo único que realmente ha cambiado aquí 224 00:12:39,220 --> 00:12:41,840 es lugar de int i, tenemos var i. 225 00:12:41,840 --> 00:12:45,470 Todavía podemos asignarle a valorar cero, compruebe que está a menos de cinco, 226 00:12:45,470 --> 00:12:49,390 y incrementarlo en uno con el operador ++. 227 00:12:49,390 --> 00:12:56,286 Llamamos console.log en i, y que nos imprimir un número con cada línea. 228 00:12:56,286 --> 00:12:58,410 Vamos a correr realmente rápido para ver lo que emite. 229 00:12:58,410 --> 00:13:02,320 230 00:13:02,320 --> 00:13:03,880 Tenemos un nuevo número en cada línea. 231 00:13:03,880 --> 00:13:06,920 Otra cosa que quiero a notar con console.log 232 00:13:06,920 --> 00:13:09,960 es que usted no tiene que escribir barra invertida n para la nueva línea. 233 00:13:09,960 --> 00:13:12,480 Console.log imprimirá todo en su propia línea. 234 00:13:12,480 --> 00:13:14,585 Eso es una buena característica que JavaScript nos da. 235 00:13:14,585 --> 00:13:18,440 236 00:13:18,440 --> 00:13:22,600 >> Ahora vamos a abrir ejemplo cuatro. 237 00:13:22,600 --> 00:13:28,710 En el ejemplo de cuatro, por primera vez en la C, estamos llamando a unas pocas funciones. 238 00:13:28,710 --> 00:13:33,290 Tenga en cuenta que tenemos que declarar la funciones antes de que los utilizan en principal. 239 00:13:33,290 --> 00:13:37,250 Si tuviéramos principal primero y a continuación, añadir y luego alta, hacer, 240 00:13:37,250 --> 00:13:39,540 sonido metálico, o GCC sería darnos un error que dice 241 00:13:39,540 --> 00:13:41,060 que no sabe lo que es alta. 242 00:13:41,060 --> 00:13:42,780 No sabe lo que es complemento. 243 00:13:42,780 --> 00:13:46,480 Así que en C, usted tiene que ser exigente con la orden en el que se llama a sus funciones. 244 00:13:46,480 --> 00:13:49,220 245 00:13:49,220 --> 00:13:51,310 >> Echemos un vistazo a cómo se puede hacer esto en JavaScript. 246 00:13:51,310 --> 00:13:56,060 Tenemos diferentes archivos porque no hay algunas maneras diferentes de hacer esto. 247 00:13:56,060 --> 00:13:58,950 Una forma es más o menos una traducción directa. 248 00:13:58,950 --> 00:14:02,180 Dado que las funciones en C tipos de retorno y JavaScript 249 00:14:02,180 --> 00:14:05,210 en realidad no sabe ni le importa sobre el tipo regresa, 250 00:14:05,210 --> 00:14:06,300 usted no escribe un tipo. 251 00:14:06,300 --> 00:14:08,100 En su lugar, sólo tiene a la función de escribir, 252 00:14:08,100 --> 00:14:11,180 y todo es bastante lo mismo que antes. 253 00:14:11,180 --> 00:14:14,630 >> Cuando se tiene una variable, como en añadimos, sólo tenemos que escribir x e y. 254 00:14:14,630 --> 00:14:16,060 No necesitamos decir x es un entero. 255 00:14:16,060 --> 00:14:18,940 No necesitamos decir que y es un int. 256 00:14:18,940 --> 00:14:21,030 Volvemos con la misma sintaxis. 257 00:14:21,030 --> 00:14:24,230 Por alto, lo declaramos con funcionar en lugar de vacío. 258 00:14:24,230 --> 00:14:26,110 Tenga en cuenta que si es nula o no vacío, 259 00:14:26,110 --> 00:14:28,380 aún así es todo la misma función. 260 00:14:28,380 --> 00:14:32,440 Y simplemente no ponemos nada entre paréntesis, 261 00:14:32,440 --> 00:14:34,690 y se ve muy parecido al código C. 262 00:14:34,690 --> 00:14:37,460 Y a continuación, podemos llamarlo a continuación. 263 00:14:37,460 --> 00:14:42,730 >> Si miramos ejemplo 4b, notamos que he cambiado algunas cosas. 264 00:14:42,730 --> 00:14:45,340 Lo único que he cambiado Realmente, aunque es el orden. 265 00:14:45,340 --> 00:14:47,340 Tenemos el mismo funciones, pero ahora son 266 00:14:47,340 --> 00:14:52,200 declarada después de que se utilizan en console.log y alta en las líneas 18, 19. 267 00:14:52,200 --> 00:14:54,740 Si hizo esto en C, hacer lanzaría un error. 268 00:14:54,740 --> 00:14:56,070 Aquí, esto funciona muy bien. 269 00:14:56,070 --> 00:15:01,935 Y puedo mostrar esto a usted por llamando Nodo el ejemplo 4b. 270 00:15:01,935 --> 00:15:05,350 271 00:15:05,350 --> 00:15:10,130 >> Otra forma en que podemos llamar a funciones es por funciones de ahorro como variables. 272 00:15:10,130 --> 00:15:13,790 Como he dicho, una variable puede tener cualquier tipo. 273 00:15:13,790 --> 00:15:16,720 Uno de los tipos una variable puede tener es una función. 274 00:15:16,720 --> 00:15:19,800 Así que si nos fijamos en ejemplo 4c, lo he cambiado 275 00:15:19,800 --> 00:15:24,320 aquí es var agregar en lugar de la función add. 276 00:15:24,320 --> 00:15:26,807 Y ahora es igual a añadir una función. 277 00:15:26,807 --> 00:15:28,140 Esta función aquí es anónima. 278 00:15:28,140 --> 00:15:33,346 No tiene nombre, por lo que es justo FUNCTION y luego los paréntesis. 279 00:15:33,346 --> 00:15:35,220 La sintaxis después de eso no cambia, pero 280 00:15:35,220 --> 00:15:38,300 tiene que tener en cuenta que tiene una variable que eres 281 00:15:38,300 --> 00:15:42,940 almacenar la función en complemento, y un variable que se está almacenando en alto. 282 00:15:42,940 --> 00:15:47,620 >> Debido a añadir y ahora alto son las variables y no funciona, algo cambia. 283 00:15:47,620 --> 00:15:50,190 Esto es un error común que veo en una gran cantidad de archivos JavaScript de la gente, 284 00:15:50,190 --> 00:15:52,410 y algo a tener en cuenta. 285 00:15:52,410 --> 00:15:54,365 Cuando ejecuto esto, vamos a ver qué pasa. 286 00:15:54,365 --> 00:15:57,410 287 00:15:57,410 --> 00:15:58,230 Me aparece un error. 288 00:15:58,230 --> 00:16:01,000 Es como decir no definido en este punto. 289 00:16:01,000 --> 00:16:03,520 Así que está diciendo que no sabe lo que es añadir. 290 00:16:03,520 --> 00:16:06,010 >> Porque ahora añadir no es un función, añadir es una variable. 291 00:16:06,010 --> 00:16:10,100 Y usted no ha dado realmente añadir un valor aún cuando se usó. 292 00:16:10,100 --> 00:16:14,460 Eso nos lleva al ejemplo 4d, donde si desea utilizar variables como funciones, 293 00:16:14,460 --> 00:16:17,210 sólo tiene que asegurarse de que obtener el valor antes de que sean utilizados. 294 00:16:17,210 --> 00:16:20,200 295 00:16:20,200 --> 00:16:23,420 >> Pasemos al ejemplo de cinco a continuación. 296 00:16:23,420 --> 00:16:27,390 En este caso, hablamos de structs en C. En C, estructuras 297 00:16:27,390 --> 00:16:30,320 tener esta estructura fija a ellos porque hay que declararlos 298 00:16:30,320 --> 00:16:33,050 antes de usarlo, y te digo que tengo un estudiante, 299 00:16:33,050 --> 00:16:36,645 y cada estudiante tiene exactamente un nombre, un año, uno de los géneros. 300 00:16:36,645 --> 00:16:37,770 Tiene que tener a todos ellos. 301 00:16:37,770 --> 00:16:42,280 No puede haber ningún otro valor, y tienen que ser tipos específicos. 302 00:16:42,280 --> 00:16:47,540 >> Entonces podemos inicializar el struct en esta sintaxis agradable 303 00:16:47,540 --> 00:16:49,470 ya que conoce la orden. 304 00:16:49,470 --> 00:16:51,460 Por lo tanto, sabe que Roger es un nombre. 305 00:16:51,460 --> 00:16:54,060 Se sabe que 2016 es un años y M es un género 306 00:16:54,060 --> 00:16:58,200 porque nos dijeron que este lista es un estudiante struct. 307 00:16:58,200 --> 00:17:01,607 Y entonces usted puede imprimir que, accediendo s.name. 308 00:17:01,607 --> 00:17:03,690 Vamos a ver cómo lo haríamos convertir que a JavaScript. 309 00:17:03,690 --> 00:17:06,400 310 00:17:06,400 --> 00:17:09,790 Observe que S es ahora un variables, y no hay ningún tipo. 311 00:17:09,790 --> 00:17:10,920 Es sólo una var de nuevo. 312 00:17:10,920 --> 00:17:14,480 Porque no importa si el tipo de esta variable es un puntero, 313 00:17:14,480 --> 00:17:17,440 es una estructura, o cualquier otra cosa. 314 00:17:17,440 --> 00:17:19,650 Tenemos una sintaxis ligeramente diferente. 315 00:17:19,650 --> 00:17:21,890 Esta sintaxis es la sintaxis de objeto. 316 00:17:21,890 --> 00:17:24,400 >> Es posible que haya visto en JSON. 317 00:17:24,400 --> 00:17:27,780 JSON en realidad significa la JavaScript Object Notation. 318 00:17:27,780 --> 00:17:31,240 Así es como se define objetos en JavaScript. 319 00:17:31,240 --> 00:17:34,500 Tenemos una clave, la cual es el valor, como el nombre. 320 00:17:34,500 --> 00:17:37,680 Y te damos la valora en el otro lado del colon. 321 00:17:37,680 --> 00:17:41,850 Y una cosa a tener en cuenta que usted es no es necesario tener un nombre y un año 322 00:17:41,850 --> 00:17:42,980 y un género de un objeto. 323 00:17:42,980 --> 00:17:44,570 Un objeto puede tener ningún valor. 324 00:17:44,570 --> 00:17:46,920 Puede tener tantos como desee. 325 00:17:46,920 --> 00:17:50,375 >> Podemos utilizar estos objetos sólo en el misma manera que usaríamos una estructura, s.name. 326 00:17:50,375 --> 00:17:53,810 327 00:17:53,810 --> 00:17:57,080 Podemos correr realmente rápido haciendo nodo ejemplo 5.c. 328 00:17:57,080 --> 00:18:00,320 329 00:18:00,320 --> 00:18:02,520 En realidad no podemos ejecutar un archivo de C en el Nodo. 330 00:18:02,520 --> 00:18:03,654 No sabe lo que C es. 331 00:18:03,654 --> 00:18:04,695 Sólo se sabe JavaScript. 332 00:18:04,695 --> 00:18:09,865 Cuando ejecutamos los ex5.js, obtenemos el valor, lo que nos esperábamos. 333 00:18:09,865 --> 00:18:13,490 334 00:18:13,490 --> 00:18:15,980 >> Pasemos al ejemplo seis. 335 00:18:15,980 --> 00:18:18,930 Aquí sólo quiero hablar un poco poco más acerca de las matrices de JavaScript 336 00:18:18,930 --> 00:18:20,930 porque son un poco diferente de lo que eres 337 00:18:20,930 --> 00:18:26,940 utilizada en el C. Las matrices son anotada, no con los soportes como en C, 338 00:18:26,940 --> 00:18:28,640 con las llaves, pero paréntesis. 339 00:18:28,640 --> 00:18:32,150 Usted puede tener una matriz vacía, como arr en línea de cuatro. 340 00:18:32,150 --> 00:18:34,680 Usted puede tener matrices con múltiples valores. 341 00:18:34,680 --> 00:18:39,790 Y acceder a ellos de la misma manera en C. 342 00:18:39,790 --> 00:18:42,990 >> Hasta la línea siete, todo Parece bastante sencillo. 343 00:18:42,990 --> 00:18:45,390 Una pequeña diferencia es que aquí en la línea 10. 344 00:18:45,390 --> 00:18:48,620 La forma se obtiene una longitud de un matriz es simplemente llamando .length. 345 00:18:48,620 --> 00:18:50,620 Una matriz puede ser realidad tratado como un objeto, 346 00:18:50,620 --> 00:18:54,960 y este objeto tiene una propiedad length que llame para obtener la longitud de la misma. 347 00:18:54,960 --> 00:18:57,350 Tenga en cuenta que esto es diferente en C porque en C que 348 00:18:57,350 --> 00:19:01,600 tiene que saber la longitud de su objeto antes de tiempo. 349 00:19:01,600 --> 00:19:04,700 >> Así que otra cosa buena acerca de las matrices es que usted puede tener diferentes tipos. 350 00:19:04,700 --> 00:19:07,470 Si usted tiene una matriz en C, hay son matrices de un valor específico, 351 00:19:07,470 --> 00:19:11,900 o bien un puntero struct o flotadores o [inaudible]. 352 00:19:11,900 --> 00:19:13,700 Aquí, usted puede tener diferentes valores. 353 00:19:13,700 --> 00:19:17,560 La primera vez que tuve un número de punto flotante, a continuación, un booleano, luego otro número entero. 354 00:19:17,560 --> 00:19:19,670 Y, de hecho, pueden cambiar los tipos también. 355 00:19:19,670 --> 00:19:21,220 Mira la línea 16. 356 00:19:21,220 --> 00:19:26,760 Matriz de dos está cambiando de ser un número, un número entero, en una cadena. 357 00:19:26,760 --> 00:19:30,920 >> Otra cosa buena acerca de las matrices está aquí en la línea 19, que tienen tamaño infinito. 358 00:19:30,920 --> 00:19:35,900 Usted puede simplemente decir que quiero la centésima elemento que es la cadena de fiar. 359 00:19:35,900 --> 00:19:38,510 Y esto no parece hacer sentido porque la matriz sólo 360 00:19:38,510 --> 00:19:41,080 tiene espacio para tres elementos, por lo que el final debe ser dos. 361 00:19:41,080 --> 00:19:44,800 Pero al hacer esto, vamos a ver qué serie tres se convierte. 362 00:19:44,800 --> 00:19:47,460 Queremos correr así de rápido con ejemplos de nodo six.js. 363 00:19:47,460 --> 00:19:49,990 364 00:19:49,990 --> 00:19:52,180 Recibimos esta muy larga array, y lo que sucede 365 00:19:52,180 --> 00:19:55,100 es que tenemos los primeros elementos y luego un montón de piezas en bruto 366 00:19:55,100 --> 00:19:56,580 hasta que consigamos nuestra cadena. 367 00:19:56,580 --> 00:19:58,580 JavaScript rellena el matriz como se necesita. 368 00:19:58,580 --> 00:20:01,790 369 00:20:01,790 --> 00:20:05,420 >> Vamos a ir por fin a nuestro último ejemplo. 370 00:20:05,420 --> 00:20:08,180 Aquí tenemos una lista de los diferentes estudiantes. 371 00:20:08,180 --> 00:20:11,350 Quiero hablar un poco poco sobre algunos aspectos agradables 372 00:20:11,350 --> 00:20:14,240 de los bucles de JavaScript. 373 00:20:14,240 --> 00:20:17,500 En C, los bucles son tipo de limitación. 374 00:20:17,500 --> 00:20:21,490 Tienen una estructura fija, donde tener una variable, usted tiene una condición, 375 00:20:21,490 --> 00:20:23,850 y luego haces algo al final del bucle. 376 00:20:23,850 --> 00:20:27,560 Y por supuesto esto funciona en JavaScript como hemos visto en los ejemplos anteriores. 377 00:20:27,560 --> 00:20:31,030 Pero también tenemos maneras más agradables de hacer esto en JavaScript. 378 00:20:31,030 --> 00:20:33,870 Esto se llama un bucle foreach. 379 00:20:33,870 --> 00:20:36,580 >> Lo sentimos, volvamos al ejemplo de siete aquí. 380 00:20:36,580 --> 00:20:39,320 También podemos decir sección es una lista. 381 00:20:39,320 --> 00:20:43,250 Así que me dan cada io cada índice en esa lista. 382 00:20:43,250 --> 00:20:46,255 Entonces podemos conseguir que el estudiante con sólo la sección de i llamando. 383 00:20:46,255 --> 00:20:50,690 Así que todo el código de ajuste i igual a cero y asegurarse de i 384 00:20:50,690 --> 00:20:54,420 es menor que la longitud y sumando uno al i cada vez, eso es 385 00:20:54,420 --> 00:21:00,220 cuidar de usted en lugar muy bien con este bucle foreach. 386 00:21:00,220 --> 00:21:02,830 >> No sólo los bucles foreach trabajar en listas o matrices, 387 00:21:02,830 --> 00:21:06,130 también trabajan en los objetos, que es también agradable. 388 00:21:06,130 --> 00:21:10,240 Usted puede obtener el nombre de cada propiedad con sólo tomar 389 00:21:10,240 --> 00:21:15,030 un diccionario o un objeto, como estudiante, y luego simplemente diciendo dame cada llave. 390 00:21:15,030 --> 00:21:18,920 Una de las claves sería éstos propiedades, nombre o casa. 391 00:21:18,920 --> 00:21:22,870 Entonces, ¿qué va a pasar aquí es que imprimimos primero el nombre y después 392 00:21:22,870 --> 00:21:24,920 la casa de cada estudiante. 393 00:21:24,920 --> 00:21:29,170 >> Puedo ejecutar esta en Nodo muy rápido para mostrarle. 394 00:21:29,170 --> 00:21:35,510 Tenemos primero el estilo C de bucle, donde obtenemos cada objeto que se imprime. 395 00:21:35,510 --> 00:21:38,910 Y luego tenemos el JavaScript estilo, donde sólo se puede 396 00:21:38,910 --> 00:21:41,510 imprimir todas las claves y valorar individualmente. 397 00:21:41,510 --> 00:21:45,560 398 00:21:45,560 --> 00:21:47,050 >> Bien. 399 00:21:47,050 --> 00:21:52,850 Ahora que hemos cubierto Node.js, creo estamos listos para empezar a trabajar con Meteor. 400 00:21:52,850 --> 00:21:56,070 Como he dicho, Meteor hizo un gran trabajo de escribir algunos ejemplos ya hechos 401 00:21:56,070 --> 00:22:00,600 para usted que se puede explorar a través de este tutorial o en la carpeta de seminario. 402 00:22:00,600 --> 00:22:03,750 Pero aquí quiero iniciar más de cero. 403 00:22:03,750 --> 00:22:06,810 >> Vamos a crear un sencillo de hacer la aplicación. 404 00:22:06,810 --> 00:22:14,140 Esta es una especie de la base de lo que el a hacer aplicación que te mostré anteriormente es. 405 00:22:14,140 --> 00:22:16,990 En este tutorial, verá que hay 406 00:22:16,990 --> 00:22:20,180 un Meteor comando crear a crear un nuevo proyecto Meteor. 407 00:22:20,180 --> 00:22:24,510 Es necesario llamar a este fin para ejecutar proyectos de meteoros porque 408 00:22:24,510 --> 00:22:27,470 ejecutará los comandos para crear el Meteor 409 00:22:27,470 --> 00:22:31,100 archivos necesarios para su proyecto. 410 00:22:31,100 --> 00:22:35,920 >> Si usted entra en la terminal, podemos entrar en la carpeta llamada paso uno. 411 00:22:35,920 --> 00:22:41,240 Y el paso uno corresponderá con el primer paso en el tutorial. 412 00:22:41,240 --> 00:22:44,020 Aviso existen carpetas, paso uno, el paso dos, todo el camino a cinco. 413 00:22:44,020 --> 00:22:47,835 Y cada uno se corresponde a un paso de este tutorial. 414 00:22:47,835 --> 00:22:50,960 415 00:22:50,960 --> 00:22:52,780 Voy a abrirlo en mi editor de texto aquí 416 00:22:52,780 --> 00:22:56,280 por lo que podemos ver un poco de lo que fue creado. 417 00:22:56,280 --> 00:22:58,530 Nos damos cuenta de que hay cuatro partes principales. 418 00:22:58,530 --> 00:23:01,170 Hay un directorio Meteor, .meteor. 419 00:23:01,170 --> 00:23:03,180 Y que por lo general no es necesario tocar. 420 00:23:03,180 --> 00:23:05,070 Meteor se encarga de esa carpeta, y que sólo 421 00:23:05,070 --> 00:23:08,640 se asegura de que su proyecto funcionará correctamente. 422 00:23:08,640 --> 00:23:14,580 >> También tenemos tres archivos, un archivo HTML, un archivo de JavaScript, y un archivo CSS. 423 00:23:14,580 --> 00:23:18,670 Primero vamos a empezar con el archivo HTML. 424 00:23:18,670 --> 00:23:21,310 A primera vista, esto parece como un documento HTML normal. 425 00:23:21,310 --> 00:23:23,490 Pero note que hay hay algunas diferencias. 426 00:23:23,490 --> 00:23:26,520 Uno de ellos, esto no es en realidad un documento HTML completo. 427 00:23:26,520 --> 00:23:28,640 Nos faltan las etiquetas HTML. 428 00:23:28,640 --> 00:23:29,700 Esto es normal. 429 00:23:29,700 --> 00:23:33,560 En Meteor, usted no está esperabas para crear estas etiquetas HTML. 430 00:23:33,560 --> 00:23:35,260 Eso está hecho para ti. 431 00:23:35,260 --> 00:23:38,380 Usted quiere begin-- si que desee crear un sitio web, 432 00:23:38,380 --> 00:23:40,430 sólo tiene que empezar con la etiqueta de la cabeza, 433 00:23:40,430 --> 00:23:43,510 definir eso, y luego definir el cuerpo de la etiqueta. 434 00:23:43,510 --> 00:23:48,940 >> Pero si se observa en este Archivo HTML, tenemos una nueva etiqueta. 435 00:23:48,940 --> 00:23:50,350 Contamos con la etiqueta de plantilla. 436 00:23:50,350 --> 00:23:52,050 Esto no es HTML normal. 437 00:23:52,050 --> 00:23:55,300 Esta es una versión especial de HTML Meteor que pone a su disposición. 438 00:23:55,300 --> 00:23:57,660 Se llama bares espaciales. 439 00:23:57,660 --> 00:24:00,980 Puede definir plantillas como poco módulos, algo así como funciones de ayuda, 440 00:24:00,980 --> 00:24:03,660 en su C o código JavaScript. 441 00:24:03,660 --> 00:24:06,020 Esta plantilla lo haría tener un nombre llamado tarea. 442 00:24:06,020 --> 00:24:10,520 Y se puede ver a la derecha aquí en línea 13 que usted puede llamar a estas plantillas. 443 00:24:10,520 --> 00:24:14,380 Y lo del meteorito va a hacer es simplemente llenar en estas tareas para usted. 444 00:24:14,380 --> 00:24:17,540 445 00:24:17,540 --> 00:24:22,580 >> Otra cosa que puede observar es un poco diferente es esto cada función. 446 00:24:22,580 --> 00:24:26,130 Cada uno de ellos tome la variable tareas y tipo de ir a través de él 447 00:24:26,130 --> 00:24:28,810 en que bucle foreach vio en el ejemplo siete. 448 00:24:28,810 --> 00:24:34,200 Este cada uno puede tomar un diccionario o una lista, un objeto o una lista, 449 00:24:34,200 --> 00:24:38,820 y sólo va a ir a través de toda la valores como un bucle foreach haría. 450 00:24:38,820 --> 00:24:44,110 Así que si tenemos un montón de tareas, este llamará a la plantilla en cada tarea. 451 00:24:44,110 --> 00:24:49,590 >> Vamos a ejecutar el proyecto Meteor sólo para ver que esto sucede. 452 00:24:49,590 --> 00:24:53,260 Corro el proyecto Meteor con sólo Meteor Meteor o correr. 453 00:24:53,260 --> 00:24:56,690 Y ahora Meteor sólo necesitará para preparar rápidamente el proyecto, 454 00:24:56,690 --> 00:25:03,320 iniciar la base de datos según sea necesario, y luego enviar la aplicación a nivel local. 455 00:25:03,320 --> 00:25:07,200 Podemos ir a nuestro navegador web ahora. 456 00:25:07,200 --> 00:25:10,215 Y veremos que tener una aplicación muy simple. 457 00:25:10,215 --> 00:25:22,190 458 00:25:22,190 --> 00:25:29,130 Así que lo que vimos apareció fue en realidad el paso uno, el archivo de paso uno. 459 00:25:29,130 --> 00:25:33,260 >> Vamos a pasar al segundo paso sólo porque Creo que va a servir para el mismo propósito. 460 00:25:33,260 --> 00:25:36,500 Yo sólo voy a cambiar al paso dos directorio 461 00:25:36,500 --> 00:25:39,550 y de nuevo correr Meteor para que podamos ver la plantilla que sólo funcionaba con. 462 00:25:39,550 --> 00:25:43,560 463 00:25:43,560 --> 00:25:45,730 Sí, una pregunta? 464 00:25:45,730 --> 00:25:49,724 >> AUDIENCIA: permiso Si estamos recibiendo negado, es que-- lo es todo 465 00:25:49,724 --> 00:25:50,390 llamado para eso? 466 00:25:50,390 --> 00:25:52,154 467 00:25:52,154 --> 00:25:54,070 ROGER ZURAWICKI: Si usted está corriendo carrera Meteor, 468 00:25:54,070 --> 00:25:57,280 y que tiene permiso negado, algunos de sus archivos 469 00:25:57,280 --> 00:25:59,070 puede que no tenga activado el permiso adecuado. 470 00:25:59,070 --> 00:26:03,970 Así que hay que comprobar dónde los permisos están apagados. 471 00:26:03,970 --> 00:26:06,030 Podrían ser apagado en su proyecto Meteor, 472 00:26:06,030 --> 00:26:08,550 o podrían ser apagado en el Meteor propios archivos. 473 00:26:08,550 --> 00:26:13,742 >> AUDIENCIA: Si lo descargué hace un momento de su GitHub, entonces, ¿qué debo hacer 474 00:26:13,742 --> 00:26:16,110 [Inaudible]? 475 00:26:16,110 --> 00:26:20,110 >> ROGER ZURAWICKI: Si desea para asegurarse de que puede acceder a ella, 476 00:26:20,110 --> 00:26:21,450 hay un comando que se puede ejecutar. 477 00:26:21,450 --> 00:26:26,590 Déjame entrar rápidamente escribirlo para que otras personas puedan verlo. 478 00:26:26,590 --> 00:26:30,670 Voy a abrir una nueva pestaña aquí y entrar en mi carpeta de seminario. 479 00:26:30,670 --> 00:26:33,500 480 00:26:33,500 --> 00:26:36,490 Chmod es el comando cambiar los permisos, 481 00:26:36,490 --> 00:26:40,060 y se puede decir r para hacerlo recursiva para cada archivo. 482 00:26:40,060 --> 00:26:46,040 Y permisos, puede probar 0755 para asegurarse de que tiene acceso pleno, 483 00:26:46,040 --> 00:26:47,820 y todo el mundo puede leer. 484 00:26:47,820 --> 00:26:50,100 Y si usted acaba de ejecutar este comando, que va a hacer 485 00:26:50,100 --> 00:26:55,800 que los permisos están en control para todo el directorio. 486 00:26:55,800 --> 00:26:59,160 Correr ls-l le puede mostrar la permisos en más detalle. 487 00:26:59,160 --> 00:27:01,290 Esto se ve bien. 488 00:27:01,290 --> 00:27:03,900 >> Lo más importante es que tiene los tres 489 00:27:03,900 --> 00:27:06,610 rwx para todos los archivos en el directorio de seminario. 490 00:27:06,610 --> 00:27:09,415 491 00:27:09,415 --> 00:27:11,330 ¿Esto soluciona el problema? 492 00:27:11,330 --> 00:27:13,735 >> AUDIENCIA: Dice que falta operante [inaudible]. 493 00:27:13,735 --> 00:27:17,980 494 00:27:17,980 --> 00:27:18,740 [Inaudible] 495 00:27:18,740 --> 00:27:20,490 ROGER ZURAWICKI: Usted tiene que asegurarse de que 496 00:27:20,490 --> 00:27:23,022 tener un punto al final de su mandato. 497 00:27:23,022 --> 00:27:23,938 AUDIENCIA: [inaudible]. 498 00:27:23,938 --> 00:27:36,395 499 00:27:36,395 --> 00:27:37,520 ROGER ZURAWICKI: De acuerdo. 500 00:27:37,520 --> 00:27:42,220 Vamos rápidamente a la host local, la aplicación que tenemos. 501 00:27:42,220 --> 00:27:46,640 Y verá que tenemos una algunas tareas aquí, como se esperaba. 502 00:27:46,640 --> 00:27:49,330 503 00:27:49,330 --> 00:27:51,990 Tenemos un montón de CSS, que usted no tiene que preocuparse. 504 00:27:51,990 --> 00:27:53,740 El tutorial Meteor sólo da esto a usted 505 00:27:53,740 --> 00:27:58,010 para hacer su lista de tareas mirada un poco más bonito que el HTML plano. 506 00:27:58,010 --> 00:28:02,290 Y tenemos el archivo de JavaScript, que Voy a entrar en más detalle un poco más adelante, 507 00:28:02,290 --> 00:28:04,272 pero sólo ofrece estas tareas. 508 00:28:04,272 --> 00:28:04,980 Esta es una tarea. 509 00:28:04,980 --> 00:28:05,740 Esto es tarea de dos. 510 00:28:05,740 --> 00:28:06,590 Esta tarea es tres. 511 00:28:06,590 --> 00:28:09,720 Así que este es el dato Meteor de conseguir. 512 00:28:09,720 --> 00:28:15,590 >> Una de las cosas interesantes acerca de Meteor es que los cambios pueden suceder automáticamente. 513 00:28:15,590 --> 00:28:18,990 Si quisiera cambiar la nombre de la primera tarea, 514 00:28:18,990 --> 00:28:22,490 por lo que dicen que esto no es tarea uno, y yo la salvo a ella 515 00:28:22,490 --> 00:28:26,370 entonces, cuando voy a la web navegador, puede actualizarlo, 516 00:28:26,370 --> 00:28:30,861 y dice de forma automática esto no es tarea uno. 517 00:28:30,861 --> 00:28:32,860 Usted puede hacer lo mismo en cualquiera de estos archivos. 518 00:28:32,860 --> 00:28:37,940 Hacer un cambio, en lugar de hacer lista, voy a tener a mi para hacer la lista. 519 00:28:37,940 --> 00:28:40,980 >> Y una cosa que te acabo de dar cuenta, que yo ni siquiera tengo que refrescar. 520 00:28:40,980 --> 00:28:43,960 La idea de refrescante es una especie de resolver para usted con Meteor. 521 00:28:43,960 --> 00:28:48,970 Cada vez que detecta los cambios en los archivos, que cargará los cambios para usted. 522 00:28:48,970 --> 00:28:53,110 Esto funciona en todos los archivos, ya sea es HTML, CSS, JavaScript o. 523 00:28:53,110 --> 00:28:57,990 Para mostrar lo que esta aplicación se vería como sin CSS, puedo quitarlo todo. 524 00:28:57,990 --> 00:29:04,720 Y cuando se vuelve a cargar, ahora tiene una no tan agradable de aspecto para hacer la lista. 525 00:29:04,720 --> 00:29:06,370 Pongamos que el contenido de nuevo. 526 00:29:06,370 --> 00:29:11,343 Y seguramente lo suficiente, refresca, y nuestro CSS está de vuelta. 527 00:29:11,343 --> 00:29:11,843 Grande. 528 00:29:11,843 --> 00:29:15,700 529 00:29:15,700 --> 00:29:20,010 >> Ahora podemos seguir adelante con el tutorial. 530 00:29:20,010 --> 00:29:23,360 Vamos a hablar de la segunda etapa, las plantillas. 531 00:29:23,360 --> 00:29:27,140 Esto es lo que acabamos de ver con las diferentes tareas. 532 00:29:27,140 --> 00:29:31,550 Meteor le explicará a usted qué plantillas y cómo esta lógica funciona. 533 00:29:31,550 --> 00:29:34,760 Pero vamos a ver en el código para ver si podemos tener sentido fuera de él. 534 00:29:34,760 --> 00:29:38,030 535 00:29:38,030 --> 00:29:41,460 >> En aplicaciones muy simples, como lo que tenemos en la sencilla 536 00:29:41,460 --> 00:29:44,550 hacer, paso uno, paso dos, paso tres, el cuarto paso, el paso cinco, 537 00:29:44,550 --> 00:29:45,700 no tenemos ninguna carpeta. 538 00:29:45,700 --> 00:29:47,533 No tenemos el servidor carpeta que mencioné. 539 00:29:47,533 --> 00:29:50,510 No tenemos el cliente carpeta que se ha mencionado. 540 00:29:50,510 --> 00:29:52,290 Así Meteor se ejecutará todos los archivos. 541 00:29:52,290 --> 00:29:55,210 Va dirigido tanto sobre la cliente, tanto en el servidor. 542 00:29:55,210 --> 00:29:58,840 >> Y si quieres partes de tu JavaScript código se ejecute sólo en el cliente, 543 00:29:58,840 --> 00:30:02,350 que necesitan para asegurarse de que usted tiene una sentencia if, algo así como lo que 544 00:30:02,350 --> 00:30:04,890 tenemos en nuestro archivo JavaScript aquí. 545 00:30:04,890 --> 00:30:08,010 Así Meteor, sólo si es el cliente, entonces yo 546 00:30:08,010 --> 00:30:12,355 querer definir una plantilla ayuda llamados tareas. 547 00:30:12,355 --> 00:30:15,050 548 00:30:15,050 --> 00:30:19,260 Lo que este código realmente hace es que dice que hay 549 00:30:19,260 --> 00:30:21,800 una plantilla de objeto llamado Meteor que ofrece. 550 00:30:21,800 --> 00:30:23,270 Y vamos a añadir un ayudante. 551 00:30:23,270 --> 00:30:27,680 Los ayudantes son estas tareas, estas cosas como las tareas. 552 00:30:27,680 --> 00:30:33,890 >> Vas a ver que si nos remontamos a la Archivo HTML, se llama cada uno en las tareas. 553 00:30:33,890 --> 00:30:35,750 Las tareas no se define en el código HTML. 554 00:30:35,750 --> 00:30:37,770 Se define en el código JavaScript. 555 00:30:37,770 --> 00:30:42,610 Y Meteor necesita saber qué tareas es cuando entramos en el código JavaScript escrito aquí. 556 00:30:42,610 --> 00:30:45,550 Tareas es este helper. 557 00:30:45,550 --> 00:30:49,830 Consolador, para que se pueda imaginar como una variable de plantilla. 558 00:30:49,830 --> 00:30:51,000 Y ¿qué tareas hacer? 559 00:30:51,000 --> 00:30:53,580 Bueno, devuelve la lista de valores. 560 00:30:53,580 --> 00:30:56,750 Debido a que es una lista, podemos llamar a cada uno en el mismo. 561 00:30:56,750 --> 00:30:58,590 Así que por eso nos llamamos en las tareas. 562 00:30:58,590 --> 00:30:59,730 Y ahora tenemos la tarea. 563 00:30:59,730 --> 00:31:02,850 564 00:31:02,850 --> 00:31:03,990 >> ¿Qué hace la tarea? 565 00:31:03,990 --> 00:31:07,740 Bueno, tiene esta flecha aquí después de las llaves. 566 00:31:07,740 --> 00:31:09,130 Eso significa que la tarea es una plantilla. 567 00:31:09,130 --> 00:31:11,100 No es un ayudante, parecido a lo que acabamos de ver. 568 00:31:11,100 --> 00:31:12,872 Es una plantilla que hemos definido. 569 00:31:12,872 --> 00:31:14,080 Y ¿dónde hemos definido? 570 00:31:14,080 --> 00:31:16,950 Hemos definido por debajo de aquí. 571 00:31:16,950 --> 00:31:21,160 >> Toda esta plantilla no es render un elemento de la lista, y se llama texto. 572 00:31:21,160 --> 00:31:24,160 Ahora, el texto parece ser una ayudante, pero te voy a mostrar 573 00:31:24,160 --> 00:31:26,610 que esto es en realidad todavía un miembro de datos de tareas. 574 00:31:26,610 --> 00:31:29,230 575 00:31:29,230 --> 00:31:33,670 Cuando se llama a cada uno, de que entre en la estructura de datos un poco. 576 00:31:33,670 --> 00:31:39,130 Al igual que el bucle foreach, ahora sólo se ve en el primer elemento en nuestro objeto. 577 00:31:39,130 --> 00:31:41,850 Vemos que el texto es definido aquí en nuestro objeto. 578 00:31:41,850 --> 00:31:45,350 Así Meteor es inteligente para saber que estamos hablando de este texto, 579 00:31:45,350 --> 00:31:47,630 no el ayudante llamado texto. 580 00:31:47,630 --> 00:31:52,120 Simplemente se pone el valor de este texto aquí y lo muestra como HTML, 581 00:31:52,120 --> 00:31:55,475 y así es como van los datos del Javascript para el HTML. 582 00:31:55,475 --> 00:32:03,320 583 00:32:03,320 --> 00:32:07,030 >> Pasando embargo, en este ejemplo que no modificable esos valores. 584 00:32:07,030 --> 00:32:10,440 Meteor hace dos realmente cosas buenas para nosotros. 585 00:32:10,440 --> 00:32:15,050 Además de la actualización en vivo que nos mostró, también gestiona la base de datos. 586 00:32:15,050 --> 00:32:18,750 Si tuvieras que trabajar con PHP, había que configurar phpMyAdmin. 587 00:32:18,750 --> 00:32:21,320 Había que asegurarse de que su mesas estaban bajo control. 588 00:32:21,320 --> 00:32:24,760 Había que hacer un montón de trabajo para hacer de que sus datos se ha formateado correctamente, 589 00:32:24,760 --> 00:32:27,880 y PHP podía comunicarse con ella. 590 00:32:27,880 --> 00:32:30,170 >> Ahora, Meteor utiliza un nuevo paradigma. 591 00:32:30,170 --> 00:32:32,310 Esta es una forma más moderna de manejar una base de datos. 592 00:32:32,310 --> 00:32:34,580 Es una tecnología llamada MongoDB. 593 00:32:34,580 --> 00:32:38,740 Al igual que en JavaScript, vimos que no importa qué tipos tenían los datos. 594 00:32:38,740 --> 00:32:39,640 Todo era una var. 595 00:32:39,640 --> 00:32:40,570 No era una charstar. 596 00:32:40,570 --> 00:32:40,930 No fue un int. 597 00:32:40,930 --> 00:32:41,970 No era una estructura. 598 00:32:41,970 --> 00:32:44,210 Era sólo var esto, que var. 599 00:32:44,210 --> 00:32:46,320 >> MongoDB trabaja tipo de la misma manera. 600 00:32:46,320 --> 00:32:48,160 Usted no tiene que definir sus mesas. 601 00:32:48,160 --> 00:32:50,860 Usted no tiene que decir una tabla tiene un nombre, que tiene un int. 602 00:32:50,860 --> 00:32:54,710 Tiene, no sé, un dólar, que es un decimal. 603 00:32:54,710 --> 00:32:58,360 Es sólo estos objetos JavaScript, todos estos vars, esencialmente. 604 00:32:58,360 --> 00:33:02,780 Y esta es una muy poderosa manera de un prototipo de su aplicación. 605 00:33:02,780 --> 00:33:06,190 Y es por eso Meteor se aprovecha de esto. 606 00:33:06,190 --> 00:33:11,080 >> Si pasamos a la etapa tres, vamos a ver lo que ha cambiado. 607 00:33:11,080 --> 00:33:15,480 Si nos fijamos en el código HTML todos, no mucho. 608 00:33:15,480 --> 00:33:17,170 CSS no ha cambiado en absoluto. 609 00:33:17,170 --> 00:33:22,420 Pero el pequeño cambio que vemos en HTML es que hemos cambiado cómo se definen las tareas. 610 00:33:22,420 --> 00:33:23,800 Tareas es ahora una función. 611 00:33:23,800 --> 00:33:25,800 Eso significa que cada tiempo queremos llegar tareas, 612 00:33:25,800 --> 00:33:27,480 vamos a ejecutar esta función. 613 00:33:27,480 --> 00:33:29,230 No devuelve la función como un valor. 614 00:33:29,230 --> 00:33:33,710 >> Meteor es inteligente para ejecutar realmente el función para ver lo que vamos a salir. 615 00:33:33,710 --> 00:33:36,650 Y vuelve esta cosa llamada tareas. 616 00:33:36,650 --> 00:33:40,650 Hemos definido las tareas en la línea uno, y es una colección de Mongo. 617 00:33:40,650 --> 00:33:43,170 Mongo se refiere a la base de datos utiliza Meteor, 618 00:33:43,170 --> 00:33:48,420 y este nuevo sólo significa que vamos a hacer una nueva colección, lo llaman tareas. 619 00:33:48,420 --> 00:33:53,540 En MySQL, esto sería equivalente a en busca de las tareas de mesa llamado. 620 00:33:53,540 --> 00:33:56,350 Mongo tiene colecciones, no mesas. 621 00:33:56,350 --> 00:34:00,100 Así que esto sólo se ve para las tareas. 622 00:34:00,100 --> 00:34:04,820 >> Ahora, en nuestra plantilla ayudante en la plantilla, todo 623 00:34:04,820 --> 00:34:08,380 que tenemos que hacer para conseguir toda la tareas se esta función, encuentra 624 00:34:08,380 --> 00:34:11,710 y este corsé vacía. 625 00:34:11,710 --> 00:34:14,150 Esto es más particular, a la sintaxis de Mongo. 626 00:34:14,150 --> 00:34:16,159 Hay un montón de documentación en línea de cómo 627 00:34:16,159 --> 00:34:19,360 usted puede hacer eficiente y realmente útil consultas Mongo. 628 00:34:19,360 --> 00:34:25,560 Pero algo como esto es bueno suficiente para sólo encontrar todos los datos. 629 00:34:25,560 --> 00:34:30,100 >> Ahora, uno de los problemas que puede ver es que nunca nos sumamos en realidad datos. 630 00:34:30,100 --> 00:34:35,020 Entonces, ¿qué sucede cuando realmente ejecutar el paso tres? 631 00:34:35,020 --> 00:34:37,550 Vamos rápidamente a entrar en paso tres y ejecutar Meteor. 632 00:34:37,550 --> 00:34:42,870 633 00:34:42,870 --> 00:34:45,650 Tenga en cuenta que yo tenía otro Meteor proyecto se ejecuta en otro lugar, 634 00:34:45,650 --> 00:34:49,110 así Meteor no le gusta eso. 635 00:34:49,110 --> 00:34:52,810 Yo sólo voy a cerca rápidamente a Por otro Meteor con Control C, 636 00:34:52,810 --> 00:34:55,780 entrar en el paso tres, y de nuevo correr Meteor. 637 00:34:55,780 --> 00:35:01,070 638 00:35:01,070 --> 00:35:03,180 Observe que está empezando MongoDB porque MongoDB 639 00:35:03,180 --> 00:35:06,370 es una parte de cada proyecto Meteor. 640 00:35:06,370 --> 00:35:09,190 >> Por lo que dice mi aplicación tiene errores. 641 00:35:09,190 --> 00:35:10,590 Eso es una buena característica Meteor tiene. 642 00:35:10,590 --> 00:35:13,700 Se asegura de que su HTML es bien validado. 643 00:35:13,700 --> 00:35:17,710 Echemos un vistazo rápido a por qué esto podría ser. 644 00:35:17,710 --> 00:35:26,110 Parece que tengo accidentalmente copiar el código HTML mal. 645 00:35:26,110 --> 00:35:30,610 Si salvo ahora, Meteor volver a arrancar automáticamente el servidor, 646 00:35:30,610 --> 00:35:34,650 y ahora la aplicación se está ejecutando según lo esperado. 647 00:35:34,650 --> 00:35:39,220 Aviso a arreglar esto, puede simplemente ejecutar el mismo archivo HTML desde el paso dos, 648 00:35:39,220 --> 00:35:40,380 copiarlo en el paso tres. 649 00:35:40,380 --> 00:35:43,290 650 00:35:43,290 --> 00:35:45,917 >> Podemos volver a nuestro host local. 651 00:35:45,917 --> 00:35:47,500 Y ahora vemos que tenemos nuestra lista de tareas pendientes. 652 00:35:47,500 --> 00:35:50,070 Muy bien, pero está vacío. 653 00:35:50,070 --> 00:35:54,210 En realidad no tenemos ninguna tareas en nuestra base de datos Mongo. 654 00:35:54,210 --> 00:35:57,930 Así que vamos a hablar de un pocas formas en que pueden hacerlo. 655 00:35:57,930 --> 00:36:03,240 Si nos remontamos a la terminal, que puede cerrarla y ejecutar Meteor Mongo. 656 00:36:03,240 --> 00:36:05,320 >> Si está familiarizado con el funcionamiento de Meteor, 657 00:36:05,320 --> 00:36:14,100 esto en realidad le da acceso al MongoDB completo para Meteor. 658 00:36:14,100 --> 00:36:17,570 Tenga en cuenta que usted tiene que estar en ejecución Meteor primero para que esto funcione. 659 00:36:17,570 --> 00:36:23,840 Así que si ejecuto esto en una nueva pestaña, me puede volver al mismo directorio. 660 00:36:23,840 --> 00:36:29,040 661 00:36:29,040 --> 00:36:32,570 Y ahora Meteor funciona bien. 662 00:36:32,570 --> 00:36:33,600 Este es un requisito. 663 00:36:33,600 --> 00:36:36,350 664 00:36:36,350 --> 00:36:38,790 Permítanme dejar un poco más grande por lo que podemos ver. 665 00:36:38,790 --> 00:36:41,550 Esto parece un poco diferente que lo que podría ser utilizado a usted 666 00:36:41,550 --> 00:36:42,869 realmente no necesite usar Mongo. 667 00:36:42,869 --> 00:36:45,410 El punto entero de mí aquí es de modo que usted puede utilizar JavaScript. 668 00:36:45,410 --> 00:36:48,250 Pero si usted es curioso, la API no Mongo 669 00:36:48,250 --> 00:36:50,730 utilizar SQL, Structured Query Language. 670 00:36:50,730 --> 00:36:55,570 Utiliza su propio lenguaje que se parece mucho a JavaScript. 671 00:36:55,570 --> 00:37:00,520 Muy rápidamente, podemos encontrar la tabla a través de db.tasks. 672 00:37:00,520 --> 00:37:08,940 Y me está diciendo Resulta que si corremos encontrar, 673 00:37:08,940 --> 00:37:13,450 un poco similar a lo que teníamos con Meteor, podemos cargar todos los elementos. 674 00:37:13,450 --> 00:37:17,330 El problema es que no lo hacemos en realidad tienen las tareas definidas. 675 00:37:17,330 --> 00:37:20,600 Así que no puede obtenerlos. 676 00:37:20,600 --> 00:37:22,130 >> Podemos insertar, sin embargo. 677 00:37:22,130 --> 00:37:25,170 Así que podemos ejecutar inserto con inserción de comandos. 678 00:37:25,170 --> 00:37:29,140 Y acabamos de darle un objeto, y que sólo 679 00:37:29,140 --> 00:37:31,840 asegúrese de que el formato es lo que esperamos. 680 00:37:31,840 --> 00:37:35,030 Si nos fijamos en el paso dos, vimos que todas las tareas 681 00:37:35,030 --> 00:37:39,590 era un objeto con un texto como la clave y lo 682 00:37:39,590 --> 00:37:41,640 su artículo a hacer era como una variable. 683 00:37:41,640 --> 00:37:44,680 Por lo que podemos hacer algo aquí. 684 00:37:44,680 --> 00:37:50,160 >> Podemos tener que insertar una tarea Llamé Vengo de Mongo. 685 00:37:50,160 --> 00:37:52,570 Y pulsamos Intro y se ejecuta. 686 00:37:52,570 --> 00:37:56,900 Podemos correr encontrar de nuevo, y nos ver que hay un objeto aquí. 687 00:37:56,900 --> 00:38:01,810 Mongo le asigna una ID, que usted realmente no necesita preocuparse. 688 00:38:01,810 --> 00:38:06,690 Lo que es importante para usted son los datos se introduzca, son los datos que salga. 689 00:38:06,690 --> 00:38:10,500 >> Volvamos a nuestro sitio web, y bueno, nuestra tarea cargado. 690 00:38:10,500 --> 00:38:13,987 Y se puede ver que porque Meteor es muy inteligente 691 00:38:13,987 --> 00:38:16,570 y siempre refresca para ti, yo no tiene que tocar la página. 692 00:38:16,570 --> 00:38:19,160 Se cargará automáticamente. 693 00:38:19,160 --> 00:38:23,520 >> Vamos a ejecutar algún código en JavaScript aunque hacer esto. 694 00:38:23,520 --> 00:38:26,120 Como tenemos Nodo en la espalda terminar para ejecutar JavaScript cabo, 695 00:38:26,120 --> 00:38:29,280 también podemos ejecutar JavaScript directamente en nuestros navegadores. 696 00:38:29,280 --> 00:38:31,970 Usted puede hacer esto por una característica llamado Inspeccionar Elemento. 697 00:38:31,970 --> 00:38:34,210 Si hago clic derecho sobre una sección de la página, 698 00:38:34,210 --> 00:38:36,730 hay una opción llamado Inspeccionar Elemento. 699 00:38:36,730 --> 00:38:38,840 Si usted está funcionando un navegador como Safari, 700 00:38:38,840 --> 00:38:45,430 puede necesitar para que su desarrollador herramientas antes de llegar esta función. 701 00:38:45,430 --> 00:38:46,930 >> Lo que nos importa es la consola. 702 00:38:46,930 --> 00:38:48,930 Así que vamos a ir a la consola en la parte inferior. 703 00:38:48,930 --> 00:38:52,110 704 00:38:52,110 --> 00:38:55,970 Ahora podemos ejecutar cualquier JavaScript aquí, al igual que el código JavaScript 705 00:38:55,970 --> 00:38:58,860 archivos que mostraron en el ejemplo js. 706 00:38:58,860 --> 00:39:02,040 Pero ahora veamos tareas. 707 00:39:02,040 --> 00:39:04,955 Podemos funcionar nuestro comando. 708 00:39:04,955 --> 00:39:07,830 Y espero que voy a ser capaz de hacer es un poco más grande para que podamos ver todo. 709 00:39:07,830 --> 00:39:14,390 710 00:39:14,390 --> 00:39:18,450 >> Si corremos tasks.find, y usted ver que este es el mismo código exacto 711 00:39:18,450 --> 00:39:24,840 que utiliza el archivo JavaScript en el paso tres, este task.find. 712 00:39:24,840 --> 00:39:29,100 Podemos correr la misma cosa, y ahora tenemos algunas cosas raras. 713 00:39:29,100 --> 00:39:31,050 ¿Cómo conseguimos realmente los datos? 714 00:39:31,050 --> 00:39:34,860 Bueno, tenemos que ejecutar este comando llamado obtención de información. 715 00:39:34,860 --> 00:39:37,150 >> Esto es muy útil para la depuración. 716 00:39:37,150 --> 00:39:41,000 Lo que se obtiene aquí es un cursor, y esto es 717 00:39:41,000 --> 00:39:44,890 una manera agradable Meteor tiene de captación de datos optimizados. 718 00:39:44,890 --> 00:39:48,270 Este cursor tiene todas las características para actualización en vivo y actualizar la página 719 00:39:48,270 --> 00:39:49,650 cuando algo ha cambiado. 720 00:39:49,650 --> 00:39:51,280 Pero no nos va a obtener los datos. 721 00:39:51,280 --> 00:39:52,720 Podemos obtener los datos a través de obtención de información. 722 00:39:52,720 --> 00:39:56,880 Y ves que tenemos un objeto, y es como lo que teníamos en Mongo, 723 00:39:56,880 --> 00:40:00,040 con un ID y el texto que ponemos en. 724 00:40:00,040 --> 00:40:04,200 >> Entonces, ¿cómo insertar un elemento en Meteor? 725 00:40:04,200 --> 00:40:07,250 Bueno, sólo tenemos tareas. 726 00:40:07,250 --> 00:40:09,990 Y luego podemos ejecutar el mismo comando de inserción, 727 00:40:09,990 --> 00:40:17,520 dando un diccionario o un objeto con el mismo formato, texto 728 00:40:17,520 --> 00:40:22,340 y entonces yo vengo de la consola. 729 00:40:22,340 --> 00:40:27,240 Echa un vistazo por encima, porque cuando yo hacer esto, se muestra en la página web 730 00:40:27,240 --> 00:40:29,660 automáticamente. 731 00:40:29,660 --> 00:40:33,291 >> Observe que puede poner cualquier cosa que quiere en estos artículos. 732 00:40:33,291 --> 00:40:35,040 No tiene por qué tener una estructura fija. 733 00:40:35,040 --> 00:40:39,790 Que podría tener una igual a la número tres y b igual a falso. 734 00:40:39,790 --> 00:40:41,600 Y todas las obras. 735 00:40:41,600 --> 00:40:46,000 Incluso puedo elegir no incluir un texto en absoluto. 736 00:40:46,000 --> 00:40:48,320 Esto simplemente no es recomendable sin embargo porque entonces Meteor 737 00:40:48,320 --> 00:40:50,920 no saber lo que se vea. 738 00:40:50,920 --> 00:40:53,110 Pero en cada caso, obtener una identificación, y eso es 739 00:40:53,110 --> 00:40:54,785 el ID del objeto que puede utilizar. 740 00:40:54,785 --> 00:41:01,120 741 00:41:01,120 --> 00:41:03,280 >> A medida que continuamos con paso cuatro y paso cinco, 742 00:41:03,280 --> 00:41:06,870 el tutorial le mostrará maneras que puede crear elementos de interfaz de usuario utilizando 743 00:41:06,870 --> 00:41:13,130 el HTML que sabes crear diferentes tareas. 744 00:41:13,130 --> 00:41:15,440 Veamos paso cuatro muy rápido. 745 00:41:15,440 --> 00:41:18,290 Veremos que hemos añadido una sección sobre los eventos. 746 00:41:18,290 --> 00:41:20,874 Las plantillas pueden tener ayudantes, que nos reciben datos. 747 00:41:20,874 --> 00:41:22,040 Pero también puede llamar a eventos. 748 00:41:22,040 --> 00:41:25,300 Y aquí es donde las cosas se vuelve útil, porque los eventos 749 00:41:25,300 --> 00:41:28,590 son lo que sucederá cuando se hace clic en diferentes cosas en su sitio web. 750 00:41:28,590 --> 00:41:33,790 >> Aquí, nuestro código está diciendo nos sumamos a este evento. 751 00:41:33,790 --> 00:41:38,860 Añádelo cuando hayas enviado algo con la nueva tarea de clase. 752 00:41:38,860 --> 00:41:41,910 Lo que tenemos aquí es un selector CSS. 753 00:41:41,910 --> 00:41:45,870 Así que esto sólo se ve un HTML elemento que tiene la tarea nueva clase. 754 00:41:45,870 --> 00:41:47,940 Y se ve para el evento, al igual que presentar. 755 00:41:47,940 --> 00:41:51,050 Otros eventos incluyen clic, vuelo estacionario, doble clic, 756 00:41:51,050 --> 00:41:54,450 similar a lo que se obtiene en HTML normal. 757 00:41:54,450 --> 00:41:56,770 >> Lo que das aquí es ahora una función. 758 00:41:56,770 --> 00:42:01,210 Y usted puede tener su código en esa función. 759 00:42:01,210 --> 00:42:06,360 Esta función es lo que termina recibiendo llamaste al momento de enviar esta nueva tarea. 760 00:42:06,360 --> 00:42:12,170 Veamos el HTML se utiliza para asegurarse entender lo que esta nueva tarea. 761 00:42:12,170 --> 00:42:15,570 Hemos añadido un formulario aquí con clase nueva tarea. 762 00:42:15,570 --> 00:42:19,880 Y tiene una entrada que lleva texto. 763 00:42:19,880 --> 00:42:22,605 Y aquí es donde estamos agregará nuestras nuevas tareas. 764 00:42:22,605 --> 00:42:25,520 765 00:42:25,520 --> 00:42:29,780 >> Vamos a ejecutar el paso cuatro en la sitio web para ver lo que parece. 766 00:42:29,780 --> 00:42:32,710 Podemos dejar de primero en salir del MongoDB teníamos 767 00:42:32,710 --> 00:42:35,300 de nuestro anterior ejemplo con Control C. 768 00:42:35,300 --> 00:42:37,690 Y vamos a cambiar en el paso cuatro directorio. 769 00:42:37,690 --> 00:42:41,000 770 00:42:41,000 --> 00:42:42,920 Correremos Meteor nuevo para iniciar el servidor. 771 00:42:42,920 --> 00:42:46,850 772 00:42:46,850 --> 00:42:50,510 Y, por desgracia, tuve Meteor se ejecute en otro terminal. 773 00:42:50,510 --> 00:42:53,080 Así que sólo voy a asegurarse de que este cerrado. 774 00:42:53,080 --> 00:43:01,805 Dejemos de esto y cambio a la cuarta parte, el paso cuatro. 775 00:43:01,805 --> 00:43:02,305 DE ACUERDO. 776 00:43:02,305 --> 00:43:11,220 777 00:43:11,220 --> 00:43:13,250 >> Ahora nuestro código Meteor está ejecutando. 778 00:43:13,250 --> 00:43:19,480 Y se puede ver que se actualiza, sin nosotros ni siquiera tener que actualizar la página. 779 00:43:19,480 --> 00:43:24,410 Lo que ha cambiado aquí es ahora que no tenemos ninguna tarea, 780 00:43:24,410 --> 00:43:29,530 pero tenemos una forma aquí, esta cuadro de texto, para agregar nuestras nuevas tareas. 781 00:43:29,530 --> 00:43:31,550 Y podemos escribir nuestra tarea aquí. 782 00:43:31,550 --> 00:43:34,564 Vengo de la página HTML. 783 00:43:34,564 --> 00:43:36,105 Al pulsar Intro, se quedó sometido. 784 00:43:36,105 --> 00:43:39,180 785 00:43:39,180 --> 00:43:44,540 >> Podemos ver lo que pasó como definidos por el código JavaScript. 786 00:43:44,540 --> 00:43:49,930 Lo que hizo fue esta función tomar el texto de la forma, 787 00:43:49,930 --> 00:43:53,680 y luego simplemente llamado tasks.insert, como lo hicimos en la consola. 788 00:43:53,680 --> 00:43:56,410 También optaron por agregar una fecha createdAt. 789 00:43:56,410 --> 00:43:59,840 Esta es la forma en que lo haría especificar la hora actual. 790 00:43:59,840 --> 00:44:03,220 Después de eso, se aclara la forma haciendo Asegúrese de que el valor es una cadena vacía. 791 00:44:03,220 --> 00:44:06,550 >> Y entonces se llama return false para asegúrese de que no ocurre nada más. 792 00:44:06,550 --> 00:44:10,350 Cuando regresa falso de un evento de formulario, que detiene la ejecución. 793 00:44:10,350 --> 00:44:14,520 Diga una forma tiene una acción, como someterse a una página PHP. 794 00:44:14,520 --> 00:44:16,980 Si no hubieras regresado falsa, te vuelves cierto. 795 00:44:16,980 --> 00:44:18,500 Sería terminar haciendo esa solicitud. 796 00:44:18,500 --> 00:44:20,590 Falsos intercepta y detiene allí mismo. 797 00:44:20,590 --> 00:44:23,510 798 00:44:23,510 --> 00:44:28,610 >> Así que fue una pequeña demostración sobre cómo funciona Meteor, y hemos 799 00:44:28,610 --> 00:44:30,980 estado siguiendo el tutorial por un tiempo. 800 00:44:30,980 --> 00:44:33,560 Y usted puede sentir por favor libre para seguir haciendo esto. 801 00:44:33,560 --> 00:44:37,760 Hay un montón de recursos, y el tutorial es en realidad 802 00:44:37,760 --> 00:44:40,400 muy bueno para explicármelo qué está pasando. 803 00:44:40,400 --> 00:44:44,362 Yo quiero mostrar ahora, en los pocos minutos que nos quedan, 804 00:44:44,362 --> 00:44:46,320 ¿cuáles son algunos de los características más frescas del Meteor, 805 00:44:46,320 --> 00:44:48,772 y cuáles son algunos de los paquetes más útiles. 806 00:44:48,772 --> 00:44:51,730 Una de las mejores cosas de Meteor es que tiene un sistema de paquetes. 807 00:44:51,730 --> 00:44:55,620 Usted puede incorporar fácilmente el código que muchos miles de desarrolladores 808 00:44:55,620 --> 00:44:58,840 han escrito en todo el mundo en su proyecto Meteor. 809 00:44:58,840 --> 00:45:02,410 Un ejemplo de esto es lo que podría hacer en el paso nueve de la guía de aprendizaje, donde 810 00:45:02,410 --> 00:45:07,435 usted está tratando de agregar cuentas a su proyecto Meteor. 811 00:45:07,435 --> 00:45:10,010 812 00:45:10,010 --> 00:45:13,690 Si tenemos un PHP CS50 proyecto, tendríamos 813 00:45:13,690 --> 00:45:17,810 confiar en el marco o nuestro propio código para hacer 814 00:45:17,810 --> 00:45:20,820 seguro que con seguridad manejamos contraseñas y nombres de usuario 815 00:45:20,820 --> 00:45:23,120 y almacenar la base de datos y todo eso. 816 00:45:23,120 --> 00:45:25,670 >> Resulta Meteor tiene alguna paquetes que se pueden hacer eso para usted, 817 00:45:25,670 --> 00:45:29,160 y hacerlo muy fácilmente. 818 00:45:29,160 --> 00:45:31,950 Lo que podemos hacer es añadir algunos paquetes. 819 00:45:31,950 --> 00:45:37,450 Así que vamos a hacer ese derecho ahora en nuestra consola. 820 00:45:37,450 --> 00:45:42,460 Voy a dejar el proyecto y ahora ir a simple todos. 821 00:45:42,460 --> 00:45:47,450 822 00:45:47,450 --> 00:45:50,050 Ahora, simple-Todos es el proyecto que 823 00:45:50,050 --> 00:45:53,500 tendrá después de haber sido hecho con el paso 11 o el paso 12, 824 00:45:53,500 --> 00:45:55,250 al final de este tutorial. 825 00:45:55,250 --> 00:45:58,642 Y vamos a ver rápidamente a él para ver ¿cuáles son las diferentes características que tenemos. 826 00:45:58,642 --> 00:46:01,610 Vamos a asegurarnos de que se está ejecutando. 827 00:46:01,610 --> 00:46:04,400 A veces se necesita un tiempo para refrescar, pero aquí está. 828 00:46:04,400 --> 00:46:09,710 >> Tenemos nuestra opción para ocultar completar tareas, y podemos acceder. 829 00:46:09,710 --> 00:46:11,770 Y esto se hizo con el paquete Meteor. 830 00:46:11,770 --> 00:46:12,270 Es genial. 831 00:46:12,270 --> 00:46:14,910 Ahora hemos username y el signo de la contraseña en. 832 00:46:14,910 --> 00:46:19,170 Pero lo que si queríamos añadir otro tipo de mecanismo de inicio de sesión? 833 00:46:19,170 --> 00:46:22,560 Digamos que quería iniciar sesión con mi cuenta de Meteor. 834 00:46:22,560 --> 00:46:27,270 Voy a correr meteoro complemento, y esto es la sintaxis para agregar paquetes. 835 00:46:27,270 --> 00:46:32,160 Puedo decir cuentas y accounts.meteor. 836 00:46:32,160 --> 00:46:35,720 Se va a encontrar ahora el paquete y lo cargará. 837 00:46:35,720 --> 00:46:40,480 Se puede ver que yo no tengo encontrado el nombre del paquete derecha. 838 00:46:40,480 --> 00:46:42,820 >> Entonces, ¿cómo te enteraste de paquetes? 839 00:46:42,820 --> 00:46:46,380 Bueno, hay un gran sitio web, hecho disponible por el pueblo de meteoros, 840 00:46:46,380 --> 00:46:47,780 llamado atmospherejs.com. 841 00:46:47,780 --> 00:46:52,520 Atmospherejs, una palabra, punto com, es un gran repositorio 842 00:46:52,520 --> 00:46:57,660 para encontrar toda la Meteor paquetes en el repositorio. 843 00:46:57,660 --> 00:47:05,140 Puedo buscar cuentas, y luego me voy a mostrar todo el material pertinente, 844 00:47:05,140 --> 00:47:07,320 todos los envases, el nombre de la cuenta. 845 00:47:07,320 --> 00:47:10,180 846 00:47:10,180 --> 00:47:13,270 >> Mientras que carga, podemos intentar la adición de algunos otros paquetes. 847 00:47:13,270 --> 00:47:19,380 Tal vez el paquete Meteor no está funcionando en este momento, pero puedo añadir Facebook. 848 00:47:19,380 --> 00:47:22,860 849 00:47:22,860 --> 00:47:27,190 Puedo agregar la cuenta y después ejecutar el proyecto Meteor nuevo. 850 00:47:27,190 --> 00:47:33,260 851 00:47:33,260 --> 00:47:36,900 Una vez que esto comienza, vamos a ver ¿Qué ha cambiado en el sitio web. 852 00:47:36,900 --> 00:47:40,010 853 00:47:40,010 --> 00:47:44,580 Puede ver-- yo podría tenga que actualizar aquí. 854 00:47:44,580 --> 00:47:47,320 >> Tengo un botón para configurar Facebook login. 855 00:47:47,320 --> 00:47:49,765 Y aquí, tengo todo las instrucciones de meteoros 856 00:47:49,765 --> 00:47:52,960 ha preparado para usted para la creación de una aplicación de Facebook. 857 00:47:52,960 --> 00:47:58,990 Y usted puede utilizar ese información para añadir sus identificaciones. 858 00:47:58,990 --> 00:48:04,130 Una vez hecho esto, tendrás Facebook login trabajar en su aplicación. 859 00:48:04,130 --> 00:48:08,559 >> Yo sólo voy a conseguir un ID de aplicación y un secreto, 860 00:48:08,559 --> 00:48:10,100 sólo para mostrar cómo podría funcionar esto. 861 00:48:10,100 --> 00:48:16,000 862 00:48:16,000 --> 00:48:20,360 Usted necesitará una cuenta de Facebook utilizar Facebook Opciones para desarrolladores. 863 00:48:20,360 --> 00:48:31,160 864 00:48:31,160 --> 00:48:35,290 Me dejaron de encontrar rápidamente la Llaves de meteoros que son necesarias. 865 00:48:35,290 --> 00:48:46,994 866 00:48:46,994 --> 00:48:49,160 Tengo otro proyecto Meteor que voy a utilizar, 867 00:48:49,160 --> 00:48:55,590 y yo sólo voy a tomar las claves de ese archivo. 868 00:48:55,590 --> 00:49:14,410 869 00:49:14,410 --> 00:49:20,930 >> Y una vez que me encuentro, yo sólo voy a poder copiar estas llaves en mi Facebook. 870 00:49:20,930 --> 00:49:23,489 Así que aquí está la clave. 871 00:49:23,489 --> 00:49:24,280 Y esto es secreto. 872 00:49:24,280 --> 00:49:26,071 Usted no debe ser compartir esto con la gente. 873 00:49:26,071 --> 00:49:28,870 874 00:49:28,870 --> 00:49:30,910 Y luego le das tu aplicación secreto. 875 00:49:30,910 --> 00:49:33,560 Y esto es tan Facebook sabe que usted es usted. 876 00:49:33,560 --> 00:49:37,630 877 00:49:37,630 --> 00:49:39,080 Y guardar la configuración. 878 00:49:39,080 --> 00:49:45,160 879 00:49:45,160 --> 00:49:48,640 >> Creo que en el proceso de I han dejado de mi aplicación Meteor. 880 00:49:48,640 --> 00:49:52,290 Así que sólo quiero hacer Seguro que sigue allí. 881 00:49:52,290 --> 00:49:54,962 882 00:49:54,962 --> 00:49:58,610 OK, vamos a asegurarnos de que nuestro servidor Meteor se ejecuta de modo que la página web se está ejecutando. 883 00:49:58,610 --> 00:50:02,440 Observe si dejamos el Meteor servidor, la página sigue ahí. 884 00:50:02,440 --> 00:50:04,700 Simplemente no se actualizará más. 885 00:50:04,700 --> 00:50:10,290 El servidor Meteor es necesario para asegurarse de que la página es en vivo. 886 00:50:10,290 --> 00:50:14,050 >> OK, yo he presentado, y ahora Puedo iniciar sesión con Facebook. 887 00:50:14,050 --> 00:50:17,400 Ahora es sólo una cuestión de tener un pop Facebook hasta 888 00:50:17,400 --> 00:50:21,710 y poniendo en su cuenta información y registro en. 889 00:50:21,710 --> 00:50:24,520 890 00:50:24,520 --> 00:50:27,930 Una vez hecho eso, Facebook podría te dan la lata para algunos más seguridad. 891 00:50:27,930 --> 00:50:29,810 Así que sólo tendremos que parar allí. 892 00:50:29,810 --> 00:50:34,110 El punto es que cuando haya terminado con eso, tendrás Facebook login. 893 00:50:34,110 --> 00:50:37,850 >> Meteoro tiene un montón de otros paquetes también. 894 00:50:37,850 --> 00:50:39,200 Puede iniciar sesión con Google+. 895 00:50:39,200 --> 00:50:40,500 Puede iniciar sesión con GitHub. 896 00:50:40,500 --> 00:50:42,170 Puede iniciar sesión con Twitter. 897 00:50:42,170 --> 00:50:44,870 O si usted busca, usted encontrar un montón de otras cosas 898 00:50:44,870 --> 00:50:49,170 como Meetup, LinkedIn, y Meteor desarrollador. 899 00:50:49,170 --> 00:50:53,100 Así Meteor fue el desarrollador paquete que estaba buscando. 900 00:50:53,100 --> 00:50:56,170 meteoro agregar cuentas-meteoro-desarrollador. 901 00:50:56,170 --> 00:51:06,192 902 00:51:06,192 --> 00:51:07,900 Mientras tanto, yo También quiero recomendar 903 00:51:07,900 --> 00:51:11,340 algunos otros paquetes para sus proyectos. 904 00:51:11,340 --> 00:51:14,670 Podría resultar útil incluir el paquete jQuery. 905 00:51:14,670 --> 00:51:17,909 Esto le permite utilizar jQuery en sus clientes. 906 00:51:17,909 --> 00:51:21,200 Usted sólo puede hacerlo con una línea, y Meteor será asegurarse de que está al día 907 00:51:21,200 --> 00:51:21,825 en jQuery. 908 00:51:21,825 --> 00:51:24,330 909 00:51:24,330 --> 00:51:27,450 También recomiendo houston: admin. 910 00:51:27,450 --> 00:51:31,550 >> Esto es como una especie de phpMyAdmin tipo de herramienta para su MongoDB. 911 00:51:31,550 --> 00:51:33,890 Esto le permite editar sus datos con bastante facilidad 912 00:51:33,890 --> 00:51:37,950 sin tener que ir a la concha Mongo, como lo había hecho anteriormente en el seminario. 913 00:51:37,950 --> 00:51:43,160 914 00:51:43,160 --> 00:51:47,101 Así que ahora que eso es correr, vamos a correr Meteor de nuevo y ver qué podemos hacer. 915 00:51:47,101 --> 00:51:56,240 916 00:51:56,240 --> 00:52:00,720 >> Te das cuenta de que la adición de algunos paquetes podría tener los presentan algunas advertencias. 917 00:52:00,720 --> 00:52:02,720 Usted no tendrá que preocuparse de eso con houston. 918 00:52:02,720 --> 00:52:06,040 919 00:52:06,040 --> 00:52:10,810 Así que ahora podemos tener la opción para configurar Meteor administrador. 920 00:52:10,810 --> 00:52:15,080 Y te dan las instrucciones si quieres poner esto en marcha. 921 00:52:15,080 --> 00:52:17,750 922 00:52:17,750 --> 00:52:20,440 >> Ahora también podemos ir a / admin. 923 00:52:20,440 --> 00:52:23,280 Esta es traído a usted por el paquete de Houston. 924 00:52:23,280 --> 00:52:27,470 Y esta es la interfaz de administración de meteoros. 925 00:52:27,470 --> 00:52:30,660 Usted acaba de crear una cuenta de administrador, como tal. 926 00:52:30,660 --> 00:52:38,150 Y si se actualiza la página, es posible que tienen algunas colecciones aparecer. 927 00:52:38,150 --> 00:52:40,980 928 00:52:40,980 --> 00:52:43,460 >> Es una herramienta muy útil, y lo recomiendo encarecidamente. 929 00:52:43,460 --> 00:52:46,717 930 00:52:46,717 --> 00:52:49,050 Se puede ver que ya houston estaba dando algunos errores, 931 00:52:49,050 --> 00:52:52,330 nosotros no tenemos colecciones mostrando hasta ahora. 932 00:52:52,330 --> 00:52:56,800 La forma que usaría houston es asegurándose de esta función se pone 933 00:52:56,800 --> 00:52:58,860 llamado en sus simples-todos. 934 00:52:58,860 --> 00:53:01,370 Así houston no lo hace saben lo que mis tareas son. 935 00:53:01,370 --> 00:53:04,490 >> Montamos un Mongo colección llamada tareas. 936 00:53:04,490 --> 00:53:11,390 Vamos a entrar en simple Todos y justo asegurarse de que en el código JavaScript, 937 00:53:11,390 --> 00:53:16,295 hemos añadido tareas a nuestras colecciones. 938 00:53:16,295 --> 00:53:19,340 939 00:53:19,340 --> 00:53:25,670 Ahora nos hemos salvado, y es la construcción la aplicación, refrescante. 940 00:53:25,670 --> 00:53:26,750 Y vamos a ver. 941 00:53:26,750 --> 00:53:29,090 Ahora tenemos algunas tareas. 942 00:53:29,090 --> 00:53:32,630 Y podemos añadir algunas tareas nuevas. 943 00:53:32,630 --> 00:53:35,840 Pero si queremos añadir tareas, vamos a hacerlo con la propia aplicación. 944 00:53:35,840 --> 00:53:39,660 945 00:53:39,660 --> 00:53:41,050 >> Ahora podemos añadir algunos datos. 946 00:53:41,050 --> 00:53:53,410 Hola, este es una tarea. 947 00:53:53,410 --> 00:53:57,080 Parece un poco extraño que no estamos viendo ninguna tarea. 948 00:53:57,080 --> 00:54:00,290 949 00:54:00,290 --> 00:54:05,260 Podríamos querer comprobar si tenemos cualquier errores aquí, o tal vez en otro lugar. 950 00:54:05,260 --> 00:54:08,810 951 00:54:08,810 --> 00:54:20,260 Si entramos en administración, que parece extraño. 952 00:54:20,260 --> 00:54:24,080 Si tira el repositorio después de este seminario, 953 00:54:24,080 --> 00:54:27,580 Me aseguraré de que simple Todos trabaja con houston. 954 00:54:27,580 --> 00:54:30,370 Desafortunadamente, no parece estar trabajando en este mismo momento. 955 00:54:30,370 --> 00:54:34,810 956 00:54:34,810 --> 00:54:37,640 >> ¿Hay alguna otra pregunta? 957 00:54:37,640 --> 00:54:41,800 Houston normalmente es una herramienta que funciona muy bien. 958 00:54:41,800 --> 00:54:44,510 Houston es específicamente un poco buggier que los otros, 959 00:54:44,510 --> 00:54:49,470 pero yo lo recomiendo cuando funciona. 960 00:54:49,470 --> 00:54:50,080 Sí. 961 00:54:50,080 --> 00:54:52,395 >> AUDIENCIA: ¿Qué puede hacer con el paquete de Facebook 962 00:54:52,395 --> 00:54:54,270 una vez que se registra un usuario con su Facebook? 963 00:54:54,270 --> 00:54:55,978 >> ROGER ZURAWICKI: Una vez un usuario de iniciada la sesión, 964 00:54:55,978 --> 00:54:59,540 usted puede hacer las llamadas a la API de Facebook. 965 00:54:59,540 --> 00:55:02,890 Mucho de eso está más en cómo Facebook abre su API. 966 00:55:02,890 --> 00:55:05,120 Meteor, asegúrese tener la conexión. 967 00:55:05,120 --> 00:55:09,300 Pero todo después de que es una cuestión de aprender a utilizar la API de Facebook. 968 00:55:09,300 --> 00:55:10,216 AUDIENCIA: [inaudible]. 969 00:55:10,216 --> 00:55:17,756 970 00:55:17,756 --> 00:55:18,880 ROGER ZURAWICKI: De acuerdo. 971 00:55:18,880 --> 00:55:21,670 Muchas gracias por este seminario CS50 en Meteor. 972 00:55:21,670 --> 00:55:24,060 Si tiene alguna pregunta, usted me puede enviar por correo electrónico 973 00:55:24,060 --> 00:55:28,319 en mi dirección de correo electrónico se enumeran a continuación del seminario. 974 00:55:28,319 --> 00:55:30,110 Y voy a estar feliz de responder a sus preguntas. 975 00:55:30,110 --> 00:55:33,020 También voy a estar en el CS50 hackathon debe 976 00:55:33,020 --> 00:55:35,550 necesita ayuda con sus proyectos de meteoros. 977 00:55:35,550 --> 00:55:37,650 Gracias por su atención. 978 00:55:37,650 --> 00:55:38,816