1 00:00:00,000 --> 00:00:08,100 2 00:00:08,100 --> 00:00:08,890 >> ROGER ZURAWICKI: Hola a todos. 3 00:00:08,890 --> 00:00:11,310 Podo ter a súa atención? 4 00:00:11,310 --> 00:00:12,090 Grazas, persoal. 5 00:00:12,090 --> 00:00:14,030 Hoxe quero falar Meteor. 6 00:00:14,030 --> 00:00:16,710 É un framework JavaScript. 7 00:00:16,710 --> 00:00:21,110 Estaremos pasando por como pode facer as aplicacións moi legais web. 8 00:00:21,110 --> 00:00:24,940 >> Antes de entrar en JavaScript, eu só quero dicir a vostedes que esa vontade 9 00:00:24,940 --> 00:00:26,900 ser - terá unha tarde peza neste semestre. 10 00:00:26,900 --> 00:00:28,520 Debe ser sobre JavaScript. 11 00:00:28,520 --> 00:00:32,910 Creo que [inaudível] vai primeiro a cubrir o material PHP HTML web antes de nós 12 00:00:32,910 --> 00:00:34,530 mover JavaScript. 13 00:00:34,530 --> 00:00:39,650 E, CS50, JavaScript é considerado como un código do cliente. 14 00:00:39,650 --> 00:00:41,970 Por iso, só é executado en o explorador web. 15 00:00:41,970 --> 00:00:45,740 >> Pero, grazas a recentes avances na tecnoloxía, temos agora conseguiu correr 16 00:00:45,740 --> 00:00:48,090 JavaScript como un servidor ben. 17 00:00:48,090 --> 00:00:51,630 Entón, iso creou unha moi legal cadro, porque agora pode escribir 18 00:00:51,630 --> 00:00:55,250 lexitimamente o mesmo código para cliente e servidor. 19 00:00:55,250 --> 00:00:57,810 E cando definir funcións no seu servidor, o cliente pode chamar os 20 00:00:57,810 --> 00:00:59,090 as mesmas funcións. 21 00:00:59,090 --> 00:01:00,370 E iso fai que sexa moito máis fácil. 22 00:01:00,370 --> 00:01:04,519 Considerando que, antes, se está a usar PHP en servidor, JavaScript diante 23 00:01:04,519 --> 00:01:08,040 final, ten que escribir unha función PHP e logo, unha versión do JavaScript 24 00:01:08,040 --> 00:01:10,880 mesma función para facer o mesmo tipo de traballo. 25 00:01:10,880 --> 00:01:14,330 >> Entón, antes de comezar, quero para amosar-lle unha demostración de que 26 00:01:14,330 --> 00:01:17,190 Meteor pode facer por ti. 27 00:01:17,190 --> 00:01:20,330 Eu vou te mostrar o demo, que é o que vai ser capaz de crear polo 28 00:01:20,330 --> 00:01:21,580 final deste seminario. 29 00:01:21,580 --> 00:01:24,260 30 00:01:24,260 --> 00:01:25,670 Nós só ir aquí. 31 00:01:25,670 --> 00:01:27,410 Este é unha aplicación Leaderboard. 32 00:01:27,410 --> 00:01:31,970 É realmente baseado fóra do exemplo Meteor que dá. 33 00:01:31,970 --> 00:01:37,220 >> Meteor é moi bo, porque cando instala-lo como un paquete, pode 34 00:01:37,220 --> 00:01:39,140 basicamente xogar con estes catro demos. 35 00:01:39,140 --> 00:01:41,410 E o Cabeceira é o primeira desas demos. 36 00:01:41,410 --> 00:01:44,620 Despois do seminario, eu animou todos vostedes só para explorar os outros demos 37 00:01:44,620 --> 00:01:48,300 porque eu creo que son moi legal, e eles mostran-lle o poder de Meteor. 38 00:01:48,300 --> 00:01:51,310 >> Entón o que é iso, este é hospedado en Leaderboard. 39 00:01:51,310 --> 00:01:54,950 Este é só francamente unha lista de nomes. 40 00:01:54,950 --> 00:01:56,510 E pode seleccionar persoas. 41 00:01:56,510 --> 00:01:57,780 Eles fan a amarela. 42 00:01:57,780 --> 00:02:00,060 E entón pode dar eles cinco puntos. 43 00:02:00,060 --> 00:02:02,850 E vai entender que a lista é ordenada, porque como eu me dou máis 44 00:02:02,850 --> 00:02:05,850 e máis puntos, agora estou na parte superior. 45 00:02:05,850 --> 00:02:07,420 Polo tanto, este é o lugar onde nós comezamos. 46 00:02:07,420 --> 00:02:11,690 >> E o que vai ser capaz de aproveitar dende seminario é un pouco máis 47 00:02:11,690 --> 00:02:13,600 características que engadiu ao Leaderboard. 48 00:02:13,600 --> 00:02:18,240 Estaremos cubrindo como, así como engadir cinco puntos para un xogador, o que pudermos 49 00:02:18,240 --> 00:02:28,720 eliminar os xogadores, podemos engadir novos xogadores, e podemos escoller como queremos 50 00:02:28,720 --> 00:02:29,540 para clasificalos los. 51 00:02:29,540 --> 00:02:35,240 E estas son as chamadas de API moi fácil Meteor que ofrece para ti. 52 00:02:35,240 --> 00:02:39,120 Tamén ten unha característica aquí para embaralhar as puntuacións. 53 00:02:39,120 --> 00:02:41,450 >> Entón, o que é realmente legal sobre iso é que vostedes poden realmente 54 00:02:41,450 --> 00:02:43,820 todos van para o sitio. 55 00:02:43,820 --> 00:02:46,575 Vou poñelas no texto grande aquí. 56 00:02:46,575 --> 00:02:51,390 57 00:02:51,390 --> 00:02:52,640 One-radical-lead erboard.meteor.com. 58 00:02:52,640 --> 00:03:03,390 59 00:03:03,390 --> 00:03:07,622 E cando vostedes van ao sitio web, debe ser capaz de editar a páxina, e 60 00:03:07,622 --> 00:03:09,595 todas as revisións van ser visibles para todos os demais. 61 00:03:09,595 --> 00:03:12,730 62 00:03:12,730 --> 00:03:17,740 Así, pode - que vostedes están todos capaz de conectarse ao sitio web? 63 00:03:17,740 --> 00:03:18,750 Entón xogar con el. 64 00:03:18,750 --> 00:03:20,440 Vaia e comezar a eliminar algúns nomes. 65 00:03:20,440 --> 00:03:21,690 Mira o que acontece. 66 00:03:21,690 --> 00:03:35,370 67 00:03:35,370 --> 00:03:38,510 >> Entón ve todo o mundo pode xogar. 68 00:03:38,510 --> 00:03:41,930 Este é só o estándar de seguridade xeito ao Meteor. 69 00:03:41,930 --> 00:03:44,360 Vostede ve que todo o mundo pode cambiar os datos do outro. 70 00:03:44,360 --> 00:03:44,920 Non te preocupes. 71 00:03:44,920 --> 00:03:46,460 Meteor ten seguridade. 72 00:03:46,460 --> 00:03:49,860 Isto é moi facilmente aplicado característica, onde pode configurar os usuarios 73 00:03:49,860 --> 00:03:50,600 e logins. 74 00:03:50,600 --> 00:03:53,750 Pero agora, calquera persoa que visita o sitio pode dar-se o maior número 75 00:03:53,750 --> 00:03:55,000 apunta como eles queren. 76 00:03:55,000 --> 00:03:57,140 77 00:03:57,140 --> 00:04:00,090 Entón, eu sempre así, porque esta é unha maneira divertida de comezar. 78 00:04:00,090 --> 00:04:02,360 E entón nós imos falar sobre os detalles, como 79 00:04:02,360 --> 00:04:03,610 Meteor fai isto posible. 80 00:04:03,610 --> 00:04:10,820 81 00:04:10,820 --> 00:04:15,660 >> Entón, eu estou indo a cubrir o Meteor é, e logo, imos ter para cubrir o 82 00:04:15,660 --> 00:04:18,920 dous requisitos que CS50 non cubriu o suficiente. 83 00:04:18,920 --> 00:04:21,970 Pero, ao final do prazo, que debería estar cómodo con HTML e 84 00:04:21,970 --> 00:04:25,250 JavaScript para realmente chegar nas súas mans porco traballando con Meteor. 85 00:04:25,250 --> 00:04:28,740 E eu creo que é só unha boa forma para aínda menos cómodo que os alumnos fan 86 00:04:28,740 --> 00:04:32,930 proxectos finais porque poden realmente estar nun idioma, e comezan a 87 00:04:32,930 --> 00:04:37,620 ver os cambios do seu traballar de inmediato. 88 00:04:37,620 --> 00:04:42,520 >> Entón este slide mostra só algúns dos principais tecnoloxías que Meteor JS 89 00:04:42,520 --> 00:04:43,610 dá a vostede. 90 00:04:43,610 --> 00:04:46,090 Meteor non é unha nova tecnoloxía por conta propia. 91 00:04:46,090 --> 00:04:48,390 É realmente un conglomerado de todas esas cousas distintas 92 00:04:48,390 --> 00:04:49,920 temos en internet. 93 00:04:49,920 --> 00:04:55,650 Así como HTML, CSS, JavaScript, nós ten algunhas tecnoloxías como Node.js, 94 00:04:55,650 --> 00:04:58,490 que é o que permite que executa Javascript no back-end no seu 95 00:04:58,490 --> 00:05:02,520 servidor, así algún JavaScript bibliotecas, como jQuery, subliñado. 96 00:05:02,520 --> 00:05:06,320 >> Todo isto será familiar para vostede ata o final do semestre. 97 00:05:06,320 --> 00:05:10,680 E nós tamén terá de usar unha base de datos chamado MongoDB, que é realmente un 98 00:05:10,680 --> 00:05:14,250 base de datos popular agora a estas novas startups. 99 00:05:14,250 --> 00:05:18,650 Podes pensar niso como como MySQL, mais funciona moi ben con JavaScript. 100 00:05:18,650 --> 00:05:22,140 E hai algunhas outras tecnoloxías aquí e moitos máis que eu non teña listado 101 00:05:22,140 --> 00:05:23,880 que todos interface moi ben con Meteor. 102 00:05:23,880 --> 00:05:26,900 103 00:05:26,900 --> 00:05:30,540 >> Teño que poñer este foto porque ás veces eu fico confusión sobre iso. 104 00:05:30,540 --> 00:05:31,695 Meteor é só JavaScript. 105 00:05:31,695 --> 00:05:33,040 Non é PHP. 106 00:05:33,040 --> 00:05:34,360 Non é Ruby on Rails. 107 00:05:34,360 --> 00:05:37,950 Entón, se escribir o código, se quere escribir un proxecto de Meteor, o que realmente 108 00:05:37,950 --> 00:05:38,900 Non pode usar o código Ruby. 109 00:05:38,900 --> 00:05:41,660 Realmente non usar o PHP. 110 00:05:41,660 --> 00:05:45,800 >> Mentres nós imos ver que as diferenzas de código e sintaxe pode non ser tan 111 00:05:45,800 --> 00:05:48,930 diferente, quero salientar a vostedes que Meteoro, todo o que é código 112 00:05:48,930 --> 00:05:50,660 só en JavaScript. 113 00:05:50,660 --> 00:05:53,920 E todo o que mostra a o usuario será CSS HTML. 114 00:05:53,920 --> 00:05:56,780 Pero non está realmente a usar calquera dos as outras linguas que outro 115 00:05:56,780 --> 00:05:59,250 seminarios pode cubrir. 116 00:05:59,250 --> 00:06:01,020 O Meteor e tamén é un servidor web. 117 00:06:01,020 --> 00:06:03,930 Así, mesmo se non ten ningún JavaScript, e só quere servir 118 00:06:03,930 --> 00:06:07,020 Ficheiros CSS e HTML, Meteoro pode facelo por vostede. 119 00:06:07,020 --> 00:06:10,520 120 00:06:10,520 --> 00:06:13,770 >> E aquí está a ligazón de novo para o demo que eu teño vostedes 121 00:06:13,770 --> 00:06:15,380 comezou a xogar con. 122 00:06:15,380 --> 00:06:18,230 Pero imos pasar para HTML. 123 00:06:18,230 --> 00:06:22,060 Cantas persoas aquí teñen idea do que é HTML? 124 00:06:22,060 --> 00:06:22,670 OK grande. 125 00:06:22,670 --> 00:06:25,800 E iso é totalmente ben. 126 00:06:25,800 --> 00:06:29,410 Realmente non ten que saber moito sobre porque imos falar sobre o 127 00:06:29,410 --> 00:06:31,220 uso moi sinxelo. 128 00:06:31,220 --> 00:06:34,570 >> Isto é o que o simple Páxina HTML parece. 129 00:06:34,570 --> 00:06:38,840 Isto pode ser como o seu Ola, mundo para HTML, mentres que nós comezamos en C con 130 00:06:38,840 --> 00:06:40,760 Ola, mundo. 131 00:06:40,760 --> 00:06:44,360 Eu non quero que se estrés sobre o detalles do que HTML, o cabeza, o que 132 00:06:44,360 --> 00:06:46,120 corpo, o título está facendo alí. 133 00:06:46,120 --> 00:06:49,130 Eu só quero salientar a estrutura, como ten as etiquetas. 134 00:06:49,130 --> 00:06:50,860 E iso é o ángulo entre parénteses. 135 00:06:50,860 --> 00:06:52,380 E é aí onde ten seus descritores. 136 00:06:52,380 --> 00:06:54,790 >> Entón pode que o documento HTML. 137 00:06:54,790 --> 00:06:59,300 E entón vai pechar o documento HTML con barra invertida mesmo. 138 00:06:59,300 --> 00:07:01,200 E ten diferentes tipos de etiquetas. 139 00:07:01,200 --> 00:07:02,730 E teña en conta que todos eles están combinando. 140 00:07:02,730 --> 00:07:05,300 Terá como unha etiqueta body e logo, unha marca do corpo preto. 141 00:07:05,300 --> 00:07:08,620 E dentro da etiqueta body, que será o contido da súa páxina web. 142 00:07:08,620 --> 00:07:12,770 Polo tanto, esta páxina web simplemente amosar nun fondo branco e texto negro 143 00:07:12,770 --> 00:07:14,242 Ola, mundo. 144 00:07:14,242 --> 00:07:17,610 Será que isto ten sentido? 145 00:07:17,610 --> 00:07:19,500 Aceptar. 146 00:07:19,500 --> 00:07:22,640 >> Agora eu vou rapidamente cubrir JavaScript. 147 00:07:22,640 --> 00:07:26,990 Nas palabras dun TF anterior, "JavaScript é a mellor programación 148 00:07:26,990 --> 00:07:28,550 lingua actualmente existentes. 149 00:07:28,550 --> 00:07:30,520 Outras persoas van tentar dicir o contrario. 150 00:07:30,520 --> 00:07:33,840 Están errados ". JavaScript é moi bo, e eu vou amosar-lle por que. 151 00:07:33,840 --> 00:07:36,620 152 00:07:36,620 --> 00:07:42,380 >> Polo tanto, este é o exemplo clásico de comezar con en C. Temos Ola, mundo. 153 00:07:42,380 --> 00:07:45,500 E entender que, aínda se encoller Lo, ten que ter polo menos dous 154 00:07:45,500 --> 00:07:46,560 liñas de código aquí. 155 00:07:46,560 --> 00:07:48,990 Teño varias liñas de código. 156 00:07:48,990 --> 00:07:50,160 Isto pódese facer moi simplemente. 157 00:07:50,160 --> 00:07:53,950 Unha liña en JavaScript con console.log, e logo, a súa secuencia, 158 00:07:53,950 --> 00:07:55,340 Ola, mundo. 159 00:07:55,340 --> 00:07:59,570 >> Agora, aínda que estamos movendo para unha nova linguaxe JavaScript, case todo o 160 00:07:59,570 --> 00:08:02,950 habilidades que aprendeu codificando en C son directamente portátil. 161 00:08:02,950 --> 00:08:07,130 Así, cordas, a idea de cordas en comiñas, que é o mesmo. 162 00:08:07,130 --> 00:08:08,890 O punto e coma, que é o mesmo. 163 00:08:08,890 --> 00:08:11,190 >> Unha característica interesante JavaScript en realidade, é que 164 00:08:11,190 --> 00:08:12,360 Non é necesario o punto e coma. 165 00:08:12,360 --> 00:08:14,950 Pode creo que ten que poñer un punto e coma alí. 166 00:08:14,950 --> 00:08:18,035 Pero o que dixo, ten que sempre tentar para colocar os seus puntos e comas alí. 167 00:08:18,035 --> 00:08:21,160 É considerado un bo estilo. 168 00:08:21,160 --> 00:08:22,650 E, tamén, non hai ningunha función principal. 169 00:08:22,650 --> 00:08:25,580 Acaba de comezar a principios do ficheiro e ler cousas liña por liña. 170 00:08:25,580 --> 00:08:28,820 171 00:08:28,820 --> 00:08:32,760 >> Entón iso é o que fai falta para facer que Ola, programa mundial. 172 00:08:32,760 --> 00:08:36,059 E, a continuación, entender que ten que facer Ola e despois executar Olá 173 00:08:36,059 --> 00:08:38,530 Con JavaScript, é considerado unha linguaxe interpretada. 174 00:08:38,530 --> 00:08:40,780 O que cómpre saber é que non hai ningunha toma. 175 00:08:40,780 --> 00:08:41,950 >> Non hai ningunha compilación. 176 00:08:41,950 --> 00:08:43,440 Acaba de realizar no. 177 00:08:43,440 --> 00:08:47,220 E Lembre do nodo é o programa que executará Javascript nun consola, 178 00:08:47,220 --> 00:08:49,030 nunha caixa negra, e non o sitio. 179 00:08:49,030 --> 00:08:52,480 Entón acaba de darlle o ficheiro, e é indo para imprimir Ola, mundo. 180 00:08:52,480 --> 00:08:56,750 >> En realidade, eu vou facer unha pequena demostración de que para vós aquí. 181 00:08:56,750 --> 00:08:59,380 Entón imos para o meu Terminal de Node.js. 182 00:08:59,380 --> 00:09:04,470 183 00:09:04,470 --> 00:09:05,322 Aceptar. 184 00:09:05,322 --> 00:09:06,150 Imos pasar aquí. 185 00:09:06,150 --> 00:09:07,930 Entón, eu vou comezar a nodo. 186 00:09:07,930 --> 00:09:10,230 E eu vou amosar para vós en só un segundo como obter ese 187 00:09:10,230 --> 00:09:12,000 instalado, se non o fai. 188 00:09:12,000 --> 00:09:14,800 Deixe-me facer que un pouco máis grande. 189 00:09:14,800 --> 00:09:17,800 190 00:09:17,800 --> 00:09:17,870 Aceptar. 191 00:09:17,870 --> 00:09:20,120 Espero que vostedes poden ver. 192 00:09:20,120 --> 00:09:27,390 >> Entón, podo escribir o código como eu fixen antes en console.log. 193 00:09:27,390 --> 00:09:28,915 Ola, Roger. 194 00:09:28,915 --> 00:09:31,710 195 00:09:31,710 --> 00:09:35,330 E repare que eu non teño que facer o punto e coma, pero entón eu teño ese estraño 196 00:09:35,330 --> 00:09:36,850 cousa indefinida. 197 00:09:36,850 --> 00:09:40,310 Ben, en realidade, non importa sobre a cousa indefinida. 198 00:09:40,310 --> 00:09:43,590 Cousas que quero que entenda é que Non é necesario que a principal función aquí 199 00:09:43,590 --> 00:09:45,050 para comezar a funcionar código. 200 00:09:45,050 --> 00:09:46,790 E non hai fin barra invertida. 201 00:09:46,790 --> 00:09:50,683 Hai algunhas características pequenas que JavaScript pode facer por ti. 202 00:09:50,683 --> 00:09:53,510 >> Audiencia: [inaudível]. 203 00:09:53,510 --> 00:09:54,000 >> ROGER ZURAWICKI: Oh yeah. 204 00:09:54,000 --> 00:09:57,460 Eu sinto moito por iso. 205 00:09:57,460 --> 00:10:02,200 E esa frecha significa só nodo está listo para outro comando. 206 00:10:02,200 --> 00:10:05,380 Así, pode telo facer simple matemáticas, como 1 máis 1. 207 00:10:05,380 --> 00:10:10,360 E, así como en C, estes matemáticas símbolos son a mesma cousa. 208 00:10:10,360 --> 00:10:13,750 Eu podo facer console.log dun número. 209 00:10:13,750 --> 00:10:15,090 E entón el imprime dúas. 210 00:10:15,090 --> 00:10:19,000 JavaScript é bo nese sentido, xa que a pesar de dous é un int, 211 00:10:19,000 --> 00:10:22,020 como en C, se fixo printf dous, que obterá un erro. 212 00:10:22,020 --> 00:10:24,140 >> Pero JavaScript sabe, ah, está imprimir algo. 213 00:10:24,140 --> 00:10:25,070 Vou ter unha corda. 214 00:10:25,070 --> 00:10:28,410 Entón deixe-me converter que dous nunha corda para ti. 215 00:10:28,410 --> 00:10:34,970 E tamén pode facer algunhas cousas estrañas como ola e, a continuación, máis dous. 216 00:10:34,970 --> 00:10:39,520 Este é só un exemplo de como dous pode ser convertida en non tan ben. 217 00:10:39,520 --> 00:10:45,135 >> Entón, con iso fóra do camiño, imos só cubrir un pouco máis de JavaScript. 218 00:10:45,135 --> 00:10:48,660 219 00:10:48,660 --> 00:10:50,540 Así, en C, temos os tipos. 220 00:10:50,540 --> 00:10:53,925 Sempre que creamos unha nova variable, que teño que dicir que é el é char * ou 221 00:10:53,925 --> 00:10:55,850 corda no caso CS50. 222 00:10:55,850 --> 00:10:58,350 Ou se tivésemos un número decimal, que tiñamos que dicir float. 223 00:10:58,350 --> 00:11:00,690 Se necesitabamos un booleano, que tiñamos que dicir b. 224 00:11:00,690 --> 00:11:04,220 E, a continuación, xa que tiña algo que foi b, tiña que estar un bool. 225 00:11:04,220 --> 00:11:07,360 Non podería Magic cambia-lo para un int, salvo que escribiu no 226 00:11:07,360 --> 00:11:09,450 parénteses, int de b. 227 00:11:09,450 --> 00:11:11,820 >> No JavaScript, non hai tipos. 228 00:11:11,820 --> 00:11:13,350 Só pensar nel como var. 229 00:11:13,350 --> 00:11:15,270 E var é como crear un novo tipo. 230 00:11:15,270 --> 00:11:19,210 Entón pode ter var s sendo unha cadea, var n ser un float, 231 00:11:19,210 --> 00:11:21,230 e var b ser verdade. 232 00:11:21,230 --> 00:11:24,980 E unha cousa que non pode facer en C é Agora podo dicir, tras esa liña, b 233 00:11:24,980 --> 00:11:26,230 é igual a un número enteiro. 234 00:11:26,230 --> 00:11:27,400 E iso funciona moi ben. 235 00:11:27,400 --> 00:11:30,840 Considerando que, en C, sería dicir como seu enteiro non é un bool. 236 00:11:30,840 --> 00:11:32,770 Eu non podo facelo por vostede. 237 00:11:32,770 --> 00:11:34,050 Ou [inaudível] promoverá un erro. 238 00:11:34,050 --> 00:11:37,970 239 00:11:37,970 --> 00:11:43,420 >> E podo ir rápido de volta para nós e amosar un pouco desa función. 240 00:11:43,420 --> 00:11:44,960 Entón, podo ter un var a. 241 00:11:44,960 --> 00:11:52,120 Chamalo de "Apple". Entón agora cando imprimir un, Recibe a miña cadea, 'Mazá'. Pero eu podo 242 00:11:52,120 --> 00:11:54,900 agora tamén din que un é igual a 3. 243 00:11:54,900 --> 00:11:56,610 E teña en conta que non hai erro. 244 00:11:56,610 --> 00:12:00,630 E agora é igual a 3. 245 00:12:00,630 --> 00:12:01,880 Todas as preguntas ata agora? 246 00:12:01,880 --> 00:12:07,030 247 00:12:07,030 --> 00:12:07,570 Si 248 00:12:07,570 --> 00:12:10,780 >> Audiencia: Espera, así console.log é basicamente printf, non? 249 00:12:10,780 --> 00:12:12,180 >> ROGER ZURAWICKI: console.log é o seu printf. 250 00:12:12,180 --> 00:12:12,652 >> Audiencia: Certo. 251 00:12:12,652 --> 00:12:17,844 Entón como é que se acaba de escribir en oito ou [inaudível], o que iso 252 00:12:17,844 --> 00:12:18,790 [Inaudível]? 253 00:12:18,790 --> 00:12:19,160 >> ROGER ZURAWICKI: Certo. 254 00:12:19,160 --> 00:12:21,690 Por iso, é - 255 00:12:21,690 --> 00:12:24,240 o material en verde imprimirase na consola. 256 00:12:24,240 --> 00:12:27,050 E o que veremos a continuación é cando pasamos á web 257 00:12:27,050 --> 00:12:29,300 páxina, non imos estar facendo - 258 00:12:29,300 --> 00:12:32,650 JavaScript terá un HTML modelo, que vou cubrir o 259 00:12:32,650 --> 00:12:34,730 Meteor parte do seminario. 260 00:12:34,730 --> 00:12:38,730 E é aí que pode dicir, dáme o valor dun, e só pode pór un en 261 00:12:38,730 --> 00:12:39,920 seu sitio. 262 00:12:39,920 --> 00:12:42,520 Como cada navegador realmente ten un pequeno consola. 263 00:12:42,520 --> 00:12:46,380 E se mirar con moito coidado, se obter unha información, como o seu 264 00:12:46,380 --> 00:12:51,210 printf está aparecendo alí con cada páxina web que cargar. 265 00:12:51,210 --> 00:12:53,580 >> Audiencia: Como conseguiu a pantalla do shell? 266 00:12:53,580 --> 00:12:57,680 >> ROGER ZURAWICKI: Entón non hai unha orde chamado nó, e el vén con Meteor. 267 00:12:57,680 --> 00:13:01,230 Entón eu vou saír de alí. 268 00:13:01,230 --> 00:13:03,580 Nodo é o programa que corre JavaScript. 269 00:13:03,580 --> 00:13:07,070 Se vai para meteor.com, vostede Pode instalar Meteor, e 270 00:13:07,070 --> 00:13:08,480 Meteor ven con nó. 271 00:13:08,480 --> 00:13:11,470 Porque Meteor é só unha colección de todos estes paquetes de software. 272 00:13:11,470 --> 00:13:15,280 Cando chegamos ao noso exemplo, eu vou andar todo o mundo a través da instalación 273 00:13:15,280 --> 00:13:17,625 Meteoro, e entón pode xogar con o mesmo. 274 00:13:17,625 --> 00:13:22,154 275 00:13:22,154 --> 00:13:23,980 OK, xenial. 276 00:13:23,980 --> 00:13:29,640 >> Así, outra gran característica de traballar con JavaScript é loops son o mesmo. 277 00:13:29,640 --> 00:13:31,430 Practicamente o mesmo. 278 00:13:31,430 --> 00:13:35,530 Para loops, mentres loops, facer mentres loops, se outra cousa. 279 00:13:35,530 --> 00:13:36,880 É todo o mesmo coas chaves. 280 00:13:36,880 --> 00:13:38,540 É a mesma sintaxe. 281 00:13:38,540 --> 00:13:41,350 No caso de que un loop for, o pequeno detalle que ten que prestar atención 282 00:13:41,350 --> 00:13:45,340 a é, en vez de int i igual a 0, temos que dicir var i é igual a 0. 283 00:13:45,340 --> 00:13:49,580 Pero iso é por causa das variables tipo que falamos antes. 284 00:13:49,580 --> 00:13:53,360 >> Teña en conta que o printf convértese en un rexistro, un console.log. 285 00:13:53,360 --> 00:13:57,370 E nós non necesitamos facer a porcentaxe p barra invertida n e, a continuación, pasar en i. 286 00:13:57,370 --> 00:13:58,380 Pode só dicir i. 287 00:13:58,380 --> 00:14:01,910 E sería imprimir os números de cero a catro. 288 00:14:01,910 --> 00:14:04,830 Se vostedes queren probar iso, porque Trouxo un punto bo. 289 00:14:04,830 --> 00:14:08,730 Se quere realizar este código no seu propio navegador, eu recomendo que 290 00:14:08,730 --> 00:14:11,040 todo o mundo abre o Google Chrome. 291 00:14:11,040 --> 00:14:14,220 Google Chrome ou calquera navegador de realidade, pero me gusta de Google Chrome 292 00:14:14,220 --> 00:14:17,350 porque é moi estándar. 293 00:14:17,350 --> 00:14:24,240 >> Pode ir, eu creo que, se dereita clic en calquera sitio, só no 294 00:14:24,240 --> 00:14:26,880 espazo en branco, podes ver unha opción chamado Inspect Element. 295 00:14:26,880 --> 00:14:28,810 Xeralmente é a última. 296 00:14:28,810 --> 00:14:32,630 E cando fai clic nel, ten que obter unha cousa á parte inferior aparecen aquí. 297 00:14:32,630 --> 00:14:35,840 298 00:14:35,840 --> 00:14:37,780 Déixeme achegar aquí. 299 00:14:37,780 --> 00:14:41,390 E temos algunhas pestanas aquí. 300 00:14:41,390 --> 00:14:43,580 O único que importa é consola. 301 00:14:43,580 --> 00:14:48,820 >> E este é unha consola JavaScript que agora pode traballar con el. 302 00:14:48,820 --> 00:14:49,370 Grande. 303 00:14:49,370 --> 00:14:52,560 Para que eu poida escribir o mesmo Estaba escribindo antes en nó. 304 00:14:52,560 --> 00:14:54,790 Un máis un é dous. 305 00:14:54,790 --> 00:14:59,110 Var un é igual a "Apple". 306 00:14:59,110 --> 00:15:03,430 E entón eu imprimir un, e unha é 'Apple'. 307 00:15:03,430 --> 00:15:08,760 Entón, en calquera navegador, Firefox, Chrome, Safari, o que utiliza, como 308 00:15:08,760 --> 00:15:11,240 Sempre que teña acceso a un Javascript consola, o mesmo tipo de 309 00:15:11,240 --> 00:15:15,520 código que eu estaba correndo no nodo que pode ser executado no seu propio consola. 310 00:15:15,520 --> 00:15:17,530 >> Audiencia: [inaudível]? 311 00:15:17,530 --> 00:15:18,690 >> ROGER ZURAWICKI: Como chegar á consola? 312 00:15:18,690 --> 00:15:22,880 Ten que premer á dereita no espazo baleiro na páxina, e entón vai para 313 00:15:22,880 --> 00:15:26,100 Inspect Element. 314 00:15:26,100 --> 00:15:28,290 Entón, en realidade, gustaríame que vostedes só para asegurarse de que pode 315 00:15:28,290 --> 00:15:29,860 Inspect Element en Chrome. 316 00:15:29,860 --> 00:15:32,630 E mira cando escribe algunha código para a consola 317 00:15:32,630 --> 00:15:33,880 que sexa executado correctamente. 318 00:15:33,880 --> 00:16:15,820 319 00:16:15,820 --> 00:16:18,430 Sinto-se libre para facer calquera pregunta se algo non está claro aquí. 320 00:16:18,430 --> 00:16:23,340 321 00:16:23,340 --> 00:16:24,590 >> Audiencia: [inaudível]. 322 00:16:24,590 --> 00:16:27,280 323 00:16:27,280 --> 00:16:28,200 >> ROGER ZURAWICKI: Calquera tipo, certo. 324 00:16:28,200 --> 00:16:31,370 Hai só un tipo para todos variables en JavaScript. 325 00:16:31,370 --> 00:16:34,160 E cando ten a declarar unha variable, di var. 326 00:16:34,160 --> 00:16:35,410 >> Audiencia: [inaudível]. 327 00:16:35,410 --> 00:16:39,010 328 00:16:39,010 --> 00:16:40,050 >> ROGER ZURAWICKI: Yeah. 329 00:16:40,050 --> 00:16:43,730 El fai, pero en JavaScript, é moi intelixente sobre a distribución de memoria. 330 00:16:43,730 --> 00:16:44,600 Non hai malloc. 331 00:16:44,600 --> 00:16:45,780 Non hai libre. 332 00:16:45,780 --> 00:16:48,490 Así que non se preocupe con iso. 333 00:16:48,490 --> 00:16:51,140 Ese é outro recurso interesante que JavaScript fornece-lle. 334 00:16:51,140 --> 00:16:56,990 335 00:16:56,990 --> 00:16:58,440 >> Entón gustaríame seguir adiante. 336 00:16:58,440 --> 00:17:01,360 Tería que ser OK? 337 00:17:01,360 --> 00:17:02,610 Aceptar. 338 00:17:02,610 --> 00:17:04,780 339 00:17:04,780 --> 00:17:07,720 Grande. 340 00:17:07,720 --> 00:17:10,660 >> Audiencia: Eu só estou a ter problemas atopar o [? Inspect Element. ?] 341 00:17:10,660 --> 00:17:13,609 342 00:17:13,609 --> 00:17:16,250 >> ROGER ZURAWICKI: parece tan Safari un pouco diferente, pero 343 00:17:16,250 --> 00:17:18,599 ten Chrome ou Firefox? 344 00:17:18,599 --> 00:17:21,619 Estes son o máis fácil os para traballar. 345 00:17:21,619 --> 00:17:25,079 E para os seus proxectos, recoméndolles furando cun navegador, porque 346 00:17:25,079 --> 00:17:29,610 vai ter unha chea de erros case porque todos os mimos do navegador 347 00:17:29,610 --> 00:17:31,980 JavaScript HTML un pouco diferente. 348 00:17:31,980 --> 00:17:35,170 Entón eu creo que a súa vida vai ser moi máis doado se ater a Chrome porque 349 00:17:35,170 --> 00:17:37,052 está dispoñible en todas as máquinas. 350 00:17:37,052 --> 00:17:38,790 E é un navegador moi popular. 351 00:17:38,790 --> 00:17:59,860 352 00:17:59,860 --> 00:18:01,110 OK? 353 00:18:01,110 --> 00:18:03,310 354 00:18:03,310 --> 00:18:06,370 >> Así, o seguinte tema que deberiamos cubrir en JavaScript - 355 00:18:06,370 --> 00:18:07,730 Sinto moito sobre o formato aquí. 356 00:18:07,730 --> 00:18:11,630 Eu tiña que estirar os diapositivas para combinar o proxector widescreen. 357 00:18:11,630 --> 00:18:14,750 Pero agora quere falar como facer funcións. 358 00:18:14,750 --> 00:18:17,410 En C, temos que declarar cada función. 359 00:18:17,410 --> 00:18:22,130 Como engadir int, e leva un int en x, e un int y, e entón engadila los 360 00:18:22,130 --> 00:18:23,100 e devolve-lo. 361 00:18:23,100 --> 00:18:26,850 >> En JavaScript, funcións son realmente outro tipo de variable. 362 00:18:26,850 --> 00:18:30,560 Entón, nós só dicir var engadir e é igual a unha función. 363 00:18:30,560 --> 00:18:32,580 Unha función que leva un xe un y. 364 00:18:32,580 --> 00:18:33,790 E o que esta función fai? 365 00:18:33,790 --> 00:18:39,910 El retorna x + y en exactamente o mesmo sintaxe como en C. E entender que en 366 00:18:39,910 --> 00:18:44,290 JavaScript, non será dito o que o función devolve porque desde 367 00:18:44,290 --> 00:18:49,160 variables non teñen tipo de calquera xeito, non é realmente produtivo, eu creo, 368 00:18:49,160 --> 00:18:52,855 ser especificando todas as súas tipo nas súas funcións. 369 00:18:52,855 --> 00:18:55,720 370 00:18:55,720 --> 00:18:59,565 E entón, cando chamar unha función, é exactamente a mesma sintaxe de C. Vostede 371 00:18:59,565 --> 00:19:03,610 basta pasar nos seus dous argumentos. 372 00:19:03,610 --> 00:19:07,330 Gustaríame probar iso no meu nó. 373 00:19:07,330 --> 00:19:09,284 Podo cambiar o foto? 374 00:19:09,284 --> 00:19:10,534 >> Audiencia: [inaudível]. 375 00:19:10,534 --> 00:19:14,639 376 00:19:14,639 --> 00:19:17,000 Será que imos ter unha copia dos diapositivas? 377 00:19:17,000 --> 00:19:18,250 >> ROGER ZURAWICKI: si. 378 00:19:18,250 --> 00:19:28,280 379 00:19:28,280 --> 00:19:29,956 Entón, imos volver ao nodo. 380 00:19:29,956 --> 00:19:32,240 Aceptar. 381 00:19:32,240 --> 00:19:38,160 Entón, eu vou dicir que é igual á función add var. 382 00:19:38,160 --> 00:19:40,650 Tomar un x, tomando un y. 383 00:19:40,650 --> 00:19:43,690 E entón el sabe que da instrución non rematada. 384 00:19:43,690 --> 00:19:47,692 Así, no nó ou o seu resultado, notará dot dot dot. 385 00:19:47,692 --> 00:19:49,660 Entón pode continuar escribindo o seu código. 386 00:19:49,660 --> 00:19:53,650 E agora eu vou dicir return x + y. 387 00:19:53,650 --> 00:19:54,790 E, a continuación, pechar a cinta. 388 00:19:54,790 --> 00:20:00,260 E no momento en que eu peche a clave, el vese que a instrución é rematada. 389 00:20:00,260 --> 00:20:04,730 >> E agora podo dicir engadir un e dous. 390 00:20:04,730 --> 00:20:08,280 E eu vou estar tres. 391 00:20:08,280 --> 00:20:11,545 Teña en conta que, se eu só fixen engadir, el me di que é unha función. 392 00:20:11,545 --> 00:20:14,630 393 00:20:14,630 --> 00:20:19,570 E unha cousa só para prestar atención a é se darlle o número incorrecto de 394 00:20:19,570 --> 00:20:23,380 argumentos, que vai facer. 395 00:20:23,380 --> 00:20:25,890 Esta será executado, pero pode que uns resultados moi raro. 396 00:20:25,890 --> 00:20:30,070 Como unha especie de valor de lixo, pode pensar niso. 397 00:20:30,070 --> 00:20:32,060 Entón, por favor, vai adiante e tratar de iso nos seus navegadores. 398 00:20:32,060 --> 00:21:25,180 399 00:21:25,180 --> 00:21:29,510 >> OK, entón, en interese de tempo, eu vou agora pasar para os próximos recursos en 400 00:21:29,510 --> 00:21:30,760 JavaScript. 401 00:21:30,760 --> 00:21:36,520 402 00:21:36,520 --> 00:21:38,400 Entón, nós xa falamos sobre funcións. 403 00:21:38,400 --> 00:21:40,840 Nós falamos sobre loops, if tamén. 404 00:21:40,840 --> 00:21:43,660 A sintaxe é a mesma como C e variables. 405 00:21:43,660 --> 00:21:46,090 E agora quero falar de matrices. 406 00:21:46,090 --> 00:21:48,520 Lamento que os diapositivas quedou un pouco cortada. 407 00:21:48,520 --> 00:21:52,470 Pero, en realidade, na primeira sección, todo o que precisa vai funcionar. 408 00:21:52,470 --> 00:21:55,410 >> Polo tanto, temos outro tipo de variables chamadas matrices. 409 00:21:55,410 --> 00:21:57,930 E usamos corchetes para denotar a eles. 410 00:21:57,930 --> 00:22:01,960 Así, o primeiro exemplo, var arr, array baleiro. 411 00:22:01,960 --> 00:22:05,900 Esta é a lista baleira, entón un array que non contén elementos. 412 00:22:05,900 --> 00:22:09,770 E tamén pode ter unha matriz con tres cordas. 413 00:22:09,770 --> 00:22:13,290 En C, cada elemento na súa matriz tivo que ser do mesmo tipo. 414 00:22:13,290 --> 00:22:16,940 >> Senón porque en JavaScript existe só un tipo, as matrices realmente 415 00:22:16,940 --> 00:22:18,510 ter diferentes tipos de valores. 416 00:22:18,510 --> 00:22:22,220 Como aquí, temos unha matriz con unha boia, un booleano, e un int. 417 00:22:22,220 --> 00:22:25,020 418 00:22:25,020 --> 00:22:28,510 O xeito como obter unha lonxitude dunha matriz, en realidade non ten que usar o tamaño de 419 00:22:28,510 --> 00:22:29,030 ou calquera cousa. 420 00:22:29,030 --> 00:22:31,570 Acaba de dicir array e logo dot lonxitude. 421 00:22:31,570 --> 00:22:36,450 E este lonxitude do punto, pode pensar como unha especie de estrutura, como cada 422 00:22:36,450 --> 00:22:40,890 matriz ten un campo, unha variable adicional dentro do que chamou de longo, o que 423 00:22:40,890 --> 00:22:42,910 mantén o control de canto tempo a súa matriz é. 424 00:22:42,910 --> 00:22:47,280 425 00:22:47,280 --> 00:22:50,420 >> Entón eu vou só rápido para entrar en nó e amosar a vostedes o mesmo. 426 00:22:50,420 --> 00:22:55,860 427 00:22:55,860 --> 00:22:58,050 Entón, podo ter unha matriz. 428 00:22:58,050 --> 00:23:00,280 Pode ser a lista baleira. 429 00:23:00,280 --> 00:23:02,030 E me vai imprimir apoiar unha lista baleira. 430 00:23:02,030 --> 00:23:02,530 Grande. 431 00:23:02,530 --> 00:23:08,560 Agora podo dicir que a matriz ten 1, e 2.3, e certo. 432 00:23:08,560 --> 00:23:10,400 Así, todos os tipos. 433 00:23:10,400 --> 00:23:11,740 E entender que funciona moi ben. 434 00:23:11,740 --> 00:23:16,330 A matriz volten apoios todos os valores que eu dei nel. 435 00:23:16,330 --> 00:23:20,440 >> Se eu quixese obter o primeiro elemento de a matriz, a sintaxe é realmente 436 00:23:20,440 --> 00:23:22,980 o mesmo que en C. É pode dicir disposición cero. 437 00:23:22,980 --> 00:23:24,430 E comeza un. 438 00:23:24,430 --> 00:23:27,920 Eu podo dicir o mesmo de disposición dous, e eu recibín verdade. 439 00:23:27,920 --> 00:23:31,610 Se eu fai algo fóra da matriz, JavaScript é unha linguaxe de seguro 440 00:23:31,610 --> 00:23:33,390 porque non vai ter un fallo seg. 441 00:23:33,390 --> 00:23:34,780 Vou incorporarse indefinido. 442 00:23:34,780 --> 00:23:37,510 >> E iso non está definida, pode tipo de pensar niso como nulo. 443 00:23:37,510 --> 00:23:41,390 Pero pode ser moi aburrido cando código, pois vai ter que comprobar se 444 00:23:41,390 --> 00:23:43,880 case todo o que fai, traballar con é indefinido. 445 00:23:43,880 --> 00:23:47,700 E nós imos ver algúns exemplos de iso cando traballamos en Meteor. 446 00:23:47,700 --> 00:23:50,600 >> Aínda array de catro é indefinido, Podo asignar-lle un valor. 447 00:23:50,600 --> 00:23:52,570 Entón, eu vou dicir que é igual a un. 448 00:23:52,570 --> 00:23:57,050 E entón se eu for a matriz, eu ter o valor extra de alí. 449 00:23:57,050 --> 00:24:02,470 E teña en conta que matriz de tres, que tamén foi definido, permanece indefinido. 450 00:24:02,470 --> 00:24:05,690 Entón agora teño unha matriz con un burato no medio. 451 00:24:05,690 --> 00:24:07,750 Pero se eu impreso conxunto de catro, Quere obter un. 452 00:24:07,750 --> 00:24:10,960 Se eu fixen matriz de tres, fico con indefinido. 453 00:24:10,960 --> 00:24:13,880 >> Así, o recurso interesante que Javascript permite que fai é que as listas poden 454 00:24:13,880 --> 00:24:15,620 cambiar o tamaño. 455 00:24:15,620 --> 00:24:18,520 Arrays, matrices ser listas, eles mudan de tamaño. 456 00:24:18,520 --> 00:24:22,480 E pode especificar calquera lugar dentro deles. 457 00:24:22,480 --> 00:24:25,370 E todos os ocos serán cubertos con estes valores indefinidos. 458 00:24:25,370 --> 00:24:31,560 459 00:24:31,560 --> 00:24:33,450 >> Entón, nós xa falamos sobre matrices. 460 00:24:33,450 --> 00:24:37,050 Agora, a última cousa que quero cubrir en JavaScript, e isto é moi importante 461 00:24:37,050 --> 00:24:39,550 para a comprensión do código que Vou mostrar a vostede, 462 00:24:39,550 --> 00:24:41,530 será obxectos. 463 00:24:41,530 --> 00:24:45,140 E obxectos son un termo en - 464 00:24:45,140 --> 00:24:47,380 basicamente, están presentes en moitas linguaxes de programación. 465 00:24:47,380 --> 00:24:50,620 E cada linguaxe de programación desexa considera-los un pouco diferente. 466 00:24:50,620 --> 00:24:55,050 >> Pero eu creo que ao Meteor, un bo analoxía é a struct C. 467 00:24:55,050 --> 00:24:59,410 En C, se quere atopar a estrutura alumno, a xente ten que indicar todo o 468 00:24:59,410 --> 00:25:00,240 cousas dentro del. 469 00:25:00,240 --> 00:25:01,440 Entón iso ten que ter un nome. 470 00:25:01,440 --> 00:25:02,140 Ten que ter un ano. 471 00:25:02,140 --> 00:25:03,650 Ten que ter un xénero. 472 00:25:03,650 --> 00:25:07,350 Pero tamén temos que darlle o tipo de todas estas cousas. 473 00:25:07,350 --> 00:25:11,200 >> E agora que temos esta plantilla para o struct chamado estudante, que pode ter un 474 00:25:11,200 --> 00:25:14,640 nova estrutura, e entón podemos manualmente dicir o que cada un dos campos son. 475 00:25:14,640 --> 00:25:17,740 E é aí que usan o nome do punto, Ano punto, punto de xénero. 476 00:25:17,740 --> 00:25:21,930 E entón nós só, na última liña do código aquí, só estou imprimindo a 477 00:25:21,930 --> 00:25:24,980 nome do alumno struct. 478 00:25:24,980 --> 00:25:28,220 >> No mundo JavaScript, existe existe tal cousa como alumno struct. 479 00:25:28,220 --> 00:25:30,660 Non xerar unha estrutura predefinida. 480 00:25:30,660 --> 00:25:34,680 Realmente só, nestes soportes, vostede di que está todo. 481 00:25:34,680 --> 00:25:40,680 E é esta notación estraño co colonos e, a continuación, a coma, pero vai 482 00:25:40,680 --> 00:25:41,810 se acostumar con iso en breve. 483 00:25:41,810 --> 00:25:44,930 >> E é realmente un moi doado, forma flexible de só 484 00:25:44,930 --> 00:25:47,400 manipulación de obxectos. 485 00:25:47,400 --> 00:25:51,270 Entender que se eu queira agora comezar nomear desde s, eu só fago s.name. 486 00:25:51,270 --> 00:25:54,090 487 00:25:54,090 --> 00:25:56,790 Hai algunha dúbida sobre iso? 488 00:25:56,790 --> 00:26:00,260 Isto xeralmente ser moi confuso tema cando introducimos a xente a 489 00:26:00,260 --> 00:26:02,280 JavaScript. 490 00:26:02,280 --> 00:26:04,110 Vou facer algúns exemplos deste en nó. 491 00:26:04,110 --> 00:26:05,010 Si? 492 00:26:05,010 --> 00:26:06,260 >> Audiencia: [inaudível]. 493 00:26:06,260 --> 00:26:14,130 494 00:26:14,130 --> 00:26:16,230 >> ROGER ZURAWICKI: Entón ter un exemplo, múltiples 495 00:26:16,230 --> 00:26:18,764 variables deste tipo. 496 00:26:18,764 --> 00:26:20,014 >> Audiencia: [inaudível]. 497 00:26:20,014 --> 00:26:23,540 498 00:26:23,540 --> 00:26:24,790 >> Audiencia: [inaudível]. 499 00:26:24,790 --> 00:26:37,610 500 00:26:37,610 --> 00:26:39,450 >> ROGER ZURAWICKI: Aceptar. 501 00:26:39,450 --> 00:26:43,760 Entón eu creo que a forma que faría para ía poñer obxectos nunha matriz, 502 00:26:43,760 --> 00:26:45,340 e agora vai ter un matriz de obxectos. 503 00:26:45,340 --> 00:26:47,547 Isto responde a súa pregunta? 504 00:26:47,547 --> 00:26:48,797 >> Audiencia: [inaudível]. 505 00:26:48,797 --> 00:26:50,890 506 00:26:50,890 --> 00:26:51,260 >> ROGER ZURAWICKI: si. 507 00:26:51,260 --> 00:26:52,430 S é un obxecto. 508 00:26:52,430 --> 00:26:57,455 Así, podemos entrar en nós e só xogar un pouco. 509 00:26:57,455 --> 00:26:58,705 >> Audiencia: [inaudível]? 510 00:26:58,705 --> 00:27:04,880 511 00:27:04,880 --> 00:27:05,440 >> ROGER ZURAWICKI: Oh, Aceptar. 512 00:27:05,440 --> 00:27:10,660 Entón, se está a se pregunta o que as clases son, clases son tratadas de forma moi diferente, 513 00:27:10,660 --> 00:27:14,510 e eles teñen un esquema moi raro chamado prototipado, que non 514 00:27:14,510 --> 00:27:15,620 Debe saber sobre. 515 00:27:15,620 --> 00:27:17,910 Non hai ningunha forma de facelo fixo. 516 00:27:17,910 --> 00:27:21,160 Entón, se quere xerar múltiple, se sería só unha especie de ter unha función 517 00:27:21,160 --> 00:27:22,100 ou algo así. 518 00:27:22,100 --> 00:27:24,340 Vostede xera a súa propia función. 519 00:27:24,340 --> 00:27:26,765 E ía voltar un obxecto. 520 00:27:26,765 --> 00:27:29,550 Iso sería o máis fácil forma de facelo. 521 00:27:29,550 --> 00:27:32,454 Será que isto ten sentido? 522 00:27:32,454 --> 00:27:33,704 Aceptar. 523 00:27:33,704 --> 00:27:36,182 524 00:27:36,182 --> 00:27:36,650 Grande. 525 00:27:36,650 --> 00:27:39,820 Así, unha vez que temos unha comprensión de JavaScript obxectos, son - 526 00:27:39,820 --> 00:27:41,082 Oh, si. 527 00:27:41,082 --> 00:27:42,026 >> Audiencia: [inaudível] 528 00:27:42,026 --> 00:27:45,802 exemplo, cal é a diferenza entre "Roger", con aspas dobres contra 529 00:27:45,802 --> 00:27:47,510 [Inaudível] con aspas. 530 00:27:47,510 --> 00:27:47,810 >> ROGER ZURAWICKI: Aceptar. 531 00:27:47,810 --> 00:27:52,730 Polo tanto, esta é en C, temos o único citas que representan caracteres, e dobre 532 00:27:52,730 --> 00:27:54,550 citas representan cadeas. 533 00:27:54,550 --> 00:27:57,920 JavaScript realmente xoga tanto fóra porque pode ter cordas con 534 00:27:57,920 --> 00:28:01,570 comiñas simples ou dobres, e non hai existe tal cousa como un único carácter. 535 00:28:01,570 --> 00:28:04,400 Pero, se acaba de copiar o mesmo Código C, JavaScript faría 536 00:28:04,400 --> 00:28:05,610 trata-lo moi ben. 537 00:28:05,610 --> 00:28:07,710 É por iso que eu tratei-o como - 538 00:28:07,710 --> 00:28:12,540 é por iso que podo literalmente porto o código nese sentido. 539 00:28:12,540 --> 00:28:15,420 >> E quero amosar-lle un exemplo dun obxecto máis complicado. 540 00:28:15,420 --> 00:28:19,890 Así, pode ter en conta que un obxecto Pode ter cordas como valores. 541 00:28:19,890 --> 00:28:21,530 Pode ter outra lista de valores. 542 00:28:21,530 --> 00:28:23,820 Podería ter unha lista de obxectos como valores. 543 00:28:23,820 --> 00:28:25,870 Non hai realmente ningún límite para iso. 544 00:28:25,870 --> 00:28:29,070 Entón, aquí, é só unha boa demostración de como pode obter un lote 545 00:28:29,070 --> 00:28:33,290 distintos tipos suceder todo nun só obxecto. 546 00:28:33,290 --> 00:28:34,540 Será que isto ten sentido? 547 00:28:34,540 --> 00:28:41,090 548 00:28:41,090 --> 00:28:44,700 >> Agora, tamén pode ter arrays de obxectos. 549 00:28:44,700 --> 00:28:48,530 E aquí é unha especie de similar ao que preguntei, se pode ter obxectos de 550 00:28:48,530 --> 00:28:49,190 do mesmo tipo. 551 00:28:49,190 --> 00:28:52,960 Pero o problema é que non hai ningún fixo formato a obxectos en JavaScript. 552 00:28:52,960 --> 00:28:55,020 Entón tes que indicar a eles só. 553 00:28:55,020 --> 00:28:57,600 E ten que ter seguro que son uniformes. 554 00:28:57,600 --> 00:29:00,410 Entón, aquí, cando eu creo un obxecto, eu teño estar seguro de que cada un ten unha 555 00:29:00,410 --> 00:29:01,910 nome, e cada un ten unha casa. 556 00:29:01,910 --> 00:29:05,620 >> E entón eu teño unha matriz destes, e que pode ser a miña casa. 557 00:29:05,620 --> 00:29:08,290 E, a continuación, aquí podes tipo de ver o loop for a suceder. 558 00:29:08,290 --> 00:29:14,090 O lazo de ser ser só un realmente común forma a atravesar por unha matriz 559 00:29:14,090 --> 00:29:15,150 en JavaScript. 560 00:29:15,150 --> 00:29:18,010 Nótese que este estándar é moi similar ao C equivalente, onde 561 00:29:18,010 --> 00:29:21,470 ter int i é igual a cero. Eu é menor que a lonxitude. 562 00:29:21,470 --> 00:29:23,634 E entón eu plus plus. 563 00:29:23,634 --> 00:29:26,035 >> É case o mesmo código, con excepción dalgúns detalles. 564 00:29:26,035 --> 00:29:29,460 565 00:29:29,460 --> 00:29:33,120 Así que todo o mundo entende o que un obxecto é? 566 00:29:33,120 --> 00:29:35,820 Basta pensar niso como un struct C. 567 00:29:35,820 --> 00:29:38,784 E o xeito de acceder aos campos é só co punto. 568 00:29:38,784 --> 00:29:41,950 E mentres se lembrar de como usar o punto, vai estar ben. 569 00:29:41,950 --> 00:29:55,300 570 00:29:55,300 --> 00:29:58,790 >> OK, entón agora podemos todos ler a ligazón? 571 00:29:58,790 --> 00:30:02,220 Este é o enlace para o proxecto. 572 00:30:02,220 --> 00:30:04,950 Alguén está a ter problemas ver a ligazón? 573 00:30:04,950 --> 00:30:06,251 OK, imos muda-lo entón. 574 00:30:06,251 --> 00:30:14,430 575 00:30:14,430 --> 00:30:15,680 Non é - 576 00:30:15,680 --> 00:30:21,900 577 00:30:21,900 --> 00:30:24,240 Si, esta é probablemente a xeito máis doado de facelo. 578 00:30:24,240 --> 00:30:32,390 579 00:30:32,390 --> 00:30:34,560 Grande. 580 00:30:34,560 --> 00:30:38,270 >> Entón, se ir a esta web, non debe haber algunhas instruccións que vou 581 00:30:38,270 --> 00:30:42,550 pasar por riba de como podemos instalar Meteor e comezar a nosa carreira proxecto de exemplo. 582 00:30:42,550 --> 00:30:47,900 583 00:30:47,900 --> 00:30:50,180 Eu quero ter seguro de que todo o mundo ten o seguinte ligazón antes de moverse. 584 00:30:50,180 --> 00:31:16,250 585 00:31:16,250 --> 00:31:17,500 Podo seguir adiante? 586 00:31:17,500 --> 00:31:20,683 587 00:31:20,683 --> 00:31:23,680 OK, xenial. 588 00:31:23,680 --> 00:31:25,890 >> Por iso estou aquí na páxina web. 589 00:31:25,890 --> 00:31:28,740 Vai notar no ficheiro Léame, temos algunhas instrucións sobre como 590 00:31:28,740 --> 00:31:30,200 para ª configurar. 591 00:31:30,200 --> 00:31:33,920 Ten que ser tanto en CS50 aparello ou só en un Mac 592 00:31:33,920 --> 00:31:35,330 Windows non vai funcionar. 593 00:31:35,330 --> 00:31:37,760 Pero, basicamente, todo o que non é O Windows debe traballar con estes 594 00:31:37,760 --> 00:31:39,820 instrucións moi ben. 595 00:31:39,820 --> 00:31:41,470 Pero podo facer algo máis tamén. 596 00:31:41,470 --> 00:31:45,610 597 00:31:45,610 --> 00:31:48,820 >> Entón vai executar a primeira par de comandos. 598 00:31:48,820 --> 00:31:50,450 Eses faces só instalará Meteor. 599 00:31:50,450 --> 00:31:54,870 600 00:31:54,870 --> 00:31:58,530 Podo ir ao meu terminal. 601 00:31:58,530 --> 00:32:02,710 E se eu executar o mesmo momento, Eu xa o ten instalado. 602 00:32:02,710 --> 00:32:03,710 Polo tanto, é un pouco máis curto. 603 00:32:03,710 --> 00:32:05,155 Pode levar un pouco máis para vós. 604 00:32:05,155 --> 00:32:08,160 605 00:32:08,160 --> 00:32:13,530 Pero quero primeiro comproba se que temos Meteor execución. 606 00:32:13,530 --> 00:32:16,780 Tras Meteor ten instalado, ten que poder obter nó na consola. 607 00:32:16,780 --> 00:32:19,430 >> Audiencia: Eles están pedindo un contrasinal. 608 00:32:19,430 --> 00:32:22,110 >> ROGER ZURAWICKI: Isto sería o seu contrasinal de usuario, se está en un Mac 609 00:32:22,110 --> 00:32:27,030 El só precisa de permiso para modificar algúns arquivos de sistema. 610 00:32:27,030 --> 00:32:30,690 Polo tanto, a pregunta era, se che preguntar un contrasinal, só é pedirlle 611 00:32:30,690 --> 00:32:33,510 ao seu nome de usuario contrasinal cando entrar no seu Mac 612 00:32:33,510 --> 00:32:35,770 E iso é para que poida cambiar ficheiros do sistema. 613 00:32:35,770 --> 00:32:46,670 614 00:32:46,670 --> 00:32:51,260 >> E cando estea listo, pode seguir adiante ao paso seguinte, que pode copiar o 615 00:32:51,260 --> 00:32:54,220 código de exemplo que teño desde o sitio web. 616 00:32:54,220 --> 00:32:58,330 E vai ter un novo directorio no seu directorio chamado leaderboard, e 617 00:32:58,330 --> 00:32:59,670 podemos comezar a traballar a partir de aí. 618 00:32:59,670 --> 00:33:09,680 619 00:33:09,680 --> 00:33:14,620 Entón, eu estou só copiando e pegando estes comandos para o meu terminal. 620 00:33:14,620 --> 00:33:16,780 E para min, eu xa clonado el. 621 00:33:16,780 --> 00:33:21,470 Entón eu só podo agora pasar en leaderboard. 622 00:33:21,470 --> 00:33:23,450 E eu debería ter un pouco arquivos alí. 623 00:33:23,450 --> 00:33:29,880 624 00:33:29,880 --> 00:33:31,113 Algunha pregunta? 625 00:33:31,113 --> 00:33:34,430 >> Audiencia: [inaudível] non funciona. 626 00:33:34,430 --> 00:33:36,741 >> ROGER ZURAWICKI: Oh, pode Debe git instalado tamén. 627 00:33:36,741 --> 00:33:39,150 >> Audiencia: [inaudível]. 628 00:33:39,150 --> 00:33:40,162 >> ROGER ZURAWICKI: Sentímolo? 629 00:33:40,162 --> 00:33:41,412 >> Audiencia: [inaudível]. 630 00:33:41,412 --> 00:33:44,500 631 00:33:44,500 --> 00:33:47,390 >> ROGER ZURAWICKI: Oh, Aceptar. 632 00:33:47,390 --> 00:33:47,720 Aceptar. 633 00:33:47,720 --> 00:33:52,860 Porque pode ter ser conectado para GitHub para esta ligazón. 634 00:33:52,860 --> 00:33:58,160 Se vostedes poden ver que, o máis fácil xeito de facelo Eu, entón, dicir que é 635 00:33:58,160 --> 00:33:59,270 baixar o zip. 636 00:33:59,270 --> 00:34:02,010 E iso só vai baixar todos os ficheiros. 637 00:34:02,010 --> 00:34:05,510 E, a continuación, xa que poñelas no seu baixar ou seu directorio home - 638 00:34:05,510 --> 00:34:07,360 Recomendo poñelas na súa directorio persoal para que todos poidamos 639 00:34:07,360 --> 00:34:09,210 realizar os mesmos comandos. 640 00:34:09,210 --> 00:34:15,230 Mentres temos os arquivos, imos ser capaz de comezar a traballar con eles. 641 00:34:15,230 --> 00:34:17,969 Deixe-me saber se a xente está a ter problemas para baixar os arquivos. 642 00:34:17,969 --> 00:34:21,040 >> Audiencia: Por directorio home, quere dicir - 643 00:34:21,040 --> 00:34:24,989 >> ROGER ZURAWICKI: Entón directorio home sería ser John Harvard, se está en 644 00:34:24,989 --> 00:34:27,460 o aparello CS50. 645 00:34:27,460 --> 00:34:33,651 Para chegar ao seu directorio home, escriba C. 646 00:34:33,651 --> 00:34:34,145 >> Audiencia: [inaudível] 647 00:34:34,145 --> 00:34:37,610 CS50 aparello [inaudível]. 648 00:34:37,610 --> 00:34:38,650 >> ROGER ZURAWICKI: si. 649 00:34:38,650 --> 00:34:40,480 Quere executar os comandos no seu terminal. 650 00:34:40,480 --> 00:34:44,899 651 00:34:44,899 --> 00:34:45,390 >> Audiencia: [inaudível]. 652 00:34:45,390 --> 00:34:50,800 Eu teño un erro que di que non Arquivo ou directorio. 653 00:34:50,800 --> 00:34:52,739 >> ROGER ZURAWICKI: Podemos dar unha rápida romper e só asegúrese de que 654 00:34:52,739 --> 00:34:56,760 todo o mundo ten Meteor instalado, e eu vou só tes que ir tentar axudar a xente. 655 00:34:56,760 --> 00:34:59,130 Ténteo axudarnos uns a outros se está executando en problemas. 656 00:34:59,130 --> 00:35:04,640 657 00:35:04,640 --> 00:35:05,580 Sentímolo, si. 658 00:35:05,580 --> 00:35:08,930 Está no dispositivo? 659 00:35:08,930 --> 00:35:09,350 >> Audiencia: Yeah. 660 00:35:09,350 --> 00:35:13,190 Teño a Risa 661 00:35:13,190 --> 00:35:14,300 >> ROGER ZURAWICKI: Aceptar. 662 00:35:14,300 --> 00:35:20,740 Se volver ao web, vaia rolar ata o cumio. 663 00:35:20,740 --> 00:35:23,580 E hai esa HTTPS. 664 00:35:23,580 --> 00:35:25,810 >> Audiencia: Copia e pega este? 665 00:35:25,810 --> 00:35:26,230 >> ROGER ZURAWICKI: Yeah. 666 00:35:26,230 --> 00:35:28,950 E entón quere escribir git clone. 667 00:35:28,950 --> 00:35:30,814 Entón, se o premer control A - 668 00:35:30,814 --> 00:35:33,718 >> Audiencia: Aquí? 669 00:35:33,718 --> 00:35:36,410 E facer o [inaudível]? 670 00:35:36,410 --> 00:35:37,307 >> ROGER ZURAWICKI: G-I-T. 671 00:35:37,307 --> 00:35:38,557 >> Audiencia: [inaudível]. 672 00:35:38,557 --> 00:35:40,410 673 00:35:40,410 --> 00:35:42,670 >> ROGER ZURAWICKI: Git e despois clonar. 674 00:35:42,670 --> 00:35:46,610 Polo tanto, é moi semellante ao mando que tiña enriba, pero a URL modificado. 675 00:35:46,610 --> 00:35:49,010 Entón, antes de que fose iso, agora é este. 676 00:35:49,010 --> 00:35:50,680 Déixeme actualizar o - 677 00:35:50,680 --> 00:35:51,354 si. 678 00:35:51,354 --> 00:35:52,604 >> Audiencia: [inaudível]. 679 00:35:52,604 --> 00:35:56,000 680 00:35:56,000 --> 00:35:58,076 >> ROGER ZURAWICKI: Este é descargado. 681 00:35:58,076 --> 00:35:59,326 >> Audiencia: [inaudível]. 682 00:35:59,326 --> 00:36:02,930 683 00:36:02,930 --> 00:36:05,690 >> ROGER ZURAWICKI: Ah, el non clonar correctamente. 684 00:36:05,690 --> 00:36:07,920 Vou corrixir isto. 685 00:36:07,920 --> 00:36:10,190 Hai un erro coa tentativa para baixar os arquivos. 686 00:36:10,190 --> 00:36:13,820 Déixeme actualizar a orde para vós para que eu poida estar seguro de que vai funcionar. 687 00:36:13,820 --> 00:36:17,025 Eu sinto moito por iso. 688 00:36:17,025 --> 00:36:21,618 Debe ser o mesmo para Macs ou aparello CS50. 689 00:36:21,618 --> 00:36:22,868 >> Audiencia: [inaudível]. 690 00:36:22,868 --> 00:36:49,320 691 00:36:49,320 --> 00:36:51,190 >> ROGER ZURAWICKI: Eu teño actualizado o orde ao número dous, se 692 00:36:51,190 --> 00:36:52,910 actualizar a páxina. 693 00:36:52,910 --> 00:36:56,520 E con iso, URL, ten que estar capaz de facer a descarga dos arquivos. 694 00:36:56,520 --> 00:37:00,162 695 00:37:00,162 --> 00:37:02,550 >> Audiencia: Entón, se aínda estamos descargar [inaudível]. 696 00:37:02,550 --> 00:37:05,930 >> ROGER ZURAWICKI: Se é aínda baixando Meteor? 697 00:37:05,930 --> 00:37:07,180 >> Audiencia: [inaudível]. 698 00:37:07,180 --> 00:37:09,860 699 00:37:09,860 --> 00:37:11,910 >> ROGER ZURAWICKI: Si, se quere para desenvolver no seu Mac 700 00:37:11,910 --> 00:37:14,145 Pero ten que o creador Xcode ferramentas instaladas. 701 00:37:14,145 --> 00:37:21,530 702 00:37:21,530 --> 00:37:24,550 Eu proba estes comandos no CS50 aparello, para que eu poida garantir 703 00:37:24,550 --> 00:37:25,440 que vai traballar. 704 00:37:25,440 --> 00:37:26,710 Si Déixame ir axudar. 705 00:37:26,710 --> 00:37:30,558 706 00:37:30,558 --> 00:37:31,808 >> Audiencia: [inaudível]. 707 00:37:31,808 --> 00:37:39,440 708 00:37:39,440 --> 00:37:40,372 Eu dou a miña contrasinal. 709 00:37:40,372 --> 00:37:42,240 Este é o Mac 710 00:37:42,240 --> 00:37:43,490 E entón eu fago [inaudível]. 711 00:37:43,490 --> 00:37:51,114 712 00:37:51,114 --> 00:37:52,580 >> ROGER ZURAWICKI: Aceptar. 713 00:37:52,580 --> 00:37:57,080 Quere probar a execución de todos os comandos únicamente no terminal aparello CS50. 714 00:37:57,080 --> 00:37:58,330 >> Audiencia: [inaudível]. 715 00:37:58,330 --> 00:38:00,220 716 00:38:00,220 --> 00:38:02,570 >> ROGER ZURAWICKI: Gustaríame facelo funcionar en primeiro lugar o terminal, en 717 00:38:02,570 --> 00:38:04,830 Aparello CS50, e entón a terminal de Mac 718 00:38:04,830 --> 00:38:08,130 >> Audiencia: Entón, se o fas no CS50 Appliance así, [inaudível]. 719 00:38:08,130 --> 00:38:13,650 720 00:38:13,650 --> 00:38:15,850 >> ROGER ZURAWICKI: Gustaríame mover , Pero se a xente aínda están tendo 721 00:38:15,850 --> 00:38:20,190 problemas para configurar Meteor, Kevin é máis que feliz en axudar vostedes para fóra, 722 00:38:20,190 --> 00:38:21,440 Kevin coa camisa gris. 723 00:38:21,440 --> 00:38:26,320 724 00:38:26,320 --> 00:38:32,170 O que temos que ter é que imos realizar o último comando, número tres, en 725 00:38:32,170 --> 00:38:33,710 noso terminal. 726 00:38:33,710 --> 00:38:37,320 Cando facemos iso, imos correr Meteor. 727 00:38:37,320 --> 00:38:39,040 >> E ten que - 728 00:38:39,040 --> 00:38:41,200 Oh, eu xa teño Meteor execución. 729 00:38:41,200 --> 00:38:45,230 Por iso, non vai deixar - déixeme basta pechar o meu outro Meteor. 730 00:38:45,230 --> 00:38:49,640 Cando executo o Meteor, vostede que ver agora que - 731 00:38:49,640 --> 00:38:51,490 ten que ver o directorio actual que está servindo. 732 00:38:51,490 --> 00:38:55,476 E agora vai dicir que o servidor está a ser executado en http://localhost. 733 00:38:55,476 --> 00:38:58,860 Esta é a URL que quere poñer en no seu navegador web. 734 00:38:58,860 --> 00:39:05,410 >> E nesa dirección, ten que ser capaz de acceder a un pouco agradable leaderboard. 735 00:39:05,410 --> 00:39:10,030 736 00:39:10,030 --> 00:39:14,530 Entón, teña en conta que este é en localhost, o que significa que se fai calquera 737 00:39:14,530 --> 00:39:17,320 cambios, non vai ver os cambios de cada un. 738 00:39:17,320 --> 00:39:20,830 Considerando que, co sitio web que che mostre en principio, poderiamos obter 739 00:39:20,830 --> 00:39:23,380 cambios de todo o mundo, porque todo o mundo estaba acceder ao mesmo sitio. 740 00:39:23,380 --> 00:39:27,010 741 00:39:27,010 --> 00:39:29,540 >> Entón deixe-me ir ao [? palabra?] 742 00:39:29,540 --> 00:39:35,570 3000. 743 00:39:35,570 --> 00:39:38,820 Polo tanto, ten que ser capaz de só confirmar que a función funciona. 744 00:39:38,820 --> 00:39:44,790 Pode seleccionar diferentes persoas, e podes darlles diferentes puntos. 745 00:39:44,790 --> 00:39:46,710 Entón eu dou puntos alguén. 746 00:39:46,710 --> 00:39:50,420 Tamén podes ver que eles soben na clasificación. 747 00:39:50,420 --> 00:39:53,450 748 00:39:53,450 --> 00:39:57,360 >> Agora, en interese da época, non son tres características que eu teño 749 00:39:57,360 --> 00:39:58,020 aplicado. 750 00:39:58,020 --> 00:40:03,760 E nós estamos indo a aplicar exclusión usuarios como o noso primeiro longa. 751 00:40:03,760 --> 00:40:06,360 Pero antes de seguir adiante, son Algunha pregunta? 752 00:40:06,360 --> 00:40:09,010 Vostede tivo a súa man cara arriba. 753 00:40:09,010 --> 00:40:10,480 Si? 754 00:40:10,480 --> 00:40:11,730 >> Audiencia: [inaudível]. 755 00:40:11,730 --> 00:40:20,980 756 00:40:20,980 --> 00:40:22,450 >> ROGER ZURAWICKI: É posíbel verificar Meteor que está instalado? 757 00:40:22,450 --> 00:40:25,160 758 00:40:25,160 --> 00:40:26,410 >> Audiencia: [inaudível]. 759 00:40:26,410 --> 00:40:31,440 760 00:40:31,440 --> 00:40:32,680 >> ROGER ZURAWICKI: servidor local 3.000? 761 00:40:32,680 --> 00:40:36,550 E está no aparello CS50? 762 00:40:36,550 --> 00:40:37,800 Podo facer - 763 00:40:37,800 --> 00:40:39,870 764 00:40:39,870 --> 00:40:41,210 Non ten que estar en un Mac 765 00:40:41,210 --> 00:40:43,558 Isto funcionará no aparello. 766 00:40:43,558 --> 00:40:45,880 >> Audiencia: [inaudível]. 767 00:40:45,880 --> 00:40:47,520 >> ROGER ZURAWICKI: No normais navegador, si. 768 00:40:47,520 --> 00:40:49,170 >> Audiencia: [inaudível]. 769 00:40:49,170 --> 00:40:52,100 >> ROGER ZURAWICKI: É Meteor carreira? 770 00:40:52,100 --> 00:40:54,180 Entón, OK, hai unha distinción aquí. 771 00:40:54,180 --> 00:40:56,300 Se está executando o no aparello, ten que facer 772 00:40:56,300 --> 00:40:58,400 servidor local dentro do aparello. 773 00:40:58,400 --> 00:41:00,860 Se está executando-o no seu Mac, como eu son, entón eu podo facer 774 00:41:00,860 --> 00:41:02,460 meu Mac de Google Chrome. 775 00:41:02,460 --> 00:41:05,520 Pero se está a usar o aparello CS50, ten que facer todo 776 00:41:05,520 --> 00:41:06,350 no aparello. 777 00:41:06,350 --> 00:41:09,022 Entón tes que usar Google Chrome no aparello. 778 00:41:09,022 --> 00:41:10,350 >> Audiencia: [inaudível]. 779 00:41:10,350 --> 00:41:12,188 >> ROGER ZURAWICKI: É aínda non funciona? 780 00:41:12,188 --> 00:41:13,438 >> Audiencia: [inaudível]. 781 00:41:13,438 --> 00:41:39,170 782 00:41:39,170 --> 00:41:42,390 >> ROGER ZURAWICKI: Entón, só para repetir, como é que acceder ao sitio agora. 783 00:41:42,390 --> 00:41:46,380 Ten un URL aquí na localhost 3000. 784 00:41:46,380 --> 00:41:49,600 Se estás no aparello CS50, ten que abrir CS50 785 00:41:49,600 --> 00:41:51,320 Google Chrome do aparato. 786 00:41:51,320 --> 00:41:54,850 E en que o Google Chrome dentro do aparello, podes escribir a URL, 787 00:41:54,850 --> 00:41:56,400 e ten que ver unha leaderboard. 788 00:41:56,400 --> 00:41:58,990 789 00:41:58,990 --> 00:42:04,800 Entón eu vou só poñer-lo fóra ao lado aquí un pouco. 790 00:42:04,800 --> 00:42:09,600 E agora eu vou abrir o meu editor de texto aquí. 791 00:42:09,600 --> 00:42:16,040 Entón deixe-me ter seguro de que o código está en orde. 792 00:42:16,040 --> 00:42:17,580 Aceptar. 793 00:42:17,580 --> 00:42:19,750 Grande. 794 00:42:19,750 --> 00:42:22,360 >> Gustaríame andar agora a través o código un pouco. 795 00:42:22,360 --> 00:42:26,110 E o primeiro ficheiro que me gustaría comezar con é leaderboard.html. 796 00:42:26,110 --> 00:42:31,520 Vai ser capaz de obter este código despois o seminario, entón eu só quero te amosar 797 00:42:31,520 --> 00:42:33,960 vostede no meu ordenador o que está pasando. 798 00:42:33,960 --> 00:42:39,130 799 00:42:39,130 --> 00:42:40,970 Así que espero que todo o mundo pode ver iso. 800 00:42:40,970 --> 00:42:47,970 801 00:42:47,970 --> 00:42:51,590 Así, ao comezo do ficheiro, nós temos a nosa cabeza eo título, que 802 00:42:51,590 --> 00:42:54,510 é semellante ao que vimos en todos os documentos HTML. 803 00:42:54,510 --> 00:42:56,990 E entón nós imos ter etiqueta corpo aquí. 804 00:42:56,990 --> 00:42:59,920 >> O que eu seleccionei é a principal corpo, basicamente, o que se 805 00:42:59,920 --> 00:43:01,470 será amosado. 806 00:43:01,470 --> 00:43:05,560 Pero hai algúns novos non HTML cousas, e que está no 807 00:43:05,560 --> 00:43:06,710 corchetes dobres. 808 00:43:06,710 --> 00:43:08,600 E estes son as etiquetas de plantilla. 809 00:43:08,600 --> 00:43:13,770 Entón vai ver aquí nesta franxa leaderboard novo soporte. 810 00:43:13,770 --> 00:43:17,390 E iso é unha especie de - pense nisto como chamar a unha función para HTML. 811 00:43:17,390 --> 00:43:19,320 >> Esta é unha versión especial do HTML. 812 00:43:19,320 --> 00:43:22,730 É a versión que utiliza Meteor, que É por iso que pode amosar diferentes 813 00:43:22,730 --> 00:43:26,190 cousas, tales como a táboa de clasificación nomes e botóns. 814 00:43:26,190 --> 00:43:30,870 Pero leaderboard dille para ir ao modelo co nome de leaderboard. 815 00:43:30,870 --> 00:43:34,746 Así modelo non aparecen por en si, pero é unha función, polo que 816 00:43:34,746 --> 00:43:35,390 chamarase. 817 00:43:35,390 --> 00:43:41,030 E vai substituír en todo isto código aquí no ránking. 818 00:43:41,030 --> 00:43:44,510 819 00:43:44,510 --> 00:43:48,820 >> A parte interesante do leaderboard aquí é só esta táboa. 820 00:43:48,820 --> 00:43:52,910 Se só le-lo, le este código en voz alta, debe ser intuitivo 821 00:43:52,910 --> 00:43:57,390 porque leaderboard, todos nós temos aquí é unha mesa. 822 00:43:57,390 --> 00:44:00,410 Esta clase cousas ID non se preocupe. 823 00:44:00,410 --> 00:44:02,460 Só sei que hai unha cabeceira da táboa. 824 00:44:02,460 --> 00:44:03,630 É este thead. 825 00:44:03,630 --> 00:44:06,860 >> E el atopa un nome e unha puntuación. 826 00:44:06,860 --> 00:44:12,150 Todas estas marcas, como thtable, thead, só vai aprender como vai xunto. 827 00:44:12,150 --> 00:44:15,540 Non é importante que lembra estes porque pode simplemente acceder a calquera 828 00:44:15,540 --> 00:44:16,520 referencia en liña. 829 00:44:16,520 --> 00:44:20,610 Ou ata o final do semestre, estes só vai estar moi familiarizado con vostede. 830 00:44:20,610 --> 00:44:22,840 >> Despois a cabeceira da táboa, o parte que quero chamar a súa 831 00:44:22,840 --> 00:44:24,900 atención é esta etiqueta h. 832 00:44:24,900 --> 00:44:27,180 Por entre corchetes dobres, é un modelo. 833 00:44:27,180 --> 00:44:30,980 Entón iso significa que para cada un dos xogadores, todo o que os xogadores é, temos que 834 00:44:30,980 --> 00:44:31,500 amosar-lo. 835 00:44:31,500 --> 00:44:32,965 E imos para o modelo de xogador. 836 00:44:32,965 --> 00:44:35,680 837 00:44:35,680 --> 00:44:39,890 >> Se rolar un pouco máis - 838 00:44:39,890 --> 00:44:40,980 Espero que todos poidan ver. 839 00:44:40,980 --> 00:44:42,900 Temos o modelo de xogador. 840 00:44:42,900 --> 00:44:49,080 E este modelo define basicamente un cela da táboa, onde poñer o nome 841 00:44:49,080 --> 00:44:50,330 aquí ea puntuación. 842 00:44:50,330 --> 00:44:52,540 843 00:44:52,540 --> 00:44:56,720 Zoom para fóra agora, podemos ver que este anaco de código - 844 00:44:56,720 --> 00:44:59,060 e que foi o noso xogador caído alí - 845 00:44:59,060 --> 00:45:01,070 define unha destas células. 846 00:45:01,070 --> 00:45:02,890 Cada cousa que eu premo convértese en amarelo. 847 00:45:02,890 --> 00:45:06,690 848 00:45:06,690 --> 00:45:08,660 >> Un xeito sinxelo que eu podería cambiar isto agora. 849 00:45:08,660 --> 00:45:10,150 Asegúrese de Meteor aínda está en execución. 850 00:45:10,150 --> 00:45:12,540 Meteor debe ser un proceso servidor, así que só deixar 851 00:45:12,540 --> 00:45:14,020 execución cando desenvolveu. 852 00:45:14,020 --> 00:45:18,280 Digamos que eu quería cambiar todos os nomes ou a puntuación. 853 00:45:18,280 --> 00:45:23,320 E eu diría que eu vou para engadir aquí. 854 00:45:23,320 --> 00:45:27,215 Así, o cambio que fixen aquí foi, no canto de só puntuación, eu 855 00:45:27,215 --> 00:45:30,280 engadir puntos de espazo de puntuación. 856 00:45:30,280 --> 00:45:32,775 >> Vou reducir o zoom, e estou vai gardar o meu arquivo. 857 00:45:32,775 --> 00:45:35,510 858 00:45:35,510 --> 00:45:39,830 E despois que eu gardar o meu arquivo, eu teño para asegurarse de Meteor está a ser executado. 859 00:45:39,830 --> 00:45:55,650 860 00:45:55,650 --> 00:45:57,610 Sentímolo por iso. 861 00:45:57,610 --> 00:46:00,330 Quero amosar-lle as edicións Foron feitos en tempo real. 862 00:46:00,330 --> 00:46:06,180 Entón eu vou cambiar algún texto. 863 00:46:06,180 --> 00:46:07,600 Prema nun xogador. 864 00:46:07,600 --> 00:46:10,040 Estou poñendo o en todo tapóns. 865 00:46:10,040 --> 00:46:14,540 E iso debe ser que, se isto funciona correctamente, cando garda-lo, el 866 00:46:14,540 --> 00:46:16,801 vai actualizar. 867 00:46:16,801 --> 00:46:20,420 >> Ah, eu creo que agora o problema é Eu non estou no directorio correcto. 868 00:46:20,420 --> 00:46:24,940 869 00:46:24,940 --> 00:46:26,870 Aceptar. 870 00:46:26,870 --> 00:46:28,160 Eu sinto moito por iso. 871 00:46:28,160 --> 00:46:32,860 Entón, aquí, o que sinala é miña cambio pasou. 872 00:46:32,860 --> 00:46:34,540 Agora dicir que quero desfacer o cambio. 873 00:46:34,540 --> 00:46:36,200 Quero volver para o que eu tiña. 874 00:46:36,200 --> 00:46:37,640 Eu só vou gravala-lo normalmente. 875 00:46:37,640 --> 00:46:39,180 Prema nun xogador. 876 00:46:39,180 --> 00:46:42,920 >> No momento en que eu garda-lo, o lugar refresca para min. 877 00:46:42,920 --> 00:46:44,740 E eu vexo a miña cambio en o lugar inmediatamente. 878 00:46:44,740 --> 00:46:48,170 Este é un recurso moi útil na depuración, porque agora 879 00:46:48,170 --> 00:46:49,640 Eu non teño que - 880 00:46:49,640 --> 00:46:52,920 cando escribir código C, non só nós ten que gardar o arquivo, pero tivemos que 881 00:46:52,920 --> 00:46:54,750 facelo e, a continuación, executa-lo de novo. 882 00:46:54,750 --> 00:46:58,750 Meteor é moi bo, porque a diferenza C, o momento en que gardar o HTML ou 883 00:46:58,750 --> 00:47:01,070 Arquivo JavaScript, o cambio mostra-se inmediatamente. 884 00:47:01,070 --> 00:47:05,050 885 00:47:05,050 --> 00:47:09,140 >> Unha pregunta é, nestes modelos, como podo obter os valores como xogadores 886 00:47:09,140 --> 00:47:11,520 ou seleccione un nome? 887 00:47:11,520 --> 00:47:17,130 Se eu aumentar o zoom aquí no meu código, Eu vexo iso a cada xogador. 888 00:47:17,130 --> 00:47:19,970 Así, o modelo sabe que Teño xogadores de algunha maneira. 889 00:47:19,970 --> 00:47:22,110 E el sabe que non hai un nome seleccionado. 890 00:47:22,110 --> 00:47:23,220 Onde é que isto veu? 891 00:47:23,220 --> 00:47:25,180 Isto vén do JavaScript. 892 00:47:25,180 --> 00:47:30,980 >> E se vai a leaderboard.js, este arquivo, agora cando vou aquí, temos un 893 00:47:30,980 --> 00:47:33,460 algúns comandos definido. 894 00:47:33,460 --> 00:47:36,400 Esta é a sintaxe especial Meteor. 895 00:47:36,400 --> 00:47:38,600 Teña en conta que non é preciso vars ou calquera cousa. 896 00:47:38,600 --> 00:47:42,990 Pero estes son só instrúe sobre estruturas sobre estruturas ou eses obxectos. 897 00:47:42,990 --> 00:47:45,910 E todo o que eu estou definindo é o modelo chamado leaderboard. 898 00:47:45,910 --> 00:47:47,900 >> Leaderboard que obter un cousa chamada xogadores. 899 00:47:47,900 --> 00:47:48,840 E o que é os xogadores? 900 00:47:48,840 --> 00:47:51,860 É todo o que esta expresión retorna. 901 00:47:51,860 --> 00:47:53,020 E cal é o nome escollido? 902 00:47:53,020 --> 00:47:54,630 É un pouco máis de código. 903 00:47:54,630 --> 00:47:56,810 Os detalles do código que vai cubrir un pouco máis tarde. 904 00:47:56,810 --> 00:48:02,210 Pero agora quero que entenda que neste código, estamos tomando 905 00:48:02,210 --> 00:48:04,350 xogadores, e nós estamos dándolle un valor. 906 00:48:04,350 --> 00:48:07,000 Neste caso, é unha función que se executa. 907 00:48:07,000 --> 00:48:10,290 Así, podemos obter o valor de volta cando executar a función. 908 00:48:10,290 --> 00:48:12,830 909 00:48:12,830 --> 00:48:13,520 Este é un rexistro. 910 00:48:13,520 --> 00:48:14,770 Será que isto ten sentido? 911 00:48:14,770 --> 00:48:23,170 912 00:48:23,170 --> 00:48:25,010 >> Podo cambiar o xeito no que el é clasificado. 913 00:48:25,010 --> 00:48:27,230 Aquí, hai un obxecto tipo. 914 00:48:27,230 --> 00:48:31,660 E o que iso di é que eu vou para clasificar polo escore descendente en primeiro lugar e 915 00:48:31,660 --> 00:48:33,170 nomee ascendente. 916 00:48:33,170 --> 00:48:36,630 Se eu cambiar isto para un, que vai para ordenar ascendente puntuación. 917 00:48:36,630 --> 00:48:39,120 Entón cero debe estar na parte superior. 918 00:48:39,120 --> 00:48:43,370 E cando eu zoom no meu sitio, agora ver que o sitio actualizado. 919 00:48:43,370 --> 00:48:44,923 E a puntuación é subir. 920 00:48:44,923 --> 00:48:49,010 921 00:48:49,010 --> 00:48:53,980 >> A seguinte función eu só quero para cubrir é de incremento clic. 922 00:48:53,980 --> 00:48:57,910 Fóra do interese de tempo, non vou ser capaz de cubrir máis do Meteor 923 00:48:57,910 --> 00:49:00,690 código, pero hai unha abundancia de recursos dispoñible, e eu serei o 924 00:49:00,690 --> 00:49:03,560 aquí despois do seminario. 925 00:49:03,560 --> 00:49:07,680 Pero eu só quero cubrir os acontecementos da táboa de clasificación. 926 00:49:07,680 --> 00:49:10,520 Esta sintaxe vai aprender pouco máis tarde na charla. 927 00:49:10,520 --> 00:49:12,870 Este é JavaScript. 928 00:49:12,870 --> 00:49:16,720 >> Estamos só dicindo que, cando temos un clic, e é sobre o incremento, este 929 00:49:16,720 --> 00:49:19,160 de hash só significa ID. 930 00:49:19,160 --> 00:49:23,945 Na etiqueta incremento ID, entón queremos actualizar - as palabras clave que quero vostede 931 00:49:23,945 --> 00:49:26,740 para asistir é actualizar e seleccionar e xogador. 932 00:49:26,740 --> 00:49:29,080 Así calquera xogador do seleccionado, nós actualiza-lo. 933 00:49:29,080 --> 00:49:31,260 E o que nós facemos é incrementar súa puntuación por cinco. 934 00:49:31,260 --> 00:49:37,700 935 00:49:37,700 --> 00:49:40,340 E que pode describir a función que temos aquí. 936 00:49:40,340 --> 00:49:50,270 937 00:49:50,270 --> 00:49:54,510 >> Despois do final deste seminario, imos poder ver algo máis de código. 938 00:49:54,510 --> 00:50:00,400 Pero volvendo ao meu obxectivo que quero cambiar o sitio web, eu quería aquí 939 00:50:00,400 --> 00:50:03,400 para engadir un botón eliminar así Podo borrar o xogador. 940 00:50:03,400 --> 00:50:05,390 Entón, para facelo, eu teño facer dúas cousas. 941 00:50:05,390 --> 00:50:09,680 Eu teño actualizar o HTML, actualizar o ver, o que se mostra ao usuario, e 942 00:50:09,680 --> 00:50:15,080 logo teñen algúns JavaScript que cando o botón é presionado, Meteor vai 943 00:50:15,080 --> 00:50:15,690 facer algo. 944 00:50:15,690 --> 00:50:18,040 Vai eliminar este xogador. 945 00:50:18,040 --> 00:50:20,720 >> Polo tanto, hai unha morea de anacos de código que ten, basicamente, xa 946 00:50:20,720 --> 00:50:22,610 foi feito para min. 947 00:50:22,610 --> 00:50:26,160 Se eu ollar aquí, eu xa teño un camiño de conseguir o xogador seleccionado. 948 00:50:26,160 --> 00:50:29,880 Isto é isto, se pode velo. 949 00:50:29,880 --> 00:50:31,346 Entón, se eu só - 950 00:50:31,346 --> 00:50:35,160 Vou ter outro evento. 951 00:50:35,160 --> 00:50:37,900 Entón, eu vou copiar o que eu teño. 952 00:50:37,900 --> 00:50:40,740 Porque esta é unha lista, Eu só teño unha coma. 953 00:50:40,740 --> 00:50:45,480 >> Entón agora eu vou facer clic en Eliminar. 954 00:50:45,480 --> 00:50:48,840 E entón, no canto de xogadores de actualización, Vou facer os xogadores eliminar. 955 00:50:48,840 --> 00:50:51,620 E todos os xogadores eliminar necesidades é un xogador seleccionado. 956 00:50:51,620 --> 00:50:56,500 Polo tanto, esta función é todo o que precisamos. 957 00:50:56,500 --> 00:51:01,550 Eu teño engadir un pouco de HTML aquí aínda. 958 00:51:01,550 --> 00:51:05,180 Entón, se eu rolar para abaixo aquí, este é o modo HTML. 959 00:51:05,180 --> 00:51:08,300 Tivemos unha cousa aquí, que foi unha unha reserva. 960 00:51:08,300 --> 00:51:09,610 Non se preocupe con iso. 961 00:51:09,610 --> 00:51:12,000 >> O importante para vostede é este incremento ID. 962 00:51:12,000 --> 00:51:14,990 E iso é o que nos permitiu dicir que, cando prememos incremento, temos que 963 00:51:14,990 --> 00:51:16,410 dar cinco puntos. 964 00:51:16,410 --> 00:51:18,240 E vai ver que este é un botón. 965 00:51:18,240 --> 00:51:20,150 Iso é o que o btn significa. 966 00:51:20,150 --> 00:51:23,190 E o texto do botón é dar cinco puntos. 967 00:51:23,190 --> 00:51:26,440 Entón o que eu vou facer é que eu son vai copiar esta liña. 968 00:51:26,440 --> 00:51:29,910 Vou cambiar o ID eliminar. 969 00:51:29,910 --> 00:51:34,310 E eu vou cambiar o texto aquí para borrar. 970 00:51:34,310 --> 00:51:35,980 >> Polo tanto, asegúrese de que todo está gardado. 971 00:51:35,980 --> 00:51:39,010 Quero volver para o meu JavaScript estar seguro de que eu teño 972 00:51:39,010 --> 00:51:40,880 eliminar aliñados aquí. 973 00:51:40,880 --> 00:51:41,780 Boa. 974 00:51:41,780 --> 00:51:43,145 Entón, eu estou indo a gardar os dous arquivos. 975 00:51:43,145 --> 00:51:46,060 976 00:51:46,060 --> 00:51:49,320 Despois de gardar os dous arquivos, nós pode volver para o fondo. 977 00:51:49,320 --> 00:51:51,550 E agora vemos que temos un botón eliminar. 978 00:51:51,550 --> 00:51:56,050 E un paso máis. 979 00:51:56,050 --> 00:51:58,200 Entender que pode ter unha erro porque cando clic 980 00:51:58,200 --> 00:52:00,610 eliminar, nada está a suceder. 981 00:52:00,610 --> 00:52:03,930 >> Un xeito de depurar iso é ir volta a Inspect Element. 982 00:52:03,930 --> 00:52:07,820 Eu estou facendo iso de propósito para que poida mira como depurar algo. 983 00:52:07,820 --> 00:52:11,210 En Inspect Element, temos todo o noso texto aquí. 984 00:52:11,210 --> 00:52:13,320 Quero volver para a consola. 985 00:52:13,320 --> 00:52:19,230 E o que pasa cando vou aquí se eu recibín algún tipo de erro. 986 00:52:19,230 --> 00:52:21,660 Di que non hai ningún método de eliminar. 987 00:52:21,660 --> 00:52:30,770 >> Entón, o que isto quere dicir é cando vou ao seu código, chamei para xogador 988 00:52:30,770 --> 00:52:31,870 eliminar aquí. 989 00:52:31,870 --> 00:52:34,430 Borrar non é realmente o comando correcto. 990 00:52:34,430 --> 00:52:39,740 Entón, para descubrir o que a orde seguro é, hai a API Meteor. 991 00:52:39,740 --> 00:52:42,680 A documentación que quero que apunte caras é só para a meteor.com. 992 00:52:42,680 --> 00:52:45,190 Entón, eu teño-o aquí. 993 00:52:45,190 --> 00:52:48,510 994 00:52:48,510 --> 00:52:51,370 Isto é só para que vostedes saben onde aprender máis. 995 00:52:51,370 --> 00:52:54,420 >> Hai unha ligazón á documentación. 996 00:52:54,420 --> 00:52:59,410 E basicamente podo só atoparse a exclusión. 997 00:52:59,410 --> 00:53:03,220 E o que ve, borrar é realmente eliminar. 998 00:53:03,220 --> 00:53:05,400 Ese é o comando que Necesito chamar. 999 00:53:05,400 --> 00:53:09,620 Polo tanto, agora que sabemos que, eu vou para cambiar esta borrar os eliminar. 1000 00:53:09,620 --> 00:53:13,060 1001 00:53:13,060 --> 00:53:18,010 Entón, agora, cando eu voltar a miña leaderboard sitio web, eu vou facer clic 1002 00:53:18,010 --> 00:53:19,450 eliminar, e agora eu vou. 1003 00:53:19,450 --> 00:53:21,290 Non hai máis a Roger. 1004 00:53:21,290 --> 00:53:25,470 E podo seguir borrando cada nome único, ata que eu non teño nada. 1005 00:53:25,470 --> 00:53:33,600 1006 00:53:33,600 --> 00:53:36,060 >> Así, foi un pequeno preview de como usar Meteor. 1007 00:53:36,060 --> 00:53:38,990 1008 00:53:38,990 --> 00:53:42,380 Vai aprender moito máis JavaScript e HTML necesario facer 1009 00:53:42,380 --> 00:53:46,970 La máis fermosa, o que nós imos cubrir en esta semana [? peza?] establecido para HTML 1010 00:53:46,970 --> 00:53:49,630 e JavaScript no próximo [? peza?] definido. 1011 00:53:49,630 --> 00:53:53,150 >> Entón, non sexa preocupado se non todos este material vén doado para ti. 1012 00:53:53,150 --> 00:53:56,410 Vai ata o momento da o proxecto final. 1013 00:53:56,410 --> 00:53:58,030 Grazas por aparecer. 1014 00:53:58,030 --> 00:54:01,380 A ligazón vou actualizar logo o seminario para que poida ver un pouco máis 1015 00:54:01,380 --> 00:54:05,630 exemplos que eu xa aplicadas en como para obter o leaderboard máis avanzado 1016 00:54:05,630 --> 00:54:08,640 que eu teño neste sitio un radical-leaderboard.meteor. 1017 00:54:08,640 --> 00:54:19,550 1018 00:54:19,550 --> 00:54:21,260 Grazas. 1019 00:54:21,260 --> 00:54:22,760 >> [Aplausos] 1020 00:54:22,760 --> 00:56:58,070